fs_callback.sc 485 B

1234567891011121314151617
  1. $input v_world, v_color0
  2. /*
  3. * Copyright 2011-2025 Branimir Karadzic. All rights reserved.
  4. * License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE
  5. */
  6. #include "../common/common.sh"
  7. void main()
  8. {
  9. vec3 normal = normalize(cross(dFdx(v_world), dFdy(v_world) ) );
  10. vec3 lightDir = vec3(0.0, 0.0, 1.0);
  11. float ndotl = max(dot(normal, lightDir), 0.0);
  12. float spec = pow(ndotl, 30.0);
  13. gl_FragColor = pow(pow(v_color0, vec4_splat(2.2) ) * ndotl + spec, vec4_splat(1.0/2.2) );
  14. }