cubemap.fs 601 B

1234567891011121314151617181920212223242526272829
  1. #version 100
  2. precision mediump float;
  3. // Input vertex attributes (from vertex shader)
  4. varying vec3 fragPosition;
  5. // Input uniform values
  6. uniform sampler2D equirectangularMap;
  7. vec2 SampleSphericalMap(vec3 v)
  8. {
  9. vec2 uv = vec2(atan(v.z, v.x), asin(v.y));
  10. uv *= vec2(0.1591, 0.3183);
  11. uv += 0.5;
  12. return uv;
  13. }
  14. void main()
  15. {
  16. // Normalize local position
  17. vec2 uv = SampleSphericalMap(normalize(fragPosition));
  18. // Fetch color from texture map
  19. vec3 color = texture2D(equirectangularMap, uv).rgb;
  20. // Calculate final fragment color
  21. gl_FragColor = vec4(color, 1.0);
  22. }