Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





No entiendo un comportamiento de OpenGL

Iniciado por Fran, 22 de Diciembre de 2007, 11:19:36 AM

« anterior - próximo »

Fran

Estoy haciendo un skydome de modo que primero dibujo una hemiesfera con el buffer de profundidad bloqueado en escritura con unos gradientes de color y luego con el buffer de profundidad bloqueado aún dibujo una capa de nubes (plano infinito con texturas de nubes) con distintos alpha. Pues bien: si lo hago con el buffer de profundidad bloqueado (lo de las nubes) me oscurece el cielo. Es como si mezclase los colores. Si lo hago con el buffer de profundidad activado, no. Eso ¿xq es?

tamat

Cuando dices bloquear el buffer de profundidad te refieres a desactivarlo (glDisable(GL_DEPTH_BUFFER) o ha bloquear la escritura (glDepthWrite)?

Puede que sea problema del tipo de blend que uses. Para tu caso deberias estar usando glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA )

Pon un screenshot para ver lo que comentas.
Por un stratos menos tenso

Fran

Ambas cosas y el blend que uso es ese. Ahora despues subo dos screen shots. Es sorprendente

senior wapo

Revísate el contenido de los pixeles de la textura. El comportamiento que describes es el normal de hacer el blend que haces.

Mírate sobre todo el fondo de la textura, que no tengas pixeles con alpha por encima de 0 en lo que debería ser transparente.

EDIT: Otras cosas a mirar, según como pintes:
-Que tengas desactivada la iluminación por vértice.
-Que hayas creado como textura con alpha y no simplemente RGB (tanto en opengl como el propio fichero).
-Que no tengas los renderstates guarros de haber pintado en el frame anterior usando texture factor o combinaciones raras de combine.

Pero sobre todo, mirate los pixeles de la textura :D






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.