Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: ethernet en 08 de Mayo de 2005, 11:48:06 AM

Título: Sky Plane
Publicado por: ethernet en 08 de Mayo de 2005, 11:48:06 AM
 Hola, he visto en algunos sitios que usan para el cielo un plano con una textura (bueno, a veces varios planos para simular varios planos de nubes). He estado intentando realizarlo de la siguiente forma:



void SkyBox(float x, float y)
{
glBindTexture(GL_TEXTURE_2D,TEX_cielo);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);

glTranslatef(0,0,600);
glScalef(15000,15000,15000);
quad();
glDisable(GL_BLEND);


}


Creo que lo único que se puede decir más es que la niebla está activada.

El resultado no es malo, pero me gustaría saber cómo lo haceis vosotros. Había pensando en hacer un cielo con una esfera con mucho radio y desplazada a las z negativas de forma que quedara el cielo, visto desde (0,0,0), un poco curvado, de esa forma consigo que no se noten las transiciones de cielo-horizonte.

un saludo :**
Título: Sky Plane
Publicado por: zupervaca en 08 de Mayo de 2005, 12:05:34 PM
 normalmente en escenarios cerrados se utiliza este que indicas y para espacios abiertos un cubo muy grande que abarque todo

saludos
Título: Sky Plane
Publicado por: Sacrifai en 08 de Mayo de 2005, 12:21:51 PM
Cita de: "zupervaca"normalmente en escenarios cerrados se utiliza este que indicas y para espacios abiertos un cubo muy grande que abarque todo

saludos
Exacto. Por muy increible que parezca los bordes del cubo no se notan. También se hace hijo al skybox de la camara para que así no haya problemas si te mueves mucho(aunque esto no es obligatorio).

PD: Ojea los archivos "media" del motor irrlicht porque hay vienen dos skybox muy bien hechos.
Título: Sky Plane
Publicado por: ethernet en 08 de Mayo de 2005, 01:18:18 PM
 Se me olvidó comentar que no puedo hacer demasiadas florituras con el código, debe ser la mínima expresión, pero manteniendo un aspecto gráfico decente.

saludos
Título: Sky Plane
Publicado por: ajmendoza en 08 de Mayo de 2005, 02:14:18 PM
 En todos los motores que he utilizado el cielo se creaba con una esfera y quedaba muy bien.

Saludos.
Título: Sky Plane
Publicado por: BeRSeRKeR en 08 de Mayo de 2005, 02:42:24 PM
 Yo creo que las dos técnicas más utilizadas son los skyboxes (posiblemente para juegos donde predominan los interiores como pueda ser quake3) y los skydomes que se trata de un hemisferio y es posible que se utilice más en exteriores. Nosotros ahora mismo tenemos implementado el skybox (que es muy simple) y puede que más adelante implementemos el skydome.

Saludos.
Título: Sky Plane
Publicado por: samsaga2 en 09 de Mayo de 2005, 08:52:47 AM
 El skybox tiene que seguir la camara, es decir, el centro del skybox es la posicion actual de la camara y asi consigues que el jugador nunca llegue a tocar el cielo (literalmente en este caso :P). Es una tecnica bastante decente si usas unas texturas para el skybox que den bien el pego. Ademas la ventaja es que con un cubo de seis caras ya tienes todo el cielo montado.

La otra tecnica que comentan de usar un hemisferio es mas para renders que para juegos pues requiere bastantes caras mas.