Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
thrix
Založen: 29. 07. 2007 Příspěvky: 6
|
Zaslal: 11. září 2007, 23:18:38 Předmět: Nevykreslovani za point/wires modely |
|
|
Neexistuje primo nejaka gl funkce nebo jakou technikou jednoduse zaridit, aby za bodovymi nebo dratovymi modely se nevykreslovaly dalsi objekty?
Dokazu si ted akorat predstavit, ze modely seradim a vykreslim odzadu s tim, ze pokud jde o model point/wires, tak ho nejdriv vykreslim v poly modu do pomocneho bufferu a ty pixely smazu z color bufferu a pak teprve vykreslim v point/wires modu (nebo rovnou v color bufferu vykreslim barvou pozadi).
Prijde mne to jako docela normalni ficura ale Google mne nic rozumneho nedava... |
|
Návrat nahoru |
|
|
pcmaster
Založen: 28. 07. 2007 Příspěvky: 1824
|
Zaslal: 11. září 2007, 23:21:56 Předmět: |
|
|
vykresli to 1. krat s vyplnenymi polygonmi a potom znovu na to iste miesto wired... inac nechapem, ako chces aby to vyzeralo vo vysledku... samozrejme neuvidis zakryte hrany (ale mozes vypnut depth test) _________________ Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est. |
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 11. září 2007, 23:50:01 Předmět: |
|
|
Rozumny zpusob:
- Nastavis glDepthFunc GL_LESS_EQUAL
- Vykreslis model do zbufferu (glDepthMask true, glColorMask vsude false) s glPolygonMode nastaveny na GL_FILL
- Vykreslis model do color bufferu (glDepthMask false, glColorMask vsude true) s glPolygonMode na GL_LINE _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
|
thrix
Založen: 29. 07. 2007 Příspěvky: 6
|
Zaslal: 16. září 2007, 21:36:32 Předmět: |
|
|
VYRESENO
Takze diky za obe rady. Nejdriv jsem vyzkousel od Eosieho, ale hned jsem zjistil, ze to (ke skode jednoho renderu modelu) nebude ono, protoze se nezakryvaly objekty, ktere jiz byly vykresleny, protoze se nic do color bufferu nevykreslovalo (kreslim sadu kouli vedle sebe v rade, jednim smerem ok, ale druhym ne ;o).
Takze nakonec nejdriv kreslim barvou pozadi a pak zpusobem jakym potrebuju.
kód: |
glDepthMask(GL_TRUE);
glColor3f(0,0,0);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glPushMatrix();
item->Draw(RenderModeNone); // Interne nasobi svoji matici
glPopMatrix();
glDepthMask(GL_FALSE);
glColor3dv(item->GetColor().Get());
glPolygonMode(GL_FRONT_AND_BACK, GL_POINT);
glPushMatrix();
item->Draw(RenderModeColor);
glPopMatrix();
|
|
|
Návrat nahoru |
|
|
|
|
Nemůžete odesílat nové téma do tohoto fóra Nemůžete odpovídat na témata v tomto fóru Nemůžete upravovat své příspěvky v tomto fóru Nemůžete mazat své příspěvky v tomto fóru Nemůžete hlasovat v tomto fóru
|
Powered by phpBB © 2001, 2005 phpBB Group
Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna