D3DFVFCAPS_PSIZE

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

# D3DFVFCAPS_PSIZE

Wed
12
Mar 2008

Wiem, że mechanizm Point Sprites jest przestarzały i ma wielu przeciwników, ale czasem jest dobrym rozwiązaniem. Ta notka będzie dla tych, którzy go stosują. Mogą się oni nieprzyjemnie zdziwić (tak jak ja ostatnio), że na niektórych kartach graficznych cząsteczki mają złą wielkość (np. są ogromne zamiast takich jakie mają być albo nie widać ich w ogóle).

Winny jest D3DFVFCAPS_PSIZE. Ten Caps mówi, czy rozmiar cząsteczki może być brany ze struktury wierzchołka o semantyce D3DFVF_PSIZE. Co ciekawe, legitymują się nim wszystkie, nawet stare karty firmy ATI, ale z kart firmy NVIDIA tylko te należące do generacji GeForce 6 i nowszych.

Co wobec tego zrobić? Kiedy rozmiar punktu nie może być brany z wierzchołka, jest odczytywany z ustawienia D3DRS_POINTSIZE. Na szczęście nawet wtedy wierzchołek może zawierać element D3DFVF_PSIZE, tylko on po prostu nie działa. Tak więc prawidłowym rozwiązaniem jest używać D3DFVF_PSIZE jeśli jest taka potrzeba, ale na wszelki wypadek wyliczyć też jakiś średni rozmiar cząsteczki i wpisać go do D3DRS_POINTSIZE.

Comments | #rendering #directx Share

Comments

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