Horde3D http://horde3d.org/forums/ |
|
Problem with post-processing effects http://horde3d.org/forums/viewtopic.php?f=2&t=1648 |
Page 1 of 1 |
Author: | UrsusMaritimus [ 04.03.2012, 16:01 ] |
Post subject: | Problem with post-processing effects |
Hi guys, I'm presently trying to implement a few post-processing effects in a pipeline (basically at an experimental stage atm), but I can't seem to get things to work. My custom pipeline is, to a large extent, simply the forward light one extended with a post-processing stage, and it looks something like: Code: <Pipeline> <Setup> <RenderTarget id="PRBUFFER" depthBuf="true" numColBufs="1" format="RGBA8" scale="1.0" /> </Setup> <CommandQueue> <Stage id="Geometry" link="pipelines/globalSettings.material.xml"> <SwitchTarget target="PRBUFFER"/> <ClearTarget depthBuf="true" colBuf0="true"/> <DrawGeometry context="AMBIENT" class="~Translucent"/> <DoForwardLightLoop class="~Translucent"/> <DrawGeometry context="TRANSLUCENT" class="Translucent" order="BACK_TO_FRONT"/> </Stage> <Stage id="PostProcess"> <SwitchTarget target=""/> <ClearTarget colBuf0="true"/> <BindBuffer sampler="buf0" sourceRT="PRBUFFER" bufIndex="0"/> <DrawQuad material="materials/pproc.material.xml" context="PPROC"/> <UnbindBuffers/> </Stage> <Stage id="Overlays"> <DrawOverlays contexc="OVERLAY"/> </Stage> </CommandQueue> </Pipeline> The referenced "pproc" material looks like Code: <Material> <Shader source="shaders/pproc.shader"/> </Material> And that shader contains Code: [[FX]] sampler2D buf0 = sampler_state { Address = Clamp; }; context PPROC { VertexShader = compile GLSL VS_FSQUAD; PixelShader = compile GLSL FS_PPROC; ZWriteEnable = false; } [[VS_FSQUAD]] uniform mat4 projMat; attribute vec3 vertPos; varying vec2 texCoords; void main( void ) { texCoords = vertPos.xy; gl_Position = projMat*vec4(vertPos, 1); } [[FS_PPROC]] uniform sampler2D buf0; varying vec2 texCoord; void main(void) { gl_FragColor = texture2D(buf0, texCoord); } Now, as far as I've understood things, this ought to produce output that is identical to a normal forward lighting pass, as the post-processing pass actually doesn't do anything yet. Except, the result is that the entire screen is rendered in a single-colour (which one changes as you look around, so at least *something* is happening). Removing the post-processing stage and setting the render target to "" for the first stage results in the scene looking exactly as expected. So, what am I missing or doing wrong? |
Author: | worstplayer [ 04.03.2012, 17:23 ] |
Post subject: | Re: Problem with post-processing effects |
Looks like simple typo. You have texCoords in vertex shader, but texCoord in pixel. That could be a problem. |
Author: | UrsusMaritimus [ 04.03.2012, 18:21 ] |
Post subject: | Re: Problem with post-processing effects |
God damn, how did I miss that? I poured over the stuff for hours before posting about it here... Guess I'll blame it on sleep deprivation. Anyway, thanks, that cleared everything up! |
Page 1 of 1 | All times are UTC + 1 hour |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |