mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 02:15:43 -04:00
__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:
parent
55ce23fbba
commit
cfad049992
@ -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 = {}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
"""
|
@ -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;
|
||||
}
|
||||
"""
|
@ -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;
|
||||
}
|
||||
"""
|
@ -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;
|
||||
}
|
||||
|
||||
"""
|
@ -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;
|
||||
}
|
||||
|
||||
"""
|
@ -1,3 +1,4 @@
|
||||
COPY = """
|
||||
//Cg
|
||||
|
||||
|
||||
@ -17,4 +18,4 @@ void fshader(float2 l_texcoord : TEXCOORD0,
|
||||
{
|
||||
o_color = tex2D(k_src, l_texcoord);
|
||||
}
|
||||
|
||||
"""
|
@ -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);
|
||||
}
|
||||
|
||||
"""
|
Loading…
x
Reference in New Issue
Block a user