mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 18:31:55 -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 .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 = {}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
BLOOM_I = """
|
||||||
//Cg
|
//Cg
|
||||||
//
|
//
|
||||||
// blend.rgb
|
// blend.rgb
|
||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"""
|
@ -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;
|
||||||
}
|
}
|
||||||
|
"""
|
@ -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;
|
||||||
}
|
}
|
||||||
|
"""
|
@ -1,3 +1,4 @@
|
|||||||
|
BLUR_X = """
|
||||||
//Cg
|
//Cg
|
||||||
//
|
//
|
||||||
//Cg profile arbvp1 arbfp1
|
//Cg profile arbvp1 arbfp1
|
||||||
@ -31,3 +32,4 @@ void fshader(float2 l_texcoord0 : TEXCOORD0,
|
|||||||
o_color.w = 1;
|
o_color.w = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"""
|
@ -1,3 +1,4 @@
|
|||||||
|
BLUR_Y = """
|
||||||
//Cg
|
//Cg
|
||||||
//
|
//
|
||||||
//Cg profile arbvp1 arbfp1
|
//Cg profile arbvp1 arbfp1
|
||||||
@ -30,4 +31,4 @@ void fshader(float2 l_texcoord0 : TEXCOORD0,
|
|||||||
o_color /= 7;
|
o_color /= 7;
|
||||||
o_color.w = 1;
|
o_color.w = 1;
|
||||||
}
|
}
|
||||||
|
"""
|
@ -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);
|
||||||
}
|
}
|
||||||
|
"""
|
@ -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);
|
||||||
}
|
}
|
||||||
|
"""
|
Loading…
x
Reference in New Issue
Block a user