![]() |
|
#1
|
|||
|
|||
|
Texture ID in postprocess
When working with shaders in Vizard outside of the postprocess library I can set the Texture ID using viz.setUniformInt('texture',0).
How is this done when I define a class derived from postprocess effect library? Also at what texture ID does vizpp_InputTex sit at? Seems with the postprocess examples there's never any reference to the texture ID. I need to know what the IDs of vizpp_InputTex, redTex, greenTex, and blueTex are. Beginning of my class below class warp(vizfx.postprocess.BaseShaderEffect): def _getFragmentCode(self): return """ #version 120 uniform sampler2D vizpp_InputTex; uniform sampler2D redTex; uniform sampler2D blueTex; uniform sampler2D greenTex; etc... |
|
#2
|
|||
|
|||
|
You can add textures through the uniforms attribute of the effect class within the _createUniforms method. Here is a simple example:
Code:
class WarpEffect(vizfx.postprocess.BaseShaderEffect):
def _getFragmentCode(self):
return """
uniform sampler2D vizpp_InputTex;
uniform sampler2D redTex;
uniform sampler2D blueTex;
uniform sampler2D greenTex;
void main()
{
vec2 uv = gl_TexCoord[0].st;
vec4 color = vec4(1.0);
color.r = texture2D(vizpp_InputTex, texture2D(redTex, uv).rg).r;
color.g = texture2D(vizpp_InputTex, texture2D(greenTex, uv).rg).g;
color.b = texture2D(vizpp_InputTex, texture2D(blueTex, uv).rg).b;
gl_FragColor = color;
}
"""
def _createUniforms(self):
# Create texture objects
redTex = viz.addTexture(...)
greenTex = viz.addTexture(...)
blueTex = viz.addTexture(...)
# Apply textures to effect (automatically assigns uniform IDs)
self.uniforms.addTexture('redTex', redTex)
self.uniforms.addTexture('greenTex', greenTex)
self.uniforms.addTexture('blueTex', blueTex)
Have a look at the Post-Process basics page in the documentation for more info: http://docs.worldviz.com/vizard/postprocess_basics.htm |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Texture Coordinate Generation (TexGen) using Shader | goro | Vizard | 1 | 05-31-2013 02:44 AM |
| How to render a texture of the transparent object and then blur it | whj | Vizard | 1 | 09-25-2012 04:15 PM |
| Avatar texture swaping | sleiN13 | Vizard | 5 | 06-24-2011 01:48 AM |
| How to apply shader and render texture to an object | whj | Vizard | 0 | 04-23-2010 01:23 PM |
| Randomly and Continuously Change Avatar's Face Texture | Karla | Vizard | 4 | 08-22-2008 01:14 PM |