.[ ČeskéHry.cz ].
problem s priehladnostou

 
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
andy



Založen: 20. 09. 2007
Příspěvky: 54

PříspěvekZaslal: 15. listopad 2009, 22:32:11    Předmět: problem s priehladnostou Odpovědět s citátem

Mam taky problem.. toto je scena pred vykreslenim stvoruholnika s texturou:

http://uploading.sk/informace/obrazek/ywablhc/1.jpg

a tu je na stvoruholnik namapovana textura s priehladnostou vo formate .png

http://uploading.sk/informace/obrazek/gnygc75/2.jpg

tu je original textura:

http://uploading.sk/informace/obrazek/f06rm5b/bbb.png
(cierna je v skutocnosti priehladna)

ten stvoruholnik je nad celou scenou asi takto

http://uploading.sk/informace/obrazek/f2kw8ug/3.jpg

Z tychto obrazkov by asi malo byt jasne kde je problem.. Proste ak zobrazim stvorec s texturou nad scenou tak by mali byt za nim ciastocne viditelne aj figurky... lenze niesu.. neviem kde by mohla byt chyba, alebo co treba nastavit..

Dakujem
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
nou



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

PříspěvekZaslal: 15. listopad 2009, 22:37:24    Předmět: Odpovědět s citátem

a akym sposobom to vykreslujes. bud pouzi alfatest alebo pri blendingu vypni zapis do depth buffera. DX OGL?
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
andy



Založen: 20. 09. 2007
Příspěvky: 54

PříspěvekZaslal: 15. listopad 2009, 22:50:00    Předmět: Odpovědět s citátem

pardon.. zabudol som poznamenat OpenGL

alphaTest nepomaha... a vypnutie toho druheho.. hmm neviem ako..

a pouzivam kniznicu.. a tam to je takto:

GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
nou



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

PříspěvekZaslal: 15. listopad 2009, 23:38:36    Předmět: Odpovědět s citátem

glDepthMask(GL_FALSE) vypne zapis do depth buffera. treba mat ale predtym vykreslene vsetky nepriehladne objekty. pre alfa test by si musel mat v texture alfa kanal.

zapnes alfa test. glAlphaFunc(GL_GREATER, 0.5); toto sposobi ze vsetky fragmenty ktore budu mat alfu mensiu ako 0.5 sa nevykreslia. zapis do depth buffera moze byt povoleny.

pri shaderoch by sa zase dala vyuzit funkcia discard kedy sa pixel proste zahodi.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
andy



Založen: 20. 09. 2007
Příspěvky: 54

PříspěvekZaslal: 16. listopad 2009, 10:19:25    Předmět: Odpovědět s citátem

Dakujem velmi pekne..

Funguje aj glDepthMask(GL_FALSE) pred vykreslenim priehladneho objektu, aj to druhe glAlphaFunc(GL_GREATER, 0.5).

Fungovalo aj, ked som priehladne objekty dal vykreslit az po vykresleni nepriehladnych..

vdaka
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
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