Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
klapauciusk
Založen: 08. 08. 2007 Příspěvky: 76
|
Zaslal: 28. březen 2010, 08:43:46 Předmět: Řazení objektů při renderu |
|
|
Ahoj,
chtěl jsem se zeptat, jak se podle vás ideálně dá řešit řazení objektů při renderování, podle použitých textur a shaderů. Jak se tato úroveň řazení většinou řeší? Jediné co mě zatím napadlo je vytvořit renderovací frontu, do které vše nacpat, seřadit a vyrenderovat. Problém je, že bych musel do fronty ukládat vždy pár matice + pointer na objekt, což mi přijde jako zbytečná ztráta pamětí. Budu rád za každý náznak jiného řešení Díky. |
|
Návrat nahoru |
|
 |
Mnemonic

Založen: 28. 07. 2007 Příspěvky: 93
|
Zaslal: 28. březen 2010, 09:05:29 Předmět: |
|
|
Proč? Ulož jen pointer na objekt, a objekt bude umět vrátit svoji transformační matici, když bude potřeba. |
|
Návrat nahoru |
|
 |
klapauciusk
Založen: 08. 08. 2007 Příspěvky: 76
|
Zaslal: 28. březen 2010, 09:10:34 Předmět: |
|
|
Mnemonic napsal: |
Proč? Ulož jen pointer na objekt, a objekt bude umět vrátit svoji transformační matici, když bude potřeba. |
No, mám to řešené tak, že model nezná svou aktuální transformační matici. Zná ji graf scény. Je to z důvodu, že u modelu mohou existovat ve stromě duplicity. Pokud je použití renderovací fronty "klasické řešení", tak trochu předělám srukturu modelu. |
|
Návrat nahoru |
|
 |
Mnemonic

Založen: 28. 07. 2007 Příspěvky: 93
|
Zaslal: 28. březen 2010, 09:28:39 Předmět: |
|
|
Myslím, že se to dá prohlásit za "klasické řešení".
Tady opravdu hodně záleží na tom, jak to máš celé postavené. Ale když máš graf scény, měl bys být schopen do fronty uložit odkaz na uzel toho grafu. Takže renderer si pak z fronty vyzvedne uzel, řekne si mu o transformaci, a vyrenderuje model. |
|
Návrat nahoru |
|
 |
klapauciusk
Založen: 08. 08. 2007 Příspěvky: 76
|
Zaslal: 28. březen 2010, 09:43:46 Předmět: |
|
|
Mnemonic napsal: |
Myslím, že se to dá prohlásit za "klasické řešení". |
Super, díky. Tohle jsem přesně potřeboval slyšet než to začnu implementovat:-) Díky. |
|
Návrat nahoru |
|
 |
|