Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: LWJGL tai JOGL : TexBind redbook demo

kpzpt [27.06.2009 22:46:34]

#

Hello!

LWJGL ja JOGL eli Java OpenGL kirjastot.

Minulla on rakenteilla OpenGL pelejä, olen kuitenkin Java peli
kokemukseni hankkinut AWT n kanssa.

Minulla on redbook esimerkki TexBind.
Siinä on kaksi itse rakennettua teksturea.

Kysymykseni on jos asetan nämä teksturet päällekkäin.
niin, mitä kaikkea minun tulee muuttaa koodista jotta
teksturet ovat läpinäkyviä ??

olen yrittänyt asettaa bytebufferin viimeistä arvoa
eri tavoin, mutta tekstuureista ei kuitenkaan tule läpinäkyviä.

eli, ongelmana on blendin asettaminen, joko blendfunction taikka
textenvi.

gl.glEnable(GL.GL_TEXTURE_2D);
gl.glTexEnvi ( gl.GL_TEXTURE_ENV, gl.GL_TEXTURE_ENV_MODE, gl.GL_MODULATE );
gl.glDisable(GL.GL_DEPTH_TEST);
gl.glEnable(GL.GL_BLEND );
gl.glBlendFunc ( gl.GL_SRC_ALPHA, gl.GL_ONE_MINUS_SRC_ALPHA );

eli, kuinka itse rakennettuihin LWJGL tekstuureihin asennetaan oikea läpinäkyvyys ??
En itse osaa ratkaista ongelmaani..

//----

Kiitos,,

Metabolix [28.06.2009 11:18:03]

#

glColor-funktiolla voi asettaa myös alfa-arvon. Kannattaa kuitenkin muistaa, että syvyyspuskuriin tulee joka tapauksessa päällimmäiseksi piirretty asia, joten piirtojärjestys ratkaisee, näkyykö läpi oikeita asioita.

kpzpt [28.06.2009 13:37:20]

#

Ok!

Minulla on tarkoitus sprite toteuttaa LWJGL n avulla.
Eli suurin osa kuvasta on alpha 255 ja vain reunat ovat alpha 0.

jos muutan glColor funktiolla, niin se vaikuttaa kaikkiin pixeleihin,
eikä lopputulos ole toivotun kaltainen.

Vain itse rakennetun spriten reunat olisi tarkoitus sitten häivyttää.

//----

Kiitos,,

Metabolix [29.06.2009 12:41:47]

#

Esitit asiasi niin, että käsitin, että koko tekstuurin pitäisi olla läpinäkyvä.

Miten lataat tekstuurin OpenGL:lle? Luultavasti vika on siinä.

kpzpt [30.06.2009 03:27:38]

#

Hei!

Minulla MIPMAPit vahingossa rakennettiin, GL_RGB kanssa,
kun niitten tietenkin pitää olla GL_RGBA.

Sählinkiä vaan.

//----

Kiitos,,

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta