Srodne teme
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

opengl blend zackoljica

[es] :: 3D programiranje :: opengl blend zackoljica

[ Pregleda: 950 | Odgovora: 5 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

zaraza
Beograd

Član broj: 19938
Poruke: 829
*.ptt.yu.

ICQ: 211554183


Profil

icon opengl blend zackoljica03.02.2005. u 19:16

evo vec neko vreme pokusavam da uradim nesto sto sam ranije radio, ali ocigledno da nesto propustam. Poenta je u 2 objekta od kojih je jedan u drugiom, a ovaj spoljni, se providi...
evo kako sam radio....
Code:

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();
    glTranslatef(0.0f,0.0f,-7.0f);
    
    //pocinje prvi
    glBlendFunc(GL_SRC_ALPHA,GL_ONE); 
    glEnable(GL_BLEND); 
    glBindTexture(GL_TEXTURE_2D,texture[0]);
    glBegin(GL_QUADS); 
         ....
    glEnd(); 

        //drugi
    glBegin(GL_QUADS); 
         ....
    glEnd(); 



e sad tu nastaje problem, ako kazem disable blend, dobijem jako cudan efekat, drugi objekat je prostorno U prvom, ali ne i vizuelno...dakle izgleda kao da je ispred...iako je u stvari unutra :) ako kazem disable posle oba isctana objekta onda je ok, medjutim providi se i ovaj drugi, sto ne zelim...


03.02.2005. u 19:16 

bkaradzic
Branimir Karadžić
EA/Pandemic
Los Angeles, CA

Član broj: 14953
Poruke: 1545
*.pandemicstudios.com.

Sajt: www.mercs2.com


Profil

icon Re: opengl blend zackoljica03.02.2005. u 19:33
Probaj ovako:

Code:

glEnable(GL_CULL_FACE);

glCullFace(GL_FRONT);
glBlendFunc(GL_SRC_ALPHA, GL_ONE); 
glEnable(GL_BLEND); 

renderuj model 2 (spoljni)

glCullFace(GL_BACK);
glDisable(GL_BLEND);

renderuj model 1 (unutrašnji)

glBlendFunc(GL_SRC_ALPHA, GL_ONE); 
glEnable(GL_BLEND); 

renderuj model 2 (spoljni) ponovo

Branimir
03.02.2005. u 19:33 

biotech

Član broj: 18355
Poruke: 1251
*.scnet.yu.

Jabber: mpx220@elitesecurity.org
ICQ: 243403453


Profil

icon Re: opengl blend zackoljica03.02.2005. u 21:55
tu postoji redosled kojim se trebaju renderovati poligoni-znaci providni uvek ide poslednji.
koliko ja vidim iz koda ti radis suprotno :)
03.02.2005. u 21:55 

yooyo
Centroid / Technical director

Član broj: 4891
Poruke: 1101
*.nat-pool.bgd.sbb.co.yu.



Profil

icon Re: opengl blend zackoljica04.02.2005. u 11:13
Transparentni poligoni se takodje upisuju u zbuffer. Pravilan redosled bi bio:

1. iskljuci blending
2. renderuj unutrasnji
3. ukljuci blending i postavi blend funkciju
4. renderuj spoljasnji


Opciono mozes kod renderiga spoljasnjeg objekta iskljuciti upis u zbuffer (glDepthMask(GL_FALSE)) i onda mozes renderovati vise "spoljasnjih" objekata.

yooyo
04.02.2005. u 11:13 

tosa

Moderator
Član broj: 1811
Poruke: 1264
*.tehnicom.net.



Profil

icon Re: opengl blend zackoljica04.02.2005. u 11:39
Ukoliko je spoljni objekat providan onda je jedini ispravan nacin onaj
koji je naveo branimir, u suprotnom nece se videti zadnji deo spoljnog
objekta kroz prednji deo spoljnog objekta...

Soylent green: over 6 billion served!
04.02.2005. u 11:39 

zaraza
Beograd

Član broj: 19938
Poruke: 829
*.ptt.yu.

ICQ: 211554183


Profil

icon Re: opengl blend zackoljica05.02.2005. u 00:00
uf, hvala vam na odgvorima, moracu da probam, ali malko kasnije...
ako opet budem imao problema, a ja se opet javljam :)
05.02.2005. u 00:00 

[es] :: 3D programiranje :: opengl blend zackoljica

[ Pregleda: 950 | Odgovora: 5 ]

Postavi temu Odgovori

Srodne teme
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.