Shader Error 0 - VALIDATE_STATUS false

When I’m loading this model from SketchFab: FREE 1975 Porsche 911 (930) Turbo - Download Free 3D model by Karol Miklas (@karolmiklas) [8568d9d] - Sketchfab , I got the following shader error in my app, and the same error can be reproduced in three.js editor . However, it seems to be a regression because when my app was using an older version of Three.js, it was working.

Can anyone give me some hints about how to debug the issue? Although the issue could be an issue from the model, I would like my app to fail gracefully and hopefully it will show a fallback material.

Program Info Log: Fragment shader is not compiled.


FRAGMENT

ERROR: 0:1384: 'vNormalMapUv' : undeclared identifier
ERROR: 0:1384: 'getTangentFrame' : no matching overloaded function found
ERROR: 0:1384: '=' : dimension mismatch
ERROR: 0:1384: '=' : cannot convert from 'const mediump float' to 'highp 3X3 matrix of float'


  1379: #endif
  1380: #if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )
  1381: 	#ifdef USE_TANGENT
  1382: 		mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );
  1383: 	#else
> 1384: 		mat3 tbn = getTangentFrame( - vViewPosition, normal, vNormalMapUv );
  1385: 	#endif
  1386: 	#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )
  1387: 		tbn[0] *= faceDirection;
  1388: 		tbn[1] *= faceDirection;
  1389: 	#endif
  1390: #endif
1 Like

I can reproduce the issue, even with dev.

Would you mind reporting this issue at GitHub? This is indeed a regression:

I think it’s the same as this MeshTransmissionMaterial: more realistic glas/epoxy/gelatin - #14 by forerunrun anisotropy, a property reserve

This is a regression in r153 when anisotropy support was added to MeshPhysicalMaterial.

@yusakuno1 No need to report the issue, I’ve already commented at the respective PR:

2 Likes