![]()  | 
	
| 
		 
			 
			#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  | 
![]()  | 
	
	
		
  | 
	
		
  | 
			 
			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 |