cubemap.fs 613 B

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