[ eva01 @ 23.04.2006. 17:03 ] @
Pitanje je prosto: kako pročitati veličinu teksture u bajtovima?

Koliko god da vrtim po d3d help-u nikako da nađem funkciju koja to radi, jel ima to uopšte? Jedino da zaređam po svim surface-ovima teksture i izračunam preko rezolucije i formata.

[Ovu poruku je menjao eva 01 dana 23.04.2006. u 18:07 GMT+1]
[ tosa @ 24.04.2006. 08:55 ] @
Koliko se sećam, moraćeš da "zaređaš" :(
[ eva01 @ 24.04.2006. 10:39 ] @
Nije to toliko strašno nego mi nije jasno kako da dobijem veličinu piksela za određeni surace format tj. D3DFORMAT? Ne moram valjda da pišem džinovski swich za svaki format koji d3d podržava?
[ tosa @ 24.04.2006. 15:58 ] @
DX nije baš najsrećniji po tom pitanju. Primera radi, određivanje količine ukupne video memorije
se može pouzdano obaviti samo preko DX7 interfejsa (i to 2D, koliko ja znam).
[ eva01 @ 25.04.2006. 00:32 ] @
Zaista neobično. Ajde što se nekome GetSize ne uklapa u Surface i Texture interfejse, ali mislio sam da mora biti zakopano negde u d3dx-u (barem getD3dFormatSize kade već ima getFVFVertexSize).
[ yooyo @ 25.04.2006. 09:26 ] @
Gruba procena velicine bi bila:
W * H * BPP

Ako imas mipmape onda:
W * H * BPP * 1.33333

BPP je Bytes Per Pixel

Kazem gruba procena, jer u zavisnosti od hw moze da se desi i neka dodatna potrosnja (npr. poravnavanje mipmape na parnu adresu, pa se tu gubi par bajtova).


yooyo
[ Filip Strugar @ 25.04.2006. 17:00 ] @
Citat:
eva 01: Nije to toliko strašno nego mi nije jasno kako da dobijem veličinu piksela za određeni surace format tj. D3DFORMAT? Ne moram valjda da pišem džinovski swich za svaki format koji d3d podržava?


Da, da, treba ti switch!
Pa nije bas tolko dzinovski - verovatno 15tak formata za ono sto ti treba? :)
[ eva01 @ 27.04.2006. 11:24 ] @
Ok, hvala odgovorima, odradio sam (zaređao :)). Mrzim da odrađujem ovakve stvari pogotovu ako su deo d3dx-a, što sam kao što već rekoh mislio da je slučaj ... da ne ispadnem najveća lenčina.