Sdílet prostřednictvím


Zobrazení textury (Direct3D 10)

V Direct3D 10 se k prostředkům textury přistupuje pomocí zobrazení, což je mechanismus pro interpretaci hardwaru prostředku v paměti. Zobrazení umožňuje určité fázi kanálu přistupovat pouze k podsourcům, které potřebuje, v reprezentaci požadované aplikací.

Zobrazení podporuje pojem prostředku bez typu. Prostředek bez typu je prostředek vytvořený s konkrétní velikostí, ale ne konkrétním datovým typem. Data se interpretují dynamicky, když jsou svázaná s kanálem.

Následující obrázek znázorňuje příklad vazby 2D pole textury se 6 texturami jako prostředek shaderu vytvořením zobrazení prostředků shaderu. Prostředek se pak řeší jako pole textur. (Poznámka: Dílčí zdroj nelze vázat jako vstup i výstup do kanálu současně.)

ilustraci pole textury se šesti texturami

Při použití 2D texturového pole jako cíle vykreslení lze prostředek zobrazit jako pole 2D textur (6 v tomto příkladu) s úrovněmi mipmap (3 v tomto příkladu).

Vytvořte objekt zobrazení pro cíl vykreslení voláním CreateRenderTargetView. Potom zavolejte OMSetRenderTargets a nastavte zobrazení cíle vykreslení na kanál. Vykreslit do cíle vykreslení voláním Draw a pomocí RenderTargetArrayIndex indexovat do správné textury v poli. Podsourc (úroveň mipmap, kombinace indexu pole) můžete použít k vytvoření vazby na libovolné pole podsourců. Takže byste mohli vytvořit vazbu na druhou úroveň mipmap a aktualizovat pouze tuto konkrétní úroveň mipmap, pokud chcete, jako na následujícím obrázku.

ilustraci vazby pouze na druhou úroveň mapy textury

Rozdíly mezi Direct3D 9 a Direct3D 10:

  • V Režimu Direct3D 10 už nevážete prostředek přímo s kanálem, vytvoříte zobrazení prostředku a pak nastavíte zobrazení na kanál. To umožňuje provádět ověřování a mapování v modulu runtime a ovladač při vytváření zobrazení, což minimalizuje kontrolu typů v době vazby.

 

zdroje (Direct3D 10)