From cfad049992f7a7e7f4ec0573f03175363c699409 Mon Sep 17 00:00:00 2001 From: fireclawthefox Date: Sat, 10 Jun 2017 21:59:18 +0200 Subject: [PATCH] __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 --- direct/src/filter/CommonFilters.py | 35 ++++++++++--------- .../{filter-bloomi.sha => filterBloomI.py} | 4 ++- .../{filter-bloomx.sha => filterBloomX.py} | 2 ++ .../{filter-bloomy.sha => filterBloomY.py} | 2 ++ .../{filter-blurx.sha => filterBlurX.py} | 4 ++- .../{filter-blury.sha => filterBlurY.py} | 5 +-- .../filter/{filter-copy.sha => filterCopy.py} | 3 +- .../{filter-down4.sha => filterDown4.py} | 3 +- 8 files changed, 35 insertions(+), 23 deletions(-) rename direct/src/filter/{filter-bloomi.sha => filterBloomI.py} (99%) rename direct/src/filter/{filter-bloomx.sha => filterBloomX.py} (99%) rename direct/src/filter/{filter-bloomy.sha => filterBloomY.py} (98%) rename direct/src/filter/{filter-blurx.sha => filterBlurX.py} (94%) rename direct/src/filter/{filter-blury.sha => filterBlurY.py} (94%) rename direct/src/filter/{filter-copy.sha => filterCopy.py} (97%) rename direct/src/filter/{filter-down4.sha => filterDown4.py} (98%) diff --git a/direct/src/filter/CommonFilters.py b/direct/src/filter/CommonFilters.py index 9cfe72d987..e6b96f36f1 100644 --- a/direct/src/filter/CommonFilters.py +++ b/direct/src/filter/CommonFilters.py @@ -16,6 +16,13 @@ clunky approach. - Josh """ 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 Filename from panda3d.core import AuxBitplaneAttrib @@ -102,12 +109,6 @@ class CommonFilters: self.task = None 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): self.manager.cleanup() 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=blur1)) 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].setShader(self.loadShader("filter-blury.sha")) + self.blur[1].setShader(Shader.make(BLUR_Y, Shader.SL_Cg)) if ("AmbientOcclusion" in configuration): ssao0=self.textures["ssao0"] @@ -200,9 +201,9 @@ class CommonFilters: 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[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].setShader(self.loadShader("filter-blury.sha")) + self.ssao[2].setShader(Shader.make(BLUR_Y, Shader.SL_Cg)) if ("Bloom" in configuration): bloomconf = configuration["Bloom"] @@ -212,25 +213,25 @@ class CommonFilters: bloom3=self.textures["bloom3"] if (bloomconf.size == "large"): scale=8 - downsampler="filter-down4.sha" + downsampler=DOWN_4 elif (bloomconf.size == "medium"): scale=4 - downsampler="filter-copy.sha" + downsampler=COPY else: 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=bloom1, 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[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].setShader(self.loadShader(downsampler)) + self.bloom[1].setShader(Shader.make(downsampler, Shader.SL_Cg)) 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].setShader(self.loadShader("filter-bloomy.sha")) + self.bloom[3].setShader(Shader.make(BLOOM_Y, Shader.SL_Cg)) texcoords = {} texcoordPadding = {} diff --git a/direct/src/filter/filter-bloomi.sha b/direct/src/filter/filterBloomI.py similarity index 99% rename from direct/src/filter/filter-bloomi.sha rename to direct/src/filter/filterBloomI.py index 8b58c21669..6c44fb3ecb 100644 --- a/direct/src/filter/filter-bloomi.sha +++ b/direct/src/filter/filterBloomI.py @@ -1,3 +1,4 @@ +BLOOM_I = """ //Cg // // blend.rgb @@ -23,7 +24,7 @@ // trigger.y // // Must be equal to (1.0/(maxtrigger-mintrigger)) where -// +// // mintrigger is the minimum brightness to trigger a bloom, // and maxtrigger is the brightness at which the bloom // reaches maximum intensity. @@ -83,3 +84,4 @@ void fshader(float2 l_texcoordNW : TEXCOORD0, o_color = (colorNW + colorNE + colorSW + colorSE) * 0.25; } +""" diff --git a/direct/src/filter/filter-bloomx.sha b/direct/src/filter/filterBloomX.py similarity index 99% rename from direct/src/filter/filter-bloomx.sha rename to direct/src/filter/filterBloomX.py index 6819936fc4..38bc368101 100644 --- a/direct/src/filter/filter-bloomx.sha +++ b/direct/src/filter/filterBloomX.py @@ -1,3 +1,4 @@ +BLOOM_X = """ //Cg void vshader(float4 vtx_position : POSITION, @@ -45,3 +46,4 @@ void fshader(float4 l_texcoord0 : TEXCOORD0, color += 50 * tex2D(k_src, l_texcoord2.zw); o_color = color / 1200.0; } +""" diff --git a/direct/src/filter/filter-bloomy.sha b/direct/src/filter/filterBloomY.py similarity index 98% rename from direct/src/filter/filter-bloomy.sha rename to direct/src/filter/filterBloomY.py index 2351c70dd3..19ba36ae29 100644 --- a/direct/src/filter/filter-bloomy.sha +++ b/direct/src/filter/filterBloomY.py @@ -1,3 +1,4 @@ +BLOOM_Y = """ //Cg void vshader(float4 vtx_position : POSITION, @@ -36,3 +37,4 @@ void fshader(float4 l_texcoord0 : TEXCOORD0, o_color = color / 1200.0; o_color = o_color * k_intensity; } +""" diff --git a/direct/src/filter/filter-blurx.sha b/direct/src/filter/filterBlurX.py similarity index 94% rename from direct/src/filter/filter-blurx.sha rename to direct/src/filter/filterBlurX.py index 2cb6c1512d..6517b3ad55 100644 --- a/direct/src/filter/filter-blurx.sha +++ b/direct/src/filter/filterBlurX.py @@ -1,8 +1,9 @@ +BLUR_X = """ //Cg // //Cg profile arbvp1 arbfp1 -void vshader(float4 vtx_position : POSITION, +void vshader(float4 vtx_position : POSITION, float2 vtx_texcoord0 : TEXCOORD0, out float4 l_position : POSITION, out float2 l_texcoord0 : TEXCOORD0, @@ -31,3 +32,4 @@ void fshader(float2 l_texcoord0 : TEXCOORD0, o_color.w = 1; } +""" diff --git a/direct/src/filter/filter-blury.sha b/direct/src/filter/filterBlurY.py similarity index 94% rename from direct/src/filter/filter-blury.sha rename to direct/src/filter/filterBlurY.py index b927cf0329..abbf1d09ee 100644 --- a/direct/src/filter/filter-blury.sha +++ b/direct/src/filter/filterBlurY.py @@ -1,8 +1,9 @@ +BLUR_Y = """ //Cg // //Cg profile arbvp1 arbfp1 -void vshader(float4 vtx_position : POSITION, +void vshader(float4 vtx_position : POSITION, float2 vtx_texcoord0 : TEXCOORD0, out float4 l_position : POSITION, out float2 l_texcoord0 : TEXCOORD0, @@ -30,4 +31,4 @@ void fshader(float2 l_texcoord0 : TEXCOORD0, o_color /= 7; o_color.w = 1; } - +""" diff --git a/direct/src/filter/filter-copy.sha b/direct/src/filter/filterCopy.py similarity index 97% rename from direct/src/filter/filter-copy.sha rename to direct/src/filter/filterCopy.py index ce7f867554..d9770fb04b 100644 --- a/direct/src/filter/filter-copy.sha +++ b/direct/src/filter/filterCopy.py @@ -1,3 +1,4 @@ +COPY = """ //Cg @@ -17,4 +18,4 @@ void fshader(float2 l_texcoord : TEXCOORD0, { o_color = tex2D(k_src, l_texcoord); } - +""" diff --git a/direct/src/filter/filter-down4.sha b/direct/src/filter/filterDown4.py similarity index 98% rename from direct/src/filter/filter-down4.sha rename to direct/src/filter/filterDown4.py index 54d2967262..14595dbbd7 100644 --- a/direct/src/filter/filter-down4.sha +++ b/direct/src/filter/filterDown4.py @@ -1,3 +1,4 @@ +DOWN_4 = """ //Cg void vshader(float4 vtx_position : POSITION, @@ -30,4 +31,4 @@ void fshader(float2 l_texcoordNW : TEXCOORD0, float4 colorSE = tex2D(k_src, l_texcoordSE); o_color = (colorNW + colorNE + colorSW + colorSE); } - +"""