__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
This commit is contained in:
fireclawthefox 2017-06-10 21:59:18 +02:00
parent 55ce23fbba
commit cfad049992
8 changed files with 35 additions and 23 deletions

View File

@ -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 = {}

View File

@ -1,3 +1,4 @@
BLOOM_I = """
//Cg
//
// blend.rgb
@ -83,3 +84,4 @@ void fshader(float2 l_texcoordNW : TEXCOORD0,
o_color = (colorNW + colorNE + colorSW + colorSE) * 0.25;
}
"""

View File

@ -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;
}
"""

View File

@ -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;
}
"""

View File

@ -1,3 +1,4 @@
BLUR_X = """
//Cg
//
//Cg profile arbvp1 arbfp1
@ -31,3 +32,4 @@ void fshader(float2 l_texcoord0 : TEXCOORD0,
o_color.w = 1;
}
"""

View File

@ -1,3 +1,4 @@
BLUR_Y = """
//Cg
//
//Cg profile arbvp1 arbfp1
@ -30,4 +31,4 @@ void fshader(float2 l_texcoord0 : TEXCOORD0,
o_color /= 7;
o_color.w = 1;
}
"""

View File

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

View File

@ -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);
}
"""