Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: OpenGL ja alffablendijäljet

vidar [16.08.2008 22:27:30]

#

Piirustelen ja pyörittelen 2d-spritejä OpenGL:llä teksturoituina quodeina. Spriteillä on läpinäkyvä reunus, mutta piirrettäessä läpinäkyvän alueen reunoille syntyy läpinäkymätöntä tauhkaa. Havainnollistava kuva, jos netti ja serveri suostuvat toimimaan: http://91.153.57.83/home/upload/up/ogl.png. Reunuksen väri riippuu läpinäkyvän alueen oikeasta väristä, joka testikuvassa on mustaa. Glfw:tä käytän kuvatiedostojen latailuun. Kai näistä jollain kikalla pääsee eroon?

Markus [16.08.2008 22:49:29]

#

Tarkista, että GL_TEXTURE_WRAP_S ja GL_TEXTURE_WRAP_T on asetettu arvoon GL_CLAMP_TO_EDGE (eikä siis vahingossakaan arvoon GL_CLAMP).

vidar [16.08.2008 23:24:03]

#

GL_TEXTURE_WRAP_S:n asettaminen arvoon GL_CLAMP_TO_EDGE näemmä poisti toisen reunaviivakkeen, mutta GL_TEXTURE_WRAP_T:tä asetettaessa piirto sekoaa täysin. Tilekarttani muuttuu kolmeksi pylvääksi, ilmeisesti viimeisen piirretyn rivin mukaan, ja liikkuvat, läpinäkyvät spritet jäävät valkoisiksi neliöiksi, joissa yksi magenta reuna. Aika jännää.

Metabolix [16.08.2008 23:28:41]

#

Onko kuvissa ympärillä vähintään yhden pikselin läpinäkyvä vyöhyke?
(Kokeile myös arvoa GL_REPEAT, nämä on hyvä tuntea OpenGL:ää käyttäessä.)

vidar [17.08.2008 00:17:47]

#

Noniin, piirsin kuvat paloina isomman tekstuurin nurkasta (jonka olisin tietty voinut mainita), ja asiaan auttoi kun isomman tekstuurin muutkin kulmat maalasi läpinäkyviksi. Nyt pelittää ilman tekstuuriparametrien säätelyä (GL_REPEAT on ilmeisesti oletusarvo). Kiitoksia.

Vastaus

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

Tietoa sivustosta