Megosztás a következőn keresztül:


Ollós teszt (Direct3D 9)

Az ollós teszt az ollós téglalapon kívül eső képpontokat, a renderelési cél egy felhasználó által definiált négyszögletes alszakaszát levágja.

Az ollós téglalap segítségével jelezhető a renderelési célterület, ahol a játék világa rajzolódik. A téglalapon kívüli terület levágva, és a játék grafikus felületére fordítható. Az ollós vizsgálat nem tudja levágni a nem téglalap alakú területeket.

Az ollós téglalapok nem állíthatók be nagyobbak a renderelési célnál, de a nézetportnál nagyobbak is lehetnek.

Az ollós téglalapot az eszköz renderelési állapota kezeli. Az ollós teszt engedélyezve vagy letiltva, ha a renderstate-t true vagy FALSEértékre állítja. Ezt a tesztet a töredékszín kiszámítása után, de az alfatesztelés előtt hajtjuk végre. IDirect3DDevice9::SetRenderTarget visszaállítja az olló téglalapot a teljes renderelési célra, a nézetport alaphelyzetbe állításához hasonlóan. IDirect3DDevice9::SetScissorRect állapotblokkok rögzítik, és IDirect3DDevice9::CreateStateBlock az összes állapotbeállítással (D3DSBT_ALL érték D3DSTATEBLOCKTYPE). Az ollós teszt az IDirect3DDevice9::Clearműveletteleszközre is hatással van.

// Methods
HRESULT IDirect3DDevice9::SetScissorRect(CONST RECT* pRect); 
HRESULT IDirect3DDevice9::GetScissorRect(RECT* pRect); 

// New RenderState, values are TRUE or FALSE 
D3DRS_SCISSORTESTENABLE 

// New hardware cap 
D3D9CAPS.RasterCaps -> D3DPRASTERCAPS_SCISSORTEST;

Az alapértelmezett ollós téglalap a teljes nézetport.

Az olló tesztelése azután történik, hogy a képpontfeldolgozást egy képpontárnyékoló vagy a rögzített függvényfolyamat befejezte, ahogyan az alábbi ábrán látható.

ábra, hogy az ollós tesztelés mikor történik más lépésekhez képest

Pixel Pipeline