Mélységi torzítás (Direct3D 9)
A 3D térben lévő sokszögek úgy jeleníthetők meg, mintha nem lennének koplanárisak, ha mindegyikhez hozzáadunk egy z-bias értéket. Ez a módszer gyakran használatos annak biztosítására, hogy a jelenet árnyékai megfelelően jelenjenek meg. Egy fal árnyékának például valószínűleg ugyanaz a mélységi értéke lesz, mint a falnak. Ha először a falat, majd az árnyékot jeleníti meg, előfordulhat, hogy az árnyék nem látható, vagy a mélységi összetevők láthatók. Megfordíthatja a coplanáris objektumok megjelenítésének sorrendjét annak reményében, hogy megfordítja az effektust, de a mélységi összetevők továbbra is valószínűek.
Az alkalmazások segíthetnek biztosítani a koplanáris sokszögek megfelelő renderelését azáltal, hogy elfogultságokat adnak a rendszer által a koplanáris sokszöghalmazok renderelése során használt z értékekhez. Z-torzítás sokszögek halmazához való hozzáadásához hívja meg az IDirect3DDevice9::SetRenderState metódust a renderelés előtt, állítsa a State paramétert D3DRS_DEPTHBIAS értékre, a Érték paramétert pedig egy megfelelő lebegőpontos értékre (például egy megfelelő érték lehet -1,0 és 1,0 között); Ha ezt az értéket a SetRenderState szeretné átadni, az értéket egy DWORDis át kell adnia. A magasabb z-bias érték növeli annak a valószínűségét, hogy a renderelt sokszögek láthatóak lesznek más koplanáris sokszögekkel együtt.
Offset = m * D3DRS_SLOPESCALEDEPTHBIAS + D3DRS_DEPTHBIAS
ahol m a renderelt háromszög legnagyobb mélységi meredeksége.
m = max(abs(delta z / delta x), abs(delta z / delta y))
A D3DRS_DEPTHBIAS és a D3DRS_SLOPESCALEDEPTHBIAS renderelési állapot egységei attól függenek, hogy engedélyezve van-e a z-pufferelés vagy a w-pufferelés. Az alkalmazásnak megfelelő értékeket kell biztosítania.
Az elfogultság nincs alkalmazva semmilyen vonalra és pont primitívre. Ezt a torzításokat azonban drótváz módban rajzolt háromszögekre kell alkalmazni.
// RenderStates
D3DRS_SLOPESCALEDEPTHBIAS, // Defaults to zero
D3DRS_DEPTHBIAS, // Defaults to zero
// Caps
D3DPRASTERCAPS_DEPTHBIAS
D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS
Kapcsolódó témakörök