Por qué no se hacen artículos sobre los shaders?

Me he propuesto aprender como se hacer un videojuego, a todos los niveles, así que poco a poco voy avanzando en learn.unrealengine.com, viendo vídeos de la GDC, tutoriales, etc.

Y una cosa que me ha llamado la atención es lo INCREÍBLES que son los shaders y lo poco que se habla de ellos.

Sabemos que en Xbox marcó una diferencia (Splinter Cell 3 Xbox VS PS2 es un buen ejemplo) y en PS360 fue el inicio a mansalva de los shaders, sabemos que el “brilli brilli” son shaders, y también el simular que una textura sea más 3D (antes de llegar al concepto teselado) y ya está.

Y dan para tanto que no entiendo como no se ponen ejemplos de shaders en algún reportaje o algo así, sólo el resultado final claro, pero decir "este peazo efecto es sólo ‘una textura’ " es algo que llama la atención (vale, en realidad es un material compuesto de varias texturas y codificación, pero a efectos práctico es una “textura que ponemos en nuestra malla poligonal”)

Desde parecer que ondea la textura:

https://youtu.be/gwx2NOZJ5CE?t=1087

Parecer que es hielo que puedes ver dentro pero al mismo tiempo tiene “textura encima” para que no parezca que sólo estás mirando dentro de una caja:

https://youtu.be/X5WASspig3g?t=640

Que el centro de la esfera “siempre se vea quemada” (o transparente como muestra luego más tarde)

https://youtu.be/mig6EF17mR8?t=430

Como controlamos como reacciona la luz en una textura, podemos decir qué brilla y qué no cuando no le da la luz (aparte de grandes efectos de cell shading descritos en la propia “textura”)

https://youtu.be/E3zHGD8V2IY?t=825

Etc. etc., las posibilidades en los materiales son casi infinitas, y no se les presta atención ¡! (aunque es verdad que esto llevará a que la gente cuando juegue se pare en x sitio preguntándose si es un mesh, un shader, partículas avanzadas, o qué coño está viendo, así no hay quién juegue X-D )

PD: ya, ya sé que no se ven los vídeos incrustados, pero hasta que no le paguemos a Google no nos va a dejar poner los vídeos directamente…

1 me gusta

A mi son algo que me llamó la atención la ostia cuando la primera Xbox, pero que es algo que te acabas acostumbrando y ya no le das la misma importancia.

En su día, ver las carretera heladas del Ralliports Challenge, Flipar con el realismo del Wreckless con la iluminación, su agua y el brillo reflejado del sol, los escenarios y personajes del DOA3, el bumpmapping de Halo,… es que era algo tan novedoso que me pareció la ostia.

Luego ya, pues como todos los juegos los usan pues ya es lo normal. No sé, ahora lo que me parece espectacular de los juegos es el conjunto de todo a la vez, más que detalles puntuales de texturas específicas.

1 me gusta

https://youtu.be/8kQW2jFPYZo

1 me gusta

No se habla al respecto porque a no ser que te pongas a aprender sobre ello, suele dar igual como se hacen, a la gente en general no le importa cómo se hace el juego, le importa el resultado. A mi me encanta, trabajo con Unreal Engine 4 y ponerte a programar un material para conseguir ciertos efectos me parece hasta divertido. Es un mundo bastante complejo y extenso y se pueden hacer virguerías.

1 me gusta

Espera, la física de los líquidos de las botellas son shaders?!!! (cuando explora el interior queda claro que sólo es la textura, pero la hostia O_O )

Me ha gustado mucho este comentario de Youtube:

“Let me tell you just WHY this is a big deal: it’s purely shader-based. There is no CPU- and RAM-intensive liquid simulation involved, and the workload can be off-loaded entirely on GPU.
The fact that they managed to fake liquids purely with shaders so convincingly is the reason why it’s such a mind-blowing feature.”

Te iba a poner lo mismo XD

1 me gusta

https://www.shadertoy.com/

Los shaders son un mundo en si mismos.

Si los combinas con mesh pues ya es la ostia
https://docs.godotengine.org/en/3.2/tutorials/3d/vertex_animation/animating_thousands_of_fish.html

Igualmente al final es un recurso concreto, se aprende y se utiliza, tardas mas o menos… pero lo complicado de hacer un juego es el contenido y las mecanicas, al menos para mi.

1 me gusta

Pixel shader o vertex shaders?

Yo siempre busco y pego código xD

Me ha tocado buscar qué es eso X-D

Por lo que veo, sería la modificación de cómo se ve “en plano”, y lo otro es la modificación de la malla, “el teselado”, ¿o lo he entendido mal?¿?

1 me gusta

Los vertex shader te calculan las transformaciones de los polígonos del juego, escaladas, translaciones…
El píxel shader es el que se encarga de representar un polígono en el pixel que tienes en la pantalla. Aplicarle los efectos de textura…

1 me gusta

Sip, es algo así.

Yo ya te digo que tampoco controlo demasiado, siempre acabo buscando el código que necesito y apañándolo como puedo. Y mira que en matrices, quaternions y demás ya controlo bastante, pero es meterme a entender un shader y soy un puto zote xD

1 me gusta

Eso suena a enemigo del Doom, no me jodas X-D (yo de matemáticas no controlo, así que tengo claro que tengo unas limitaciones importantes en lo que puedo aprender o no X-D )

Es una forma de representar las rotaciones, en vez de por matrices. El concepto matemático tampoco lo tengo muy claro, creo que se basan en números complejos, pero me parecen mucho más prácticos que las matrices.

Pero amos eso a nivel de código de shader no lo he visto nunca, yo creo que al ser a mas bajo nivel y trabajar las gpus con matrices pues no tiene mucho sentido, es mas a nivel de rotaciones de los propios assets del juego.

1 me gusta