Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Implementar halo solar en openGL

Iniciado por Miguel, 20 de Diciembre de 2002, 12:47:15 PM

« anterior - próximo »

Miguel

                                Hola, somos un grupo de compañeros de la eui que estamos implementando un Sistema Solar en 3D, utilizando OpenGL. Todo muy bonito, pero todavia no hemos conseguido que el sol tenga un halo de luz. Busco codigo fuente en C, que lo implemente o alguna suguerencia de como hacerlo. Gracias!!                                

Mars Attacks

                                Qué te parece hacer un billboard centrado en el sol con un tga con transparencia cambiante que haga las veces de halo? Si es eso a lo que te refieres, vaya. ¿Te valdría?                                

Mars Attacks

                                Es más, podéis hacer que todo el sol sea un billboard que vaya cargando una textura (tipo gif) distinta a cada frame, haciendo el efecto de halo.
No estoy seguro de si estamos hablando del mismo concepto de halo. Te refieres a las llamaradas solares de la corteza? Igual te refieres a algo como lo que tiene Haddd implementado en su motor, que es el brillo ese chachichuli que aparece cuando estás mirando hacia el sol.                                

Haddd

                                El efecto de halo es complejo de realizar. No basta hacer un billboarding porque para que el efecto quede bien depende de la forma del objeto. En el caso de un planeta, el objeto es esférico y tiene un halo esférico, pero en el caso de un meteorito(si quisieras poner un halo), ya no tendría esa forma sino la forma rugosa del propio meteorito.

Lo que suele hacerse es pintar el mismo objeto un poco más grande y transparente. Pero hay un problema, y es que el halo sí que te saldrá bien, pero al pintar el objeto transparente sobre tu planeta, el planeta en sí también se ve modificado. Para corregir esto tienes que usar el Stencil. Hay docs y ejemplos sobre esto en flipcode e internet.                                

Storm

                                Y pintar primero el objeto mas grande y transparente y luego el original, con el buffer de profundidad desac. ????                                

Mars Attacks

                                Yo aún me pregunto si se refiere a esto:

http://www-istp.gsfc.nasa.gov/Education/Mcorona.html

o a esto:

http://www.ne.jp/asahi/stellar/scenes/seik..._e/halo2001.htm

Es decir, si lo que busca es el efecto de corona o el de brillo.                                

Helius

                                Yo he realizado este efecto creando un billboard con un .tga renderizado dos veces en el mismo sitio. Una de las imagenes la roto a la izqda y la otra a la dcha, así parece que está ardiendo. El tga tiene la forma redonda del planeta en el centro totalmente transparente, y el resto es el halo en cuestion.

Puedes ver una foto aquí: www.lessman.net/planetiso/outworld.html

saludos                                
Geardome Devlog
Tutoriales sobre DirectX 9, Nintendo DS y PSP.

Mars Attacks

                                Queda muy bien. ¿Cómo habéis hecho la galaxia? También me gusta cómo os ha quedado.                                

ethernet

Quizas con un radial blur quedaria guapo.
Por otra parte en nehe.gamedev.net hay un zelda hecho en delphi q tiene esos circulitos q creo q te refieres.

saludos

Helius

                               
CitarQueda muy bien. ¿Cómo habéis hecho la galaxia? También me gusta cómo os ha quedado.

La Galaxia es aún más simple, es tan sólo un panel rotado unos cuantos grados hacia atrás y visto en perspectiva. También lo roto sobre su eje Z antes de inclinarlo para que de la impresión de que la galaxia gira. El dibujo es el de una galaxia verdadera (M35 creo) sacada de la nasa y adaptado un poco con el photoshop para que se vea bien la transparencia.

saludos                                
Geardome Devlog
Tutoriales sobre DirectX 9, Nintendo DS y PSP.






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.