Re: [Algorithms] Decals and deferred rendering
Brought to you by:
vexxed72
From: Diogo de A. <dio...@ne...> - 2010-01-13 17:14:01
|
Hi all, I'm not sure I understood what you and Jeff are recommending, to be honest... Clarifying: I start rendering to the G-Buffer... I have the buffers organized like this: Rt0.xyz=normal (world space) Rt0.w=depth (0..1 normalized) Rt1.xyz=albedo Rt1.w=ambient intensity Rt2.x=specular intensity Rt2.y=specular gloss Rt2.z=diffuse intensity Rt2.w=emissive intensity Rt3.xyz=position (world space) Rt3.w=unused Let's imagine I have a maze... I render all walls to these buffers, and now it's time to render the decals themselves. With the G-Buffer still as the rendertarget, I draw the geometry that makes up the decals (obtained through intersection of the world geometry with the decal frustum)... Now, the part I don't understand is how to achieve blending (which would be sweet), without having the G-Buffer simultaneously as a render target and as input texture (which I think is not allowed under the majority of the videocards). If I could have that, I'd be able to do whatever I wanted in the way of blending and such... To be honest, now that I think about it, I'm not even seeing how I can make a shader to render the decal in a way it only influences the albedo, even if it is a simple replace, without using colorwrite masks (which I didn't want to use because they makes me have to switch states). What I'm trying to achieve (but may be impossible) is to have a "decal sheet", which has all the decals, so that with a single draw I can get all decals up... not sure if that's possible... Thanks all, Diogo |