.[ ČeskéHry.cz ].
Nevykreslovani za point/wires modely

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
thrix



Založen: 29. 07. 2007
Příspěvky: 6

PříspěvekZaslal: 11. září 2007, 23:18:38    Předmět: Nevykreslovani za point/wires modely Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1824

PříspěvekZaslal: 11. září 2007, 23:21:56    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 11. září 2007, 23:50:01    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
thrix



Založen: 29. 07. 2007
Příspěvky: 6

PříspěvekZaslal: 16. září 2007, 21:36:32    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
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