Sign in to follow this  
belfegor

Decals with deferred renderer

Recommended Posts

belfegor    2834

Currently i am adding decals after gbuffer pass with alpha blending overwriting diffuse color. They "inherit" bumpiness of underneath surface:
decals.jpg
but then i am unable (at least not cheap) to write to other guffer elements.

I am trying to add something like this (from crydev docs):

image008.jpg

so i was reading MSDN documentation about MRTs, but i am not sure what this exactly mean:

Some of the implementations do not apply the output write mask (D3DRS_COLORWRITEENABLE). Those that can, have independent color write masks. This is expressed using a new capability bit. The number of independent color write masks available will be equal to the maximum number of elements the device is capable of.

1. Am i able to disable colorwrite to certain RTs within MRTs with D3DRS_COLORWRITEENABLEn?
2. What caps (if any) to check if device is capable of doing this (as this is not mentioned in the docs)? Ah, nevermind, found it (D3DPMISCCAPS_COLORWRITEENABLE and D3DPMISCCAPS_INDEPENDENTWRITEMASKS).

3. Could you say that it is common for most of all these days DX10-11 capable hardware to support D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING ?

4. Any other method you would use for decals like in crydev image?

 

 

Thank you for your time.

Edited by belfegor

Share this post


Link to post
Share on other sites
MJP    19755

DX10 feature level requires full, independent blending support for multiple render targets. So any DX10-capable GPU should support blending and color write control for MRT's, assuming that the driver enables it for D3D9.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this