1
0

__shdBulbSunlightWithNormalMap.fsh 759 B

123456789101112131415161718192021222324
  1. varying vec2 v_vTexcoord;
  2. varying vec4 v_vColour;
  3. varying vec2 v_vPosition;
  4. uniform sampler2D u_sNormalMap;
  5. uniform vec4 u_vInfo;
  6. uniform vec4 u_vCamera;
  7. uniform float u_fSpecularIntensity;
  8. void main()
  9. {
  10. #ifdef _YY_HLSL11_
  11. vec2 objectPos = v_vPosition*vec2(1.0, -1.0);
  12. #else
  13. vec2 objectPos = v_vPosition;
  14. #endif
  15. vec3 lightPos = vec3((u_vInfo.xy - u_vCamera.xy) / u_vCamera.zw, u_vInfo.z);
  16. vec4 normalSpecular = texture2D(u_sNormalMap, 0.5 + 0.5*objectPos);
  17. gl_FragColor = v_vColour*texture2D(gm_BaseTexture, v_vTexcoord);
  18. gl_FragColor.rgb *= u_vInfo.w*((u_fSpecularIntensity*(1.0 - normalSpecular.w) + 1.0)*max(0.0, dot(vec3(-u_vInfo.xy, u_vInfo.z), 2.0*normalSpecular.xyz - 1.0)));
  19. }