Просмотр исходного кода

Adapted the rest of the postprocess shaders.

Lasse Öörni 12 лет назад
Родитель
Сommit
248000b568

+ 9 - 9
Bin/CoreData/Shaders/GLSL/AutoExposure.glsl

@@ -7,15 +7,6 @@
 varying vec2 vTexCoord;
 varying vec2 vScreenPos;
 
-void VS()
-{
-    mat4 modelMatrix = iModelMatrix;
-    vec3 worldPos = GetWorldPos(modelMatrix);
-    gl_Position = GetClipPos(worldPos);
-    vTexCoord = GetQuadTexCoord(gl_Position);
-    vScreenPos = GetScreenPosPreDiv(gl_Position);
-}
-
 #ifdef COMPILEPS
 uniform float cAutoExposureAdaptRate;
 uniform float cAutoExposureMiddleGrey;
@@ -36,6 +27,15 @@ float GatherAvgLum(sampler2D texSampler, vec2 texCoord, vec2 texelSize)
 }
 #endif
 
+void VS()
+{
+    mat4 modelMatrix = iModelMatrix;
+    vec3 worldPos = GetWorldPos(modelMatrix);
+    gl_Position = GetClipPos(worldPos);
+    vTexCoord = GetQuadTexCoord(gl_Position);
+    vScreenPos = GetScreenPosPreDiv(gl_Position);
+}
+
 void PS()
 {
     #ifdef LUMINANCE64

+ 9 - 9
Bin/CoreData/Shaders/GLSL/BloomHDR.glsl

@@ -7,15 +7,6 @@
 varying vec2 vTexCoord;
 varying vec2 vScreenPos;
 
-void VS()
-{
-    mat4 modelMatrix = iModelMatrix;
-    vec3 worldPos = GetWorldPos(modelMatrix);
-    gl_Position = GetClipPos(worldPos);
-    vTexCoord = GetQuadTexCoord(gl_Position);
-    vScreenPos = GetScreenPosPreDiv(gl_Position);
-}
-
 #ifdef COMPILEPS
 uniform float cBloomHDRThreshold;
 uniform float cBloomHDRBlurSigma;
@@ -30,6 +21,15 @@ uniform vec2 cBright16InvSize;
 const int BlurKernelSize = 5;
 #endif
 
+void VS()
+{
+    mat4 modelMatrix = iModelMatrix;
+    vec3 worldPos = GetWorldPos(modelMatrix);
+    gl_Position = GetClipPos(worldPos);
+    vTexCoord = GetQuadTexCoord(gl_Position);
+    vScreenPos = GetScreenPosPreDiv(gl_Position);
+}
+
 void PS()
 {
     #ifdef BRIGHT

+ 0 - 11
Bin/CoreData/Shaders/GLSL/ColorCorrection.frag

@@ -1,11 +0,0 @@
-#include "Uniforms.frag"
-#include "Samplers.frag"
-#include "PostProcess.frag"
-
-varying vec2 vScreenPos;
-
-void main()
-{
-    vec3 color = texture2D(sDiffMap, vScreenPos).rgb;
-    gl_FragColor = vec4(ColorCorrection(color, sVolumeMap), 1.0);
-}

+ 21 - 0
Bin/CoreData/Shaders/GLSL/ColorCorrection.glsl

@@ -0,0 +1,21 @@
+#include "Uniforms.glsl"
+#include "Samplers.glsl"
+#include "Transform.glsl"
+#include "ScreenPos.glsl"
+#include "PostProcess.glsl"
+
+varying vec2 vScreenPos;
+
+void VS()
+{
+    mat4 modelMatrix = iModelMatrix;
+    vec3 worldPos = GetWorldPos(modelMatrix);
+    gl_Position = GetClipPos(worldPos);
+    vScreenPos = GetScreenPosPreDiv(gl_Position);
+}
+
+void PS()
+{
+    vec3 color = texture2D(sDiffMap, vScreenPos).rgb;
+    gl_FragColor = vec4(ColorCorrection(color, sVolumeMap), 1.0);
+}

+ 0 - 13
Bin/CoreData/Shaders/GLSL/ColorCorrection.vert

@@ -1,13 +0,0 @@
-#include "Uniforms.vert"
-#include "Transform.vert"
-#include "ScreenPos.vert"
-
-varying vec2 vScreenPos;
-
-void main()
-{
-    mat4 modelMatrix = iModelMatrix;
-    vec3 worldPos = GetWorldPos(modelMatrix);
-    gl_Position = GetClipPos(worldPos);
-    vScreenPos = GetScreenPosPreDiv(gl_Position);
-}

+ 0 - 3
Bin/CoreData/Shaders/GLSL/ColorCorrection.xml

@@ -1,3 +0,0 @@
-<shaders>
-    <shader />
-</shaders>

+ 0 - 13
Bin/CoreData/Shaders/GLSL/GammaCorrection.frag

@@ -1,13 +0,0 @@
-#include "Uniforms.frag"
-#include "Samplers.frag"
-#include "PostProcess.frag"
-
-uniform float cGamma;
-
-varying vec2 vScreenPos;
-
-void main()
-{
-    vec3 color = texture2D(sDiffMap, vScreenPos).rgb;
-    gl_FragColor = vec4(ToInverseGamma(color), 1.0);
-}

+ 21 - 0
Bin/CoreData/Shaders/GLSL/GammaCorrection.glsl

@@ -0,0 +1,21 @@
+#include "Uniforms.glsl"
+#include "Samplers.glsl"
+#include "Transform.glsl"
+#include "ScreenPos.glsl"
+#include "PostProcess.glsl"
+
+varying vec2 vScreenPos;
+
+void VS()
+{
+    mat4 modelMatrix = iModelMatrix;
+    vec3 worldPos = GetWorldPos(modelMatrix);
+    gl_Position = GetClipPos(worldPos);
+    vScreenPos = GetScreenPosPreDiv(gl_Position);
+}
+
+void PS()
+{
+    vec3 color = texture2D(sDiffMap, vScreenPos).rgb;
+    gl_FragColor = vec4(ToInverseGamma(color), 1.0);
+}

+ 0 - 13
Bin/CoreData/Shaders/GLSL/GammaCorrection.vert

@@ -1,13 +0,0 @@
-#include "Uniforms.vert"
-#include "Transform.vert"
-#include "ScreenPos.vert"
-
-varying vec2 vScreenPos;
-
-void main()
-{
-    mat4 modelMatrix = iModelMatrix;
-    vec3 worldPos = GetWorldPos(modelMatrix);
-    gl_Position = GetClipPos(worldPos);
-    vScreenPos = GetScreenPosPreDiv(gl_Position);
-}

+ 0 - 3
Bin/CoreData/Shaders/GLSL/GammaCorrection.xml

@@ -1,3 +0,0 @@
-<shaders>
-    <shader />
-</shaders>

+ 18 - 5
Bin/CoreData/Shaders/GLSL/Tonemap.frag → Bin/CoreData/Shaders/GLSL/Tonemap.glsl

@@ -1,13 +1,25 @@
-#include "Uniforms.frag"
-#include "Samplers.frag"
-#include "PostProcess.frag"
+#include "Uniforms.glsl"
+#include "Samplers.glsl"
+#include "Transform.glsl"
+#include "ScreenPos.glsl"
+#include "PostProcess.glsl"
 
+varying vec2 vScreenPos;
+
+#ifdef COMPILEPS
 uniform float cTonemapExposureBias;
 uniform float cTonemapMaxWhite;
+#endif
 
-varying vec2 vScreenPos;
+void VS()
+{
+    mat4 modelMatrix = iModelMatrix;
+    vec3 worldPos = GetWorldPos(modelMatrix);
+    gl_Position = GetClipPos(worldPos);
+    vScreenPos = GetScreenPosPreDiv(gl_Position);
+}
 
-void main()
+void PS()
 {
     #ifdef REINHARDEQ3
     vec3 color = ReinhardEq3Tonemap(max(texture2D(sDiffMap, vScreenPos).rgb * cTonemapExposureBias, 0.0));
@@ -25,3 +37,4 @@ void main()
     gl_FragColor = vec4(color, 1.0);
     #endif
 }
+

+ 0 - 13
Bin/CoreData/Shaders/GLSL/Tonemap.vert

@@ -1,13 +0,0 @@
-#include "Uniforms.vert"
-#include "Transform.vert"
-#include "ScreenPos.vert"
-
-varying vec2 vScreenPos;
-
-void main()
-{
-    mat4 modelMatrix = iModelMatrix;
-    vec3 worldPos = GetWorldPos(modelMatrix);
-    gl_Position = GetClipPos(worldPos);
-    vScreenPos = GetScreenPosPreDiv(gl_Position);
-}

+ 0 - 8
Bin/CoreData/Shaders/GLSL/Tonemap.xml

@@ -1,8 +0,0 @@
-<shaders>
-    <shader type="vs" />
-    <shader type="ps">
-        <variation name="ReinhardEq3" define="REINHARDEQ3" />
-        <variation name="ReinhardEq4" define="REINHARDEQ4" />
-        <variation name="Uncharted2" define="UNCHARTED2" />
-    </shader>
-</shaders>

+ 0 - 3
Bin/CoreData/Shaders/HLSL/ColorCorrection.xml

@@ -1,3 +0,0 @@
-<shaders>
-    <shader />
-</shaders>

+ 0 - 3
Bin/CoreData/Shaders/HLSL/GammaCorrection.xml

@@ -1,3 +0,0 @@
-<shaders>
-    <shader />
-</shaders>

+ 0 - 8
Bin/CoreData/Shaders/HLSL/Tonemap.xml

@@ -1,8 +0,0 @@
-<shaders>
-    <shader type="vs" />
-    <shader type="ps">
-        <variation name="ReinhardEq3" define="REINHARDEQ3" />
-        <variation name="ReinhardEq4" define="REINHARDEQ4" />
-        <variation name="Uncharted2" define="UNCHARTED2" />
-    </shader>
-</shaders>

+ 3 - 3
Bin/Data/PostProcess/Tonemap.xml

@@ -1,14 +1,14 @@
 <renderpath>
-    <command type="quad" enabled="true" tag="TonemapReinhardEq3" vs="Tonemap" ps="Tonemap_ReinhardEq3" output="viewport">
+    <command type="quad" enabled="true" tag="TonemapReinhardEq3" vs="Tonemap" ps="Tonemap" psdefines="REINHARDEQ3" output="viewport">
         <parameter name="TonemapExposureBias" value="1.0" />
         <texture unit="diffuse" name="viewport" />
     </command>
-    <command type="quad" enabled="false" tag="TonemapReinhardEq4" vs="Tonemap" ps="Tonemap_ReinhardEq4" output="viewport">
+    <command type="quad" enabled="false" tag="TonemapReinhardEq4" vs="Tonemap" ps="Tonemap" psdefines="REINHARDEQ4" output="viewport">
         <parameter name="TonemapExposureBias" value="1.0" />
         <parameter name="TonemapMaxWhite" value="8.0" />
         <texture unit="diffuse" name="viewport" />
     </command>
-    <command type="quad" enabled="false" tag="TonemapUncharted2" vs="Tonemap" ps="Tonemap_Uncharted2" output="viewport">
+    <command type="quad" enabled="false" tag="TonemapUncharted2" vs="Tonemap" ps="Tonemap" psdefines="UNCHARTED2" output="viewport">
         <parameter name="TonemapExposureBias" value="1.0" />
         <parameter name="TonemapMaxWhite" value="4.0" />
         <texture unit="diffuse" name="viewport" />