Llevamos ya unas cuantas clases y ya podemos hacer cosas interesantes en el cursillo de shaderse. Sin embargo no puedo sino decir que el cursillo tiene dos pegas bastante grandes. Una es que no hay mucha programación en sí, casi todo es mirar código. Ahora parece que Gusi va a intentar dinamizar un poco las clases haciendo que todos vayamos poco a poco programando lo que se explica.
Hay que tener en cuenta que todos somos unos vagos, y si no nos fuerzan a trabajar, nadie lo hará. Otra es que la teoría es un coñazo, hasta que te pones a hacerlo y le ves totalmente el sentido. Yo no entendía porqué había que hacer el cambio de base con la normal, binormal y tangente para hacer normal mapping. Pero cuando me puse a hacerlo y llegué a un punto en el que no podía seguir, ví claramente porqué era necesario.
Acabamos de volver del cursillo y hoy me he dedicado a un par de cosas. Por un lado he arreglado la práctica de informática gráfica para aceptar shaders. No me apetecía currarme un mini-motor otra vez, cuando todavía conservo la primera versión de SDE que era en C++. Y tenía lo suficiente hecho (árbol de nodos y gestión de cola de render, principalmente).
La otra cosa ha sido trastear con uno de los ejemplos que nos dieron. El ejemplo mezclaba 3 texturas en un terreno de forma suave. Pero sin iluminación quedaba como el culo. Así que le puse dos capas más, una con un lightmap y otra con una textura de ruido que se desplazaba, simulando nubes (en movimiento, claro está). He aquí el resultado:

En movimiento se ve bastante mejor, pero lo que realmente marca la diferencia es el lightmap.
- Cursillo de Flash
- Melt: Conceptos básicos
- Sistemas de partículas en la GPU
- Soporte vertical casero para la PStwo
- Práctica de shaders (1)
- 17 de Noviembre de 2007 a las 8:46 pm
Sickes dice:
La dinamica del curso si es algo aburrida por el tema de solo mirar codigo, pero lo bueno es que va mas rápido porque mira lo que echamos para hacer el fog y eso que era facil. Casi vale mas que den codigo y los que estamos interesados que trasteemos con el y la gente que no le interesa mucho pues que al final copy/paste y listo.
Sobre el normal mapping yo por lo menos lo que entendí es que se debe pasar todo al espacio de la tangente porque la textura que se utiliza tiene los valores en este espacio tangente, al menos esa fue con la idea que me quedé por que la verdad lo que peor llevo o mejor dicho llevaba, que poco a poco me voy enterando, es cuando y porque hay que cambiar de espacio de referencia.
De donde sacaste el ligthmap?, del programa que vimos hoy?
Por otro lado sobre la textura de ruido, que la aplicas sobre el terreno directamente? que utilizaste la textura 3d de otros ejemplos?
Miguel Herrero dice:
Sí, realmente tampoco se puede pedir que metan caña, porque al fin y al cabo es un cursillo de extensión, y habrá quién vaya a relajarse un poco de la carrera (que ya es bastante puñetera).
El lightmap es la textura del terreno convertida a gris (suma de las 3 componentes dividida entre 3).
Y la textura de ruido venía en el zip con los ejemplos de ruido (es noise.png) aunque luego no la usa para nada en el RenderMonkey.
KnudoW dice:
Yo hoy entendí bien la primera parte de Jacobo y las luces… y luego cuando empezamos con terrenos lo veía todo bien hasta que salió la malla y los buffers de vértices y todo eso….
Luego intenté cambiar la “altura” de los vértices de un modelo según un mapa de ruido (vamos, crear irregularidades pero desde el shader), pero no me dejaba hacer operaciones con la posición de los vértices, decía algo de que no se podía en VS2.0…
Ah, y me gusta que hagamos las clases más interactivas escribiendo nosotros el código a la vez que lo damos… pero Gusi tiene que recordar que nosotros no tenemos el Visual Assist X….
GUSi dice:
Uhmmm… buen punto el del Visual Assist X. Estaba esperando a ver si alguien preguntaba en clase de dónde salía todo ese código automático, pero veo algunos ya os habíais dado cuenta

Me alegra ver que estáis currando en la práctica y de que se van entendiendo (casi todas) las cosas que vemos en el curso. Sólo una sugerencia/petición… y es que trasladéis algunos de estos avances/dudas/sugerencias/comentarios al foro de la asignatura, para que el resto de compañeros se animen y vayan surgiendo soluciones entre todos.
Saludetes!

