Browse Source

__file__ usage in CommonFilters

Removed __file__ usage due to unavailability in deploy-ng builds
Moved Cg filters from sha files into separate python scripts
Removed now obsolete loadShader function from CommonFilters
fireclawthefox 8 years ago
parent
commit
cfad049992

+ 18 - 17
direct/src/filter/CommonFilters.py

@@ -16,6 +16,13 @@ clunky approach.  - Josh
 """
 """
 
 
 from .FilterManager import FilterManager
 from .FilterManager import FilterManager
+from .filterBloomI import BLOOM_I
+from .filterBloomX import BLOOM_X
+from .filterBloomY import BLOOM_Y
+from .filterBlurX import BLUR_X
+from .filterBlurY import BLUR_Y
+from .filterCopy import COPY
+from .filterDown4 import DOWN_4
 from panda3d.core import LVecBase4, LPoint2
 from panda3d.core import LVecBase4, LPoint2
 from panda3d.core import Filename
 from panda3d.core import Filename
 from panda3d.core import AuxBitplaneAttrib
 from panda3d.core import AuxBitplaneAttrib
@@ -102,12 +109,6 @@ class CommonFilters:
         self.task = None
         self.task = None
         self.cleanup()
         self.cleanup()
 
 
-    def loadShader(self, name):
-        fn = os.path.join(os.path.abspath(os.path.dirname(__file__)), name)
-        fn = Filename.fromOsSpecific(fn)
-        fn.makeTrueCase()
-        return Shader.load(fn)
-
     def cleanup(self):
     def cleanup(self):
         self.manager.cleanup()
         self.manager.cleanup()
         self.textures = {}
         self.textures = {}
@@ -184,9 +185,9 @@ class CommonFilters:
                 self.blur.append(self.manager.renderQuadInto(colortex=blur0,div=2))
                 self.blur.append(self.manager.renderQuadInto(colortex=blur0,div=2))
                 self.blur.append(self.manager.renderQuadInto(colortex=blur1))
                 self.blur.append(self.manager.renderQuadInto(colortex=blur1))
                 self.blur[0].setShaderInput("src", self.textures["color"])
                 self.blur[0].setShaderInput("src", self.textures["color"])
-                self.blur[0].setShader(self.loadShader("filter-blurx.sha"))
+                self.blur[0].setShader(Shader.make(BLUR_X, Shader.SL_Cg))
                 self.blur[1].setShaderInput("src", blur0)
                 self.blur[1].setShaderInput("src", blur0)
-                self.blur[1].setShader(self.loadShader("filter-blury.sha"))
+                self.blur[1].setShader(Shader.make(BLUR_Y, Shader.SL_Cg))
 
 
             if ("AmbientOcclusion" in configuration):
             if ("AmbientOcclusion" in configuration):
                 ssao0=self.textures["ssao0"]
                 ssao0=self.textures["ssao0"]
@@ -200,9 +201,9 @@ class CommonFilters:
                 self.ssao[0].setShaderInput("random", loader.loadTexture("maps/random.rgb"))
                 self.ssao[0].setShaderInput("random", loader.loadTexture("maps/random.rgb"))
                 self.ssao[0].setShader(Shader.make(SSAO_BODY % configuration["AmbientOcclusion"].numsamples, Shader.SL_Cg))
                 self.ssao[0].setShader(Shader.make(SSAO_BODY % configuration["AmbientOcclusion"].numsamples, Shader.SL_Cg))
                 self.ssao[1].setShaderInput("src", ssao0)
                 self.ssao[1].setShaderInput("src", ssao0)
-                self.ssao[1].setShader(self.loadShader("filter-blurx.sha"))
+                self.ssao[1].setShader(Shader.make(BLUR_X, Shader.SL_Cg))
                 self.ssao[2].setShaderInput("src", ssao1)
                 self.ssao[2].setShaderInput("src", ssao1)
-                self.ssao[2].setShader(self.loadShader("filter-blury.sha"))
+                self.ssao[2].setShader(Shader.make(BLUR_Y, Shader.SL_Cg))
 
 
             if ("Bloom" in configuration):
             if ("Bloom" in configuration):
                 bloomconf = configuration["Bloom"]
                 bloomconf = configuration["Bloom"]
@@ -212,25 +213,25 @@ class CommonFilters:
                 bloom3=self.textures["bloom3"]
                 bloom3=self.textures["bloom3"]
                 if (bloomconf.size == "large"):
                 if (bloomconf.size == "large"):
                     scale=8
                     scale=8
-                    downsampler="filter-down4.sha"
+                    downsampler=DOWN_4
                 elif (bloomconf.size == "medium"):
                 elif (bloomconf.size == "medium"):
                     scale=4
                     scale=4
-                    downsampler="filter-copy.sha"
+                    downsampler=COPY
                 else:
                 else:
                     scale=2
                     scale=2
-                    downsampler="filter-copy.sha"
+                    downsampler=COPY
                 self.bloom.append(self.manager.renderQuadInto(colortex=bloom0, div=2,     align=scale))
                 self.bloom.append(self.manager.renderQuadInto(colortex=bloom0, div=2,     align=scale))
                 self.bloom.append(self.manager.renderQuadInto(colortex=bloom1, div=scale, align=scale))
                 self.bloom.append(self.manager.renderQuadInto(colortex=bloom1, div=scale, align=scale))
                 self.bloom.append(self.manager.renderQuadInto(colortex=bloom2, div=scale, align=scale))
                 self.bloom.append(self.manager.renderQuadInto(colortex=bloom2, div=scale, align=scale))
                 self.bloom.append(self.manager.renderQuadInto(colortex=bloom3, div=scale, align=scale))
                 self.bloom.append(self.manager.renderQuadInto(colortex=bloom3, div=scale, align=scale))
                 self.bloom[0].setShaderInput("src", self.textures["color"])
                 self.bloom[0].setShaderInput("src", self.textures["color"])
-                self.bloom[0].setShader(self.loadShader("filter-bloomi.sha"))
+                self.bloom[0].setShader(Shader.make(BLOOM_I, Shader.SL_Cg))
                 self.bloom[1].setShaderInput("src", bloom0)
                 self.bloom[1].setShaderInput("src", bloom0)
-                self.bloom[1].setShader(self.loadShader(downsampler))
+                self.bloom[1].setShader(Shader.make(downsampler, Shader.SL_Cg))
                 self.bloom[2].setShaderInput("src", bloom1)
                 self.bloom[2].setShaderInput("src", bloom1)
-                self.bloom[2].setShader(self.loadShader("filter-bloomx.sha"))
+                self.bloom[2].setShader(Shader.make(BLOOM_X, Shader.SL_Cg))
                 self.bloom[3].setShaderInput("src", bloom2)
                 self.bloom[3].setShaderInput("src", bloom2)
-                self.bloom[3].setShader(self.loadShader("filter-bloomy.sha"))
+                self.bloom[3].setShader(Shader.make(BLOOM_Y, Shader.SL_Cg))
 
 
             texcoords = {}
             texcoords = {}
             texcoordPadding = {}
             texcoordPadding = {}

+ 3 - 1
direct/src/filter/filter-bloomi.sha → direct/src/filter/filterBloomI.py

@@ -1,3 +1,4 @@
+BLOOM_I = """
 //Cg
 //Cg
 //
 //
 // blend.rgb
 // blend.rgb
@@ -23,7 +24,7 @@
 // trigger.y
 // trigger.y
 //
 //
 //   Must be equal to (1.0/(maxtrigger-mintrigger)) where
 //   Must be equal to (1.0/(maxtrigger-mintrigger)) where
-//   
+//
 //   mintrigger is the minimum brightness to trigger a bloom,
 //   mintrigger is the minimum brightness to trigger a bloom,
 //   and maxtrigger is the brightness at which the bloom
 //   and maxtrigger is the brightness at which the bloom
 //   reaches maximum intensity.
 //   reaches maximum intensity.
@@ -83,3 +84,4 @@ void fshader(float2 l_texcoordNW : TEXCOORD0,
   o_color = (colorNW + colorNE + colorSW + colorSE) * 0.25;
   o_color = (colorNW + colorNE + colorSW + colorSE) * 0.25;
 }
 }
 
 
+"""

+ 2 - 0
direct/src/filter/filter-bloomx.sha → direct/src/filter/filterBloomX.py

