BuildingFragment.glsl 745 B

123456789101112131415161718192021222324252627282930313233
  1. // https://gamedevelopment.tutsplus.com/tutorials/a-beginners-guide-to-coding-graphics-shaders--cms-23313
  2. uniform vec3 topColor;
  3. uniform vec3 groundColor;
  4. uniform vec3 bottomColor;
  5. varying vec3 vWorldPosition;
  6. void main() {
  7. float h = vWorldPosition.y;
  8. if(h > 0.0)
  9. {
  10. gl_FragColor = vec4(topColor,1.0);
  11. }
  12. else
  13. {
  14. // gl_FragColor = vec4(bottomColor,1.0);
  15. // h = h * -1.0;
  16. // float hh = abs(normalize( vWorldPosition ).y);
  17. gl_FragColor = vec4(
  18. mix(
  19. groundColor,
  20. bottomColor,
  21. min(abs(h)/100.0,1.0)
  22. // min(h/150.0 , 2.0)
  23. // max(
  24. // pow(
  25. // max( hh , 0.0),
  26. // exponent
  27. // ),
  28. // 0.0
  29. // )
  30. ), 1.0
  31. );
  32. }
  33. }