diff options
Diffstat (limited to 'Assets/Shaders/EquirectToCubemap.glsl')
| -rw-r--r-- | Assets/Shaders/EquirectToCubemap.glsl | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/Assets/Shaders/EquirectToCubemap.glsl b/Assets/Shaders/EquirectToCubemap.glsl index 2b99c9b..690706f 100644 --- a/Assets/Shaders/EquirectToCubemap.glsl +++ b/Assets/Shaders/EquirectToCubemap.glsl @@ -1,23 +1,29 @@ #type vertex #version 330 core -layout (location = 0) in vec3 aPos; -out vec3 WorldPos; -uniform mat4 projection; -uniform mat4 view; + +layout (location = 0) in vec3 a_Pos; +out vec3 v_WorldPos; + +uniform mat4 u_Projection; +uniform mat4 u_View; + void main() { - WorldPos = aPos; - gl_Position = projection * view * vec4(WorldPos, 1.0); + v_WorldPos = a_Pos; + gl_Position = u_Projection * u_View * vec4(v_WorldPos, 1.0); } #type fragment #version 330 core -out vec4 FragColor; -in vec3 WorldPos; -uniform sampler2D equirectangularMap; + +out vec4 o_FragColor; +in vec3 v_WorldPos; + +uniform sampler2D u_EquirectangularMap; const vec2 invAtan = vec2(0.1591, 0.3183); + vec2 SampleSphericalMap(vec3 v) { vec2 uv = vec2(atan(v.z, v.x), asin(v.y)); @@ -27,7 +33,7 @@ vec2 SampleSphericalMap(vec3 v) } void main() { - vec2 uv = SampleSphericalMap(normalize(WorldPos)); - vec3 color = texture(equirectangularMap, uv).rgb; - FragColor = vec4(color, 1.0); + vec2 uv = SampleSphericalMap(normalize(v_WorldPos)); + vec3 color = texture(u_EquirectangularMap, uv).rgb; + o_FragColor = vec4(color, 1.0); } |