@@ -1,3 +1,4 @@
+BLOOM_X = """
 //Cg
 //Cg
 
 
 void vshader(float4 vtx_position : POSITION,
 void vshader(float4 vtx_position : POSITION,
@@ -45,3 +46,4 @@ void fshader(float4 l_texcoord0 : TEXCOORD0,
   color +=  50 * tex2D(k_src, l_texcoord2.zw);
   color +=  50 * tex2D(k_src, l_texcoord2.zw);
   o_color = color / 1200.0;
   o_color = color / 1200.0;
 }
 }
+"""

+ 2 - 0
direct/src/filter/filter-bloomy.sha → direct/src/filter/filterBloomY.py

@@ -1,3 +1,4 @@
+BLOOM_Y = """
 //Cg
 //Cg
 
 
 void vshader(float4 vtx_position : POSITION,
 void vshader(float4 vtx_position : POSITION,
@@ -36,3 +37,4 @@ void fshader(float4 l_texcoord0 : TEXCOORD0,
   o_color = color / 1200.0;
   o_color = color / 1200.0;
   o_color = o_color * k_intensity;
   o_color = o_color * k_intensity;
 }
 }
+"""

+ 3 - 1
direct/src/filter/filter-blurx.sha → direct/src/filter/filterBlurX.py

@@ -1,8 +1,9 @@
+BLUR_X = """
 //Cg
 //Cg
 //
 //
 //Cg profile arbvp1 arbfp1
 //Cg profile arbvp1 arbfp1
 
 
-void vshader(float4 vtx_position : POSITION, 
+void vshader(float4 vtx_position : POSITION,
              float2 vtx_texcoord0 : TEXCOORD0,
              float2 vtx_texcoord0 : TEXCOORD0,
              out float4 l_position : POSITION,
              out float4 l_position : POSITION,
       	     out float2 l_texcoord0 : TEXCOORD0,
       	     out float2 l_texcoord0 : TEXCOORD0,
@@ -31,3 +32,4 @@ void fshader(float2 l_texcoord0 : TEXCOORD0,
   o_color.w = 1;
   o_color.w = 1;
 }
 }
 
 
+"""

+ 3 - 2
direct/src/filter/filter-blury.sha → direct/src/filter/filterBlurY.py

@@ -1,8 +1,9 @@
+BLUR_Y = """
 //Cg
 //Cg
 //
 //
 //Cg profile arbvp1 arbfp1
 //Cg profile arbvp1 arbfp1
 
 
-void vshader(float4 vtx_position : POSITION, 
+void vshader(float4 vtx_position : POSITION,
              float2 vtx_texcoord0 : TEXCOORD0,
              float2 vtx_texcoord0 : TEXCOORD0,
              out float4 l_position : POSITION,
              out float4 l_position : POSITION,
       	     out float2 l_texcoord0 : TEXCOORD0,
       	     out float2 l_texcoord0 : TEXCOORD0,
@@ -30,4 +31,4 @@ void fshader(float2 l_texcoord0 : TEXCOORD0,
   o_color /= 7;
   o_color /= 7;
   o_color.w = 1;
   o_color.w = 1;
 }
 }
-
+"""

+ 2 - 1
direct/src/filter/filter-copy.sha → direct/src/filter/filterCopy.py

@@ -1,3 +1,4 @@
+COPY = """
 //Cg
 //Cg
 
 
 
 
@@ -17,4 +18,4 @@ void fshader(float2 l_texcoord : TEXCOORD0,
 {
 {
   o_color = tex2D(k_src, l_texcoord);
   o_color = tex2D(k_src, l_texcoord);
 }
 }
-
+"""

+ 2 - 1
direct/src/filter/filter-down4.sha → direct/src/filter/filterDown4.py

@@ -1,3 +1,4 @@
+DOWN_4 = """
 //Cg
 //Cg
 
 
 void vshader(float4 vtx_position : POSITION,
 void vshader(float4 vtx_position : POSITION,
@@ -30,4 +31,4 @@ void fshader(float2 l_texcoordNW : TEXCOORD0,
   float4 colorSE = tex2D(k_src, l_texcoordSE);
   float4 colorSE = tex2D(k_src, l_texcoordSE);
   o_color = (colorNW + colorNE + colorSW + colorSE);
   o_color = (colorNW + colorNE + colorSW + colorSE);
 }
 }
-
+"""