Currently i am adding decals after gbuffer pass with alpha blending overwriting diffuse color. They "inherit" bumpiness of underneath surface:
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):
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?
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, 01 July 2013 - 01:05 AM.