mirror of
				https://github.com/raysan5/raylib.git
				synced 2025-10-26 12:27:01 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			909 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			909 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| /*******************************************************************************************
 | |
| *
 | |
| *   rPBR [shader] - Equirectangular to cubemap fragment shader
 | |
| *
 | |
| *   Copyright (c) 2017 Victor Fisac
 | |
| *
 | |
| **********************************************************************************************/
 | |
| 
 | |
| #version 330
 | |
| 
 | |
| // Input vertex attributes (from vertex shader)
 | |
| in vec3 fragPosition;
 | |
| 
 | |
| // Input uniform values
 | |
| uniform sampler2D equirectangularMap;
 | |
| 
 | |
| // Output fragment color
 | |
| out vec4 finalColor;
 | |
| 
 | |
| vec2 SampleSphericalMap(vec3 v)
 | |
| {
 | |
|     vec2 uv = vec2(atan(v.z, v.x), asin(v.y));
 | |
|     uv *= vec2(0.1591, 0.3183);
 | |
|     uv += 0.5;
 | |
|     return uv;
 | |
| }
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     // Normalize local position 
 | |
|     vec2 uv = SampleSphericalMap(normalize(fragPosition));
 | |
| 
 | |
|     // Fetch color from texture map
 | |
|     vec3 color = texture(equirectangularMap, uv).rgb;
 | |
| 
 | |
|     // Calculate final fragment color
 | |
|     finalColor = vec4(color, 1.0);
 | |
| }
 | 
