Estoy haciendo un shader del sol. He visto el que viene con el RenderMonkey y estoy utilizando la misma técnica. Mi pregunta es con el blur.
Lo que hago es:
1º renderizo el sol, con el noise que genera "nubes" amarillas y rojas.
2º renderizo en un render target el sol con un color, en mi caso el amarillo.
3º Renderizo un Quad con alphablending y SCR y DEST BLEND a ONE.
Me sale correctamente, sin embargo, como dibujo encima del sol un "sol amarillo" y hago blending, me sale el sol completamente amarillo, perdiendo el noise.
Mi idea sería:
1º renderizo en un render target el sol con un color, en mi caso el amarillo
2º Renderizo un Quad con alphablending y SCR y DEST BLEND a ONE sin grabar en el ZBuffer.
Así tendría la corona.
3º renderizo el sol, con el noise que genera "nubes" amarillas y rojas SIN AlphaBlending.
De esta forma me dibujaría encima el sol y se vería bien.
Pero , la pregunta es...¿porqué se hace de la manera que a mi NO me sale?
Estoy tambien haciendo un cielo con su cupula, luna y sol, nubes y todo eso. Aunque solo uso ps para la capa de nubes (tambien he usado los ejemplos que trae rendermonkey para las nubes). Podrias postear una captura de como te esta quedando, es que tengo curiosidad por como queda con otro enfoque.
Un saludo
El problema que os comentaba
(http://webs.ono.com/usr033/dracular/sol1.JPG)
Sin el blur, podeis ver la gama de colores, que claro, al hacer un blending ONE to ONE, nos suma los colores.
(http://webs.ono.com/usr033/dracular/sol2.JPG)
Aquí teneis el tema resolviendo un poco el problemilla, bajando los colores(¿Chapuza?
(http://webs.ono.com/usr033/dracular/sol3.JPG)
Texturon para el cielo, he?... jeje, tengo que utilizar una mas grande...
Bueno, ahi van las capturas de mi cielo (he desactivado el shader de nubes que aun estoy haciendo)
El amanecer de los tiempos:
(http://www.martinbr.com/misc/skytest_0.jpg)
A la hora del pan:
(http://www.martinbr.com/misc/skytest_1.jpg)
Ya sobre el medio dia:
(http://www.martinbr.com/misc/skytest_2.jpg)
Atardeciendo:
(http://www.martinbr.com/misc/skytest_3.jpg)
Luna llenaaaa:
(http://www.martinbr.com/misc/skytest_4.jpg)
Un poquito de glow:
(http://www.martinbr.com/misc/skytest_5.jpg)
Pues eso, con las capas de nubes espero que queden mucho mejor. Tambien me falta hacel el tipico afecto de "cegera" que al final lo voy a hacer con un textura y no tocando el gamma, que queda mejor. Otra cosa que tengo que mejorar son los lensflares que me han salido muy orteras... en fin...
Te está quedando genial! Y los flares me parecen muy buenos!
Yo en la segunda pasada, la que se dibuja en el render target, hago que el pixel shader me dibue un solo color, en mi caso amarillo. ¿Haces tu lo mismo para hacer el glow?
ermmmm, ¿como se hace ese efecto? :)
Yo unicamente uso pixel shaders para el efecto de la nubes, todo lo demas es como antiguamente <_< El efecto de glow es la tipica textura puesta encima... aunque se "interpola" el alpha y la escala segun el tiempo (con el sol y los flares hago algo parecido).
En cuanto a los flares, es el tipico efecto que no se debe de abusar de el. Prefiero algo que casi ni se vea.
Me interesa mucho discutir el tema del shader de la nubes. Es algo que da mucha "vidilla" a un cielo. En concreto me interesa algo totalmente procedural (como el ejemplo de RenderMonkey hecho con Perlin) y que le afecte el color y la posicion del sol, algo del estilo de:
(http://freespace.virgin.net/hugo.elias/models/cldcover3.jpg)
Algo que me interesa tambien, son efectos de "Haze" (en español no se como se diria...), es algo asi como esto:
(http://mzone.mweb.co.za/residents/jhammes/clifton_sunrise.jpg)
En fin, esto de los cielos es bastante interesante desde el punto de la programacion grafica... cuentame como piensas hacer lo de las nubes, ok?
Un saludo.
osea, que el sol es una especie de billboard. entonces cojonudo ;) .
En el libro ShaderX2 hay un capítulo titulado Advanced SkyDome que cubre lo que tu llamas el haze. También cubre la creación de un sol y una luna calculando su posición exacta.
Respecto a lo de las nubes, te diré que hay muuuchas técnicas, como tu bien dices, pero que todo depende de lo que se puede llegar a ver. Si el jugador no puede "volar" entre ellas, entonces un perlin noise con un vector de luz debería ser suficiente, aunque yo nunca lo he probado.
Y yo no haré nubes, puesto que lo que estoy haciendo es del espacio.
CitarAlgo que me interesa tambien, son efectos de "Haze" (en español no se como se diria...), es algo asi como esto:
Hombre, ahora me haces dudar, pero creo lo de haze ¿no es aquello de la profundidad de campo? ¿Que hace que las cosas a lo lejos se vean más difuminadas y un poco fundidas con el color cel cielo? (hablo desde mi completa ignorancia sobre programación gráfica :lol:)
sync
El Haze siempre lo he considerado como niebla volumétrica. En cambio eso que dice Astat me suena más a light scattering.
Aquí tienes un paper de ATI sobre el tema. Y
aquí una demo con código fuente.
Saludos.
Astat: quizá ésta intro te parezca interesante:
http://www.pouet.net/prod.php?which=7987La parte de las nubes funciona sin shaders (creo que toca dinámicamente una textura con un ruido perlin, pero no me hagas mucho caso), y quizá el programador pueda darte algo de info.
O sino en codepixel.com, que parte de las rutinas que hay aquí se usaron para la competición de ruido perlin que hubo y quizá haya más explicaciones.
Saludos.
(ole) (ole) (ole) (ole) (ole) (ole)
Queda muy bien el cielo...... salvo los lens flare. Haz sólo un sunburst,mucha gente ODIAMOS el lens flare clásico de hace unos años, y más tan recargado
PD: El libro Real Time 3d Terrain Engines using C++ and DX9 explica efectos muy wapos de luz en exteriores... coeficientes de raleight y de Mie para el scattering de la luz..
eh!!! Que este topic lo he puesto yo y a mi nadie me ha respondido!!!!
He puesto la demo esa de light scattering pero nunca la había probado. Pues bien, la acabo de probar y la verdad es que es impresionante... :)
Por cierto Haddd. Si lo que quieres es que el sol sea más amarillo que anaranjado, ¿por qué no cambias las texturas "noise" y "flame" y les pones otros colores?
Saludos.
CitarSi el jugador no puede "volar" entre ellas, entonces un perlin noise con un vector de luz debería ser suficiente, aunque yo nunca lo he probado.
Y yo no haré nubes, puesto que lo que estoy haciendo es del espacio.
En mi caso (un MMORPG) el jugador nunca llegara a pasar las nubes. Todo lo mas volar en algun bicho. Es mas, la mayor parte del tiempo la camara estara mirando al suelo, con lo que el cielo se vera en contadas ocasiones.... pero bueno, como lo hago como hobby, hago lo que me mola B)
CitarHombre, ahora me haces dudar, pero creo lo de haze ¿no es aquello de la profundidad de campo?
Con Haze (termino al que hacian referencia cuando leia vterrain.org [web genial para estos temas]) me refiero a esas degradaciones de corlor que se formar alrededor del sol en la atmosfera. Si os fijais en mis capturas, ahora lo simulo con una cupula ciclando las uvs de una textura (de 16x16). No queda mal, pero es demasido "uniforme".
CitarEl Haze siempre lo he considerado como niebla volumétrica. En cambio eso que dice Astat me suena más a light scattering. Aquí tienes un paper de ATI sobre el tema. Y aquí una demo con código fuente.
Genial la demo Berserker (ole) no la habia visto, ojala pueda conseguir algo parecido ( (nooo) )
CitarAstat: quizá ésta intro te parezca interesante:
http://www.pouet.net/prod.php?which=7987
La parte de las nubes funciona sin shaders (creo que toca dinámicamente una textura con un ruido perlin, pero no me hagas mucho caso), y quizá el programador pueda darte algo de info.
O sino en codepixel.com, que parte de las rutinas que hay aquí se usaron para la competición de ruido perlin que hubo y quizá haya más explicaciones.
Justo ayer me preguntaba como quedarian las nubes con dos capas... lo acabo de ver es esa demo jeje (ole) Me va a quedar bastante parecido a esa demo... solo que ocupara algo mas de 42kb XDD
Tengo una version sin PS (que usare si el usurio no tiene tarjeta con PS), pero acceder a la textura todo el rato me obligaba a tener una resolucion muy baja para que fuera fluido.
CitarQueda muy bien el cielo...... salvo los lens flare. Haz sólo un sunburst,mucha gente ODIAMOS el lens flare clásico de hace unos años, y más tan recargado
Totalmente deacuerdo contigo, Grugnorr. Si lo he puesto tan exagerado es porque estaba de pruebas y porque las texturas son de no-se-que juego rippeadas para probar. Cuando encontremos grafistas, haran unas mucho mas sutiles y el efecto solo tendra un "leve olor" a lensflare. Estoy buscando una buena textura para hacer el sunbrust.
En fin, grafias a todos por recordarme que estos foros pueden ser utiles!! (ole)
No es eso Berk. Lee bien el primer post
Hombre, yo creo que el problema es que si tienes una función de blending src=ONE y dst=ONE, al hacer src+dst siendo src amarillo (255, 255, 0) y dst graduaciones de rojo/amarillo el resultado de la suma siempre va a ser amarillo.
Yo probaría a hacer finetuning de la texturas y el rendertarget sol, para que ninguna de las dos tuviera intensidades máximas. Algo encaminado al último shot que pusiste pero puliéndolo más :)
¿Y no crees ithaqua que la 2º técnica que explico resuelve este problema?
Te refieres al último shot que digo yo?
En ese caso sí, de todas formas como te digo yo probaría a jugar más con los parámetros, aumentando la intensidad de la segunda pasada y modificando algo la primera.
En todo caso podrías postear alguna imágen de lo que quieres conseguir, para ver exactamente a dónde quieres llegar.