D3DPTEXTURECAPS_NONPOW2CONDITIONAL

Uwaga! Informacje na tej stronie mają ponad 5 lat. Nadal je udostępniam, ale prawdopodobnie nie odzwierciedlają one mojej aktualnej wiedzy ani przekonań.

# D3DPTEXTURECAPS_NONPOW2CONDITIONAL

Tue
13
May 2008

Jak wiadomo, tekstury nie muszą być kwadratowe, ale generalnie powinny mieć boki będące potęgami dwójki - tj. 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 itd. Ograniczenie to znoszą jedynie układy firmy nVidia z SM3 (od GF6), ale karty ATI z SM3 nadal je mają. Odpowiada za to flaga D3DPTEXTURECAPS_POW2 pola TextureCaps struktury D3DCAPS9.

Jest jednak taka sytuacja, kiedy to ograniczenie jest bardzo uciążliwe. Chodzi o użycie tekstury jako Render Target. Wówczas, jeśli powinna mieć co najmniej rozmiar ekranu, przykładowo dla rozdzielczości 1280 x 1024 musiałaby mieć rozmiar 2048 x 1024 i dużo miejsca by się marnowało.

Dlatego jakby specjalnie w tym celu, praktycznie wszystkie układy graficzne posiadają flagę D3DPTEXTURECAPS_NONPOW2CONDITIONAL, która pozwala na używanie tekstur o dowolnych rozmiarach pod pewnymi warunkami (opisanymi w DX SDK pod hasłem "D3DCAPS9"):

Comments | #directx #rendering Share

Comments

STAT NO AD
[Stat] [STAT NO AD] [Download] [Dropbox] [pub] [Mirror] [Privacy policy]
Copyright © 2004-2019