Está en la página 1de 23

Traducido del inglés al español - www.onlinedoctranslator.

com

Capítulo III: Compute Shader, Ray Tracing y Sphere Tracing

Crearemos dos círculos (ayb), como se ha mencionado más arriba. Uno de ellos permanecerá estático, mientras

que el segundo se moverá de un lado a otro para apreciar el funcionamiento de la función “smin”. El "_PosiciónLa

propiedad está directamente relacionada con el movimiento del círculo.

Por otro lado, "_Liso"se utilizará para suavizar los bordes del propio conjunto, mientras que "_K”se
utilizará para calcular la interpolación entre los dos círculos.

Declaramos una función que nos permite generar un círculo para el ejercicio.

Mínimo liso entre dos superficies.

flotarcírculo(flotador2pag,flotarr)
{
flotard=longitud(pag)-r;
devolverd;
}

Como podemos ver, la función anterior tiene la misma estructura que hemos visto anteriormente.
Usando la función “smin”, podemos calcular el suavizado mínimo entre dos círculos en eletapa de
sombreado de fragmentos.

Mínimo liso entre dos superficies.

flotarcírculo(flotador2pag,flotarr) {...}

flotarsmin(flotara,flotarb,flotark) {...}

fijo4fragmento(v2di):SV_objetivo
{
flotara=círculo(i.uv,0,5);
flotarb=círculo(i.uv-_Posición,0,2);

flotars=smin(a, b, _K);
flotador de retorno4(s.xxx,1);
}

En el ejercicio anterior, creamos dos variables escalares llamadas "a" y "b.” Estos los usamos en la
función "smin", que devuelve la unión suavizada entre las dos formas.

351

La Biblia de Unity Shaders


Capítulo III: Compute Shader, Ray Tracing y Sphere Tracing

Mínimo liso entre dos superficies.

(Fig. 11.0.3c. Unión lisa según “k”)

Al incorporar la función "smoothstep" a la operación, podemos generar bordes suavizados para la


composición general.

Mínimo liso entre dos superficies.

fijo4fragmento(v2di):SV_objetivo
{
flotara=círculo(i.uv,0,5);
flotarb=círculo(i.uv-_Posición,0,2);

flotars=smin(a, b, _K);
flotarprestar=paso suave(s-_Suave, s+_Liso,0.0);
flotador de retorno4(renderizar.xxx,1);

Mínimo liso entre dos superficies.

(Figura 11.0.3d)

352

La Biblia de Unity Shaders


Capítulo III: Compute Shader, Ray Tracing y Sphere Tracing

Trazado de rayos.

Llegados a este punto, hemos repasado una parte esencial de los conocimientos necesarios para el
desarrollo de shaders en Unity, tanto en Built-In como en Universal RP. Sin embargo, en esta última sección
concentraremos nuestros estudios en la comprensión de los RP de alta definición y su configuración de Ray
Tracing.

Empecemos haciéndonos la siguiente pregunta ¿Qué es el Ray Tracing? Para entender el concepto,
debemos prestar atención al comportamiento de la iluminación en el mundo físico.

Ray Tracing, al igual que Sphere Tracing, utiliza la técnica “Ray Casting”. Sin embargo, en este caso
particular se centra en obtener aportes lumínicos de objetos reflectantes o refractivos en tiempo real,
por lo que podemos conseguir una composición más realista enviando rayos a través de cada píxel de
nuestra pantalla, que chocan y rebotan en cada objeto en la escena.

Trazado de rayos

(Figura 12.0.0a)

Se puede lograr una composición realista comprendiendo las siguientes características.

• Iluminación global.
• Reflexiones.
• Refracciones.
• Oclusión ambiental.
• Sombras.

Antes del Ray Tracing, dichas propiedades se calculaban en el software mediante “mapas de luz”, que
podemos obtener delventanas/Representación/Encendiendopanel. Sin embargo, dada la naturaleza

353

La Biblia de Unity Shaders


Capítulo III: Compute Shader, Ray Tracing y Sphere Tracing

Con esta técnica, los elementos de la escena debían permanecer estáticos, inhabilitando la posibilidad de
cálculos en tiempo real.

12.0.1 | Configuración de Ray Tracing en HDRP.

Comenzaremos esta sección usando una plantilla predeterminada de Unity Hub, versión 3.0.0-beta.6. Una
plantilla así se ve así.

Configurar el trazado de rayos en HDRP

(Figura 12.0.1a)

Como se mencionó al principio de este capítulo, será necesario utilizar RP de alta definición para realizar los
ejercicios. Podemos comprobar su configuración accediendo alWindows/Administrador de paquetesmenú y
asegurándose de que el paquete RP de alta definición esté instalado en nuestro proyecto (como se muestra
en la imagen 12.0.1b).

Configurar el trazado de rayos en HDRP

(Figura 12.0.1b)

354

La Biblia de Unity Shaders


Capítulo III: Compute Shader, Ray Tracing y Sphere Tracing

El RP de alta definición se caracteriza por su calidad de renderizado y compatibilidad con plataformas de alta gama, es

decir,ordenador personal,Playstation 4, oXbox uno(adelante).

También es compatible con DirectX 11 y versiones posteriores y Shader Model 5.0, que introduce
Compute Shaders para la aceleración de gráficos.

Al comienzo de nuestra escena, es común que algunas texturas se parezcan a las de la figura 12.0.1c. Se
debe a un error de configuración en los mapas de luz generados al crear el proyecto.

Configurar el trazado de rayos en HDRP

(Fig. 12.0.1c. Las paredes tienen errores en sus mapas de luz)

Para solucionar este problema, debemos prestar atención a la configuración de los objetos. Si seleccionamos

cualquier objeto, por ejemplo,FR_SectionA_01_LOD0(pared), notaremos que ha sido marcado como “estático”del

inspector de la unidad.

Luego, debemos ir al menú.Ventanas / Renderizado / Iluminacióny realizar la siguiente operación:

1. Pulsamos el desplegable perteneciente al botón Generar Iluminación y seleccionamos Borrar Datos


Horneados. Al realizar esta acción se eliminarán todos los mapas de luz, lo que nos permitirá
visualizar la iluminación predeterminada.
2. A continuación, debemos pulsar el botón Generar Iluminación.

El proceso puede tardar unos minutos dependiendo de la capacidad de nuestro ordenador. Sin embargo,
las texturas y la iluminación se mostrarán correctamente al final del proceso.

355

La Biblia de Unity Shaders


Capítulo III: Compute Shader, Ray Tracing y Sphere Tracing

Configurar el trazado de rayos en HDRP

(Fig. 12.0.1d. Los mapas de luz han sido corregidos)

Cabe destacar que la iluminación global y otras propiedades, como la oclusión ambiental, se están
"horneando" en cada textura. Por tanto, si cambiamos la posición de un objeto, sus propiedades de
iluminación mantendrán su forma y no se recalcularán.

La única forma de realizar este proceso en tiempo real es activando Ray Tracing en nuestro proyecto. Para
ello tendremos que considerar varias configuraciones para el mismo, incluida DirectX 12 (DX12). Todo el
proceso se puede resumir en tres pasos principales;

1. Renderizar activos de canalización.

2. Configuración del proyecto.

3. DirectX 12.

Empezaremos yendo al menú.Windows / Paneles / Configuración del proyecto, y prestaremos


atención a las siguientes categorías:

• Calidad.
• Gráficos.
• Configuración predeterminada de HDRP.

Tenga en cuenta que Unity crea una configuración de representación diferente para cada nivel de calidad en nuestro proyecto;

por ejemplo, nuestro proyecto tiene tres niveles de calidad predeterminados, que se pueden encontrar en la pestaña "Calidad".

• Alta calidad.
• Calidad media.
• Baja calidad.

356

La Biblia de Unity Shaders


Capítulo III: Compute Shader, Ray Tracing y Sphere Tracing

Cada uno de estos niveles tiene un “HD Render Pipeline Asset” diferente, por lo tanto, si queremos trabajar
con Ray Tracing, tendremos que habilitar sus opciones desde el Asset previamente configurado; en este
caso particular, Calidad Media.

Configurar el trazado de rayos en HDRP

(Fig. 12.0.1e. Configuración de Calidad Media)

Después de seleccionar el activo HD Render Pipeline de nuestro proyecto, debemos prestar atención al "
Representación" y "Encendiendo”Menú que se encuentra en Unity Inspector. Comenzando en el
desplegable del primero, tendremos que activar la opción “Realtime Ray Tracing (Preview)”, como se
muestra en la Figura 12.0.1f.

Si nuestro proyecto utiliza una configuración de DirectX distinta a la versión 12, aparecerá el siguiente mensaje.

Aparezco:


“ Actualmente, Ray Tracing sólo es compatible con DX12.

Dado que Ray Tracing no funciona en versiones inferiores a DirectX 12, tendremos que cambiar su
configuración en nuestro proyecto más adelante. Por ahora, continuaremos habilitando algunas opciones
que nos permitirán realizar cálculos de iluminación global y otras funciones.

357

La Biblia de Unity Shaders


Capítulo III: Compute Shader, Ray Tracing y Sphere Tracing

Configurar el trazado de rayos en HDRP

(Figura 12.0.1f)

A continuación, nos dirigiremos al menú “Iluminación” y habilitaremos las siguientes opciones:

• Oclusión ambiental del espacio de pantalla.

• Iluminación Global del Espacio de Pantalla.

• Reflexión del espacio de la pantalla.

• Sombras del espacio de la pantalla.

Después de la "espacio de clip"coordenada continúa"espacio de pantalla”, que se refiere a la


transformación de coordenadas entre -1,0f y 1,0f a coordenadas de pantalla. Por tanto, podemos
deducir que a mayor resolución, mayor será el cálculo de Ray Casting. Por tanto, más potencia
necesitaremos en la GPU.

Oclusión ambiental del espacio de pantalla (SSAO)Corresponde a un efecto de imagen capaz de


reproducir una aproximación de la oclusión ambiental en tiempo real.

Iluminación global del espacio de pantalla (SSGI)nos permitirá calcular el rebote de la iluminación en
tiempo real, generando una representación lumínica más precisa de la composición de nuestra escena.

Reflexión del espacio de la pantallanos permitirá calcular los reflejos en tiempo real.

La misma analogía es válida paraSombras del espacio de la pantalla, lo que mejora la proyección de sombras en

nuestro proyecto.

358

La Biblia de Unity Shaders


Capítulo III: Compute Shader, Ray Tracing y Sphere Tracing

Configurar el trazado de rayos en HDRP

(Fig. 12.0.1g. Las diferentes opciones se han habilitado desde el menú desplegable Iluminación)

Hasta este punto, Ray Tracing y sus propiedades ya están habilitados en Render Pipeline Asset. Luego,
debemos configurar nuestro proyecto para que estas propiedades puedan realizar sus operaciones.

De nuevo, ve aWindows/Paneles/Configuración del proyecto, Configuración predeterminada de HDRPmenú y asegúrese de que

tenga el mensaje "Trazado de rayosOpción “activa desde el menú”Representación"menú desplegable en elConfiguración de

marco.

Configurar el trazado de rayos en HDRP

(Fig. 12.0.1h. Habilitación del Ray Tracing para la cámara de la escena)

Entonces, desde elEncendiendomenú, debemos habilitar las mismas opciones que activamos en el Render

Pipeline Asset:Sombras del espacio de la pantalla,Reflexión del espacio de la pantalla,Iluminación global del

espacio de la pantalla, yOclusión ambiental del espacio de la pantalla.

359

La Biblia de Unity Shaders


Capítulo III: Compute Shader, Ray Tracing y Sphere Tracing

Configurar el trazado de rayos en HDRP

(Figura 12.0.1i)

En este momento,Trazado de rayosya está configurado en nuestro proyecto. Sin embargo, debemos cambiar nuestra

DirectXconfiguración ya que, como se mencionó anteriormente, esta técnica solo funciona en la versión 12, y nuestro

proyecto, por defecto, ha sido configurado enDX11. Podemos verificar esto en la ventana de Unity en la barra de

herramientas, como se muestra en la figura 12.0.1j.

Configurar el trazado de rayos en HDRP

(Figura 12.0.1j)

Para ello debemos ir al menúAsistente para Windows / Render Pipeline / HD Render Pipeline. Debemos
presionar elArreglar todobotón de laTrazado de rayos DirectXpestaña (HDRP + DXT).

360

La Biblia de Unity Shaders


Capítulo III: Compute Shader, Ray Tracing y Sphere Tracing

Configurar el trazado de rayos en HDRP

(Fig. 12.0.1k. Pestaña DirectX Raytracing)

Es posible que el software solicite reiniciar una vez que el proceso haya finalizado.

Cuando volvamos a cargar nuestro proyecto nos aparecerá Unity con el<DX12>etiqueta en la parte superior de la

interfaz. Si volvemos a laAsistente de canalización de renderizadoventana, notaremos que todas las propiedades

aparecen en verde, lo que significa que Ray Tracing está habilitado para ellas.

12.0.2 | Usando Ray Tracing en nuestra escena.

Comenzaremos creando una nueva escena en nuestro proyecto. Para el ejercicio utilizaremos una plantilla
incluida en nuestro proyecto, llamada “Basic Outdoors (HDRP)”, la cual se caracteriza por tener por defecto
los siguientes objetos:

• Una cámara (Cámara Principal).


• Una luz direccional (Sol).
• Un cielo (Volumen de cielo y niebla).

Cabe destacar que utilizaremos una habitación y una esfera para ejemplificar el ejercicio. Dichos
objetos “.fbx” se pueden encontrar en el paquete adjunto a este libro en su sección respectiva.

Crearemos dos materiales en nuestro proyecto, uno para cada elemento. Llamaremos al material de la
habitación”mat_room”, mientras que el material de la esfera lo llamaremos “mat_esfera.” Nos
aseguraremos de asignar elHDRP/iluminadosombreador para ambos.

Antes de comenzar, asignaremos cada material a su respectivo objeto.

361

La Biblia de Unity Shaders


Capítulo III: Compute Shader, Ray Tracing y Sphere Tracing

Anteriormente, habilitamos la propiedad Reflejo del espacio de pantalla desde Render Pipeline Asset;
por lo tanto, si aumentamos el valor de las propiedades “Metálico y Suavidad” en cualquiera de los
materiales, podremos visualizar reflejos en tiempo real, como se muestra en la figura 12.0.2a. Sin
embargo, dicho reflejo depende del ángulo de visión de la cámara, generando artefactos gráficos.

Usando Ray Tracing en nuestra escena

(Fig. 12.0.2a. mat_room material, Metálico igual a 0.5f, Suavidad igual a 1.0f)

Si queremos activar los reflejos mediante Ray Tracing, debemos realizar los siguientes pasos:

1. Seleccione elVolumen de cielo y nieblaobjeto.

2. Ir a suVolumencomponente.
3. Haga clic en elAgregar anulaciónbotón.

4. Seleccione el menúIluminación / Reflexión del espacio de la pantalla.

Para el ejercicio activaremos todos los “Anular" propiedades. Sin embargo, apreciaremos cambios
gráficos significativos una vez que habilitemos “Ray Tracing (Vista previa)” porque los reflejos se
calcularán en tiempo real.

362

La Biblia de Unity Shaders


Capítulo III: Compute Shader, Ray Tracing y Sphere Tracing

Usando Ray Tracing en nuestra escena

(Figura 12.0.2b)

Modificando el valor del parámetro “Bounce Count”, podemos aumentar o disminuir la cantidad de
rebote de los rayos reflejados.

Podemos usar la misma analogía para configurar la oclusión ambiental y la iluminación global. Para ello
pulsamos el botón “Agregar anulación”Botón nuevamente y seleccione elIluminación / Espacio de
pantalla Iluminación globaloOclusión ambientalmenú.

El proceso es similar en el caso de las sombras. Para ello debemos ir a la luz global de nuestra escena (Sol),
seleccionar el menú Sombras y habilitarSombras del espacio de la pantalla.

Debemos asegurarnos de activar la propiedad “Sombras con trazado de rayos (vista previa)” para que surta
efecto. Una vez realizado este proceso, podemos ir a laFormamenú y modificar el diámetro angular según
las necesidades de nuestro proyecto.

363

La Biblia de Unity Shaders


Índice.

A. Depuración. (0)
Analogía entre un sombreador y un material. (0) Compresión DTX. (0)
Agregar transparencias usando Cg o HLSL. (0) Producto escalar. (0)

Agregando compatibilidad con URP. (0) Reflexión difusa. (0)


Analizando el gráfico de sombreado. (0) Tipos de datos. (0)

Oclusión ambiental. (0)


Color ambiental. (0) MI.
Etapa de solicitud. (0) Función Exp, Exp2 y Pow. (0)
Función abdominales. (0)

Reflexión ambiental. (0) F.


Efecto Fresnel. (0)
B. Representación directa. (0)

Canalización de renderizado incorporada. (0) Etapa de sombreado de fragmentos. (0)

Función de suelo. (0)

C. Función frac. (0)


Coordenadas del espacio de clip. (0)

CGPROGRAMA/ENDCG. (0) GRAMO.

Pragmas Cg/HLSL. (0) Inspector de gráficos. (0)

Cg/HLSL Incluir. (0) Fase de procesamiento de geometría. (0)

Entrada y salida de vértices Cg/HLSL. (0) Inspector de gráficos. (0)

Variables cg/HLSL y vectores de conexión.


(0) h.
Etapa de sombreado de vértices Cg/HLSL. (0) Estructura de funciones HLSL. (0)

Etapa de sombreado de fragmentos Cg/HLSL. (0) Canalización de renderizado de alta definición. (0)

Funciones personalizadas. (0) HLSL. (0)


Sombreador de cálculo. (0)

Calcular Shader, UV y textura. (0) I.


Búfer de cálculo. (0) Configuración de entradas y salidas. (0)
Geometría sólida constructiva. (0) Funciones intrínsecas. (0)

Función de techo. (0) Introducción al lenguaje de programación. (0)


Función de sujeción. (0) Sombreador de efectos de imagen. (0)

Producto cruzado. (0)

l.
D. Función de longitud. (0)

Sombreado diferido. (0) Función Lerp. (0)

364

La Biblia de Unity Shaders


Modelo de iluminación. (0) Estructura de sombreador de superficie estándar. (0)

Función Sin y Cos. (0)


METRO. Función Step y Smoothstep. (0)
Función mínima y máxima. (0) Función Smin. (0)
Matrices y sistemas de coordenadas. (0) Implementación de la sombra. (0)

Cajón de propiedades de materiales. (0) Comenzando con Shader Graph. (0)

Alternar MPD. (0) Implementación de Seguimiento de Esfera. (0)

MPD KeywordEnum. (0) Mínimo liso entre dos superficies. (0)


Enum. MPD. (0) Optimización del mapa de sombras. (0)

MPD PowerSlider e IntRange. (0) Reflexión especular. (0)


Espacio y encabezado MPD. (0) Sombreador. (0)

Sombreador de superficie estándar. (0)

NORTE. Sombreador ShaderLab. (0)

Mapas normales. (0) Propiedades de Shader Lab. (0)

Normales. (0) Subsombreador ShaderLab. (0)

Etiquetas de subsombreador. (0)

o. Mezcla de subsombreadores. (0)

Nuestro primer sombreador que utiliza Cg o HSLS. (0) SubShader AlphaToMask. (0)
Nuestro primer sombreador que utiliza Shader Graph. (0) Máscara de color SubShader. (0)

Espacio-Objeto. (0) SubShader Culling y Pruebas de profundidad. (0)

Eliminación de ShaderLab. (0)

PAG. ShaderLab ZWrite. (0)


Propiedades de un objeto poligonal. (0) Prueba Z de ShaderLab. (0)

Propiedades para números y controles deslizantes. (0) Plantilla ShaderLab. (0)


Propiedades de colores y vectores. (0) Pase ShaderLab. (0)
Propiedades para texturas. (0) Respaldo de ShaderLab. (0)

Proyectar una textura con Sphere Tracing. (0) Entrada y salida de superficie estándar (0)
Oscuridad. (0)
r. Mapeo de sombras. (0)
Configuración de Ray Tracing en HDRP. (0) Lanzador de sombras. (0)

Etapa de rasterización. (0) Textura del mapa de sombras. (0)

Tubería de renderizado. (0) Mapeo de sombras, RP universal. (0)


Sombreador de trazado de rayos. (0) Gráfico de sombreado. (0)

Renderizar activo de canalización. (0) Seguimiento de esferas. (0)

Trazado de rayos. (0) Funciones de distancia firmadas. (0)

Espacio de pantalla. (0)

S. Iluminación global del espacio de pantalla. (0)

Estructura de sombreado. (0) Reflexiones del espacio de pantalla. (0)

365

La Biblia de Unity Shaders


Sombras del espacio de pantalla. (0)

Oclusión ambiental del espacio de pantalla. (0)

T.
Función bronceado. (0)

Matriz TBN. (0)


Tangentes. (0)
Tipos de canalización de renderizado. (0)

Tipo de sombreadores. (0)

Cola de etiquetas. (0)

Tipo de representación de etiquetas. (0)

Tiempo y animación. (0)

Ud.
Coordenadas ultravioleta. (0)

Sombreador apagado. (0)

Canalización de renderizado universal (0).

v.
Color de vértice. (0)

Vértices. (0)
Etapa de sombreador de vértices. (0)

Vectores. (0)
Ver-espacio. (0)

w.
Mundo-espacio. (0)

¿Qué motor de renderizado debo usar? (0)


¿Qué es un sombreador? (0)

366

La Biblia de Unity Shaders


Gracias especiales.

Taneli Nyyssönen; David Jesús Ville Salazar; Carlos Aldair Román Balbuena; Sergio
Mireles Zamorano; Jhoseman César Maraza Ytomacedo; Luis Fernando Salcido Infante;
José Pizarro Rocco; Nicolás Hutchind; Luis Bazán Bravo; Elsie Ng; Lewis Hackett; Sarang
Borude; Jonathan Sánchez; Ivan Востриков; Alberto Pérez Bermejo Galilea; Esteban Liu;
Михаил Хаджинов; Zach Hilbert; Jake Manfre; Carlos Castro; Orlando Javier Orozco Guzmán;
Furrólico; Alejandro Ruiz Ferrer; Éric Le Maître; Dimas Alcalde; Mika Juhani Makkonen; Giuseppe
Graziano Softwareentwicklung; Xury Greer; Luca Palmili; Timoteo Nedvyga; Coelet Swart; David
Tamayo; Pedro Martín; Václav Vancura; René Meléndez; César Daniel Cerino Susano; Marcin Skupień;
Puente Ryan; Víctor Celis Padrón; José Rogovski; Jay Edry; Ángel Daniel Vanches Segura; Mikail Miller;
Juegos de locura; Ruilán Berg Pereira; Punto Nueve; GameDevHQ Inc; David Muñoz López; Andrea
Vollendorf; Djamschid Arefi; Srikanth Siddhu; LLC de vidrio roto; Ben Vanhaelst; Antonio Davis; Asim
Ullah; Juan Schulz; Rubén Luna de San Macario; Nathalie Barbosa Vásquez; Lucas Aue; Arnis Vaivars;
Joel MacFadyen; Rebecca L Dilella;志炜 ⻢;Nhân Nguyễn; Eduardas Klenauskis; Stylianos Petrakis;承晏
蔡;Iván Paulo Guazzelli Machado; Daniel García Fernández; Víctor Pan; Amit Netanel; Daniel Ponce;
Thibaut Chergui; Tuan Minh Vu; Craig Herndon; Jordan Huot-Roberge; Dragonhill LLC; Yuan Chiu;
Serguéi Ladychin;庆常;Patricio Pilmeyer; Ignacio María Muñoz Márquez; Tapani Heikkinen; Alejandro
Maximovich; Sebastián Cruz Dussán; Dustin Hoye; Matías Rico; Cory Bujnowicz; Josué Ortigoza;
Traducciones Skydsgaard; Marc Cacho; Geovane Pereira; Juegos de lluvia de ideas LLC; César Iván
Gallo Flores; Marcos Mainardi; Hola laboratorios; Ricardo Costa Maginador; Yannick Vanhoutte; Peter
Winston; Orlando Batista da Silva Lando; Brandon Brown.

MKS Soluciones; Jdui; Duca Stefan Stefan; Daniel Kavanaugh; Dominik Gygax; Erick Breto; Ángel
Paredes Zambrano; Derek Westbrook; Gabriele Lange; Christopher Manasse; Timoteo Fehr; Taylor
Bazhaw; Nathaniel Shirey; AuKtagon; Matteo Lo Piccolo; Jonathan Smith; Rowan Goswell; Corporación
De Blasio; Chaya Jagroep Jagroep; Nikhil Sinha; Dana Frenklach; Wilmer Lin; Roman Lembersky; Carlos
Daniel Ahuactzin Parra;江哉 湊;Tesseracción Ltd; Nasrul Nasir; Alejandro Caila; Sime Tadic; Michael
Dunkley; Creaciones de robots azules; Juan Medina; Ana Postma; Adrián Higareda; Ignacio Gajardo;
Eduardo Fernández Silva; Juan Camilo Alcaraz Cartagena; Gabriela Mylonas; Juan Castillo; Sara Sturm;
Fernando Labarta; Alan Pereira; Tom Nemec; Ángel Ordóñez Sánchez; Sabina Kurgunayeva; Kayden
Tang Tang; Kluge estratégica Inc; Josué Byron; Afif Faris; Jonathan Morales Rocha; Ángel David García
Gómez;용근류;Shawn Sarwar; inMotion VR BV; Joakim Lundkvist;Valerio Bellia; BetaJester Ltd; Bryan
Pierce; marco

367

La Biblia de Unity Shaders


Tieghi; Dominique Maier; Carl Emil Hattestad; Éric Rico; Osama Obeid; Liam Walsh;
Quintín Chalivat; Carlos Melo; Michel Bartz; Lidia Arzentón; Abandonar barco LLC; Paola
González Olea; Kasper Røgen; Jozef Batrna; Lucas Blaker; Noé Gude; Peter Britton; Timo
Sikinger; Михаил Екимов; Kevin Toet; Patrick Geoghegan; Radosław Polasik; Gerard
Belenguer; Roberto Chiovenda; Justen Chong; Miguel
Stein; Cervezas Brett; Abraham Armas Cordero; Jae-Hyeok Hong; Juan Sabater Sanjaume; Piotr
Wardyński; Kerry Leonard; Tsukada Takumi; Crisley Maihana; Ben Kahlert; Parag Ponkshe; Parque
Giyong; Ryan Kann; Samuel Porter; Jacob atar; Andrés Fitzpatrick.

Daniel Holmes; Anura Rajapaksa; Giorgi Tsaava; Pau Elías Soriano; Robert Hoole; Siniestro UX; Psypher
Juegos LLP; Patricia Kelley; Алексей Черендаков; Esko Evtyukov; Fabricio Henrique; Zach Jaquays; Jad
Deeb; Michael Hein; Sourav Chatterjee; Djordje Ungar; Casa de How Games LLC; Alejandro René;
Daniel López; Thibaut Hunckler; Estudio Sunny Valley;裕貴新井; Marcos Rebollo; François Therasse;
Jimmy Brown III; Ruperto Morris; Zach Williamson; Gage Kilmer; Adán Lomax; Ian invierno; Adrián
Galeazzi; Tan Jen; Kayla Slifer; Simón Kandah; Alexei Tristán Menardo; Estudios Gorilla Gonzales; Fred
Mastropasqua; Bradley blanco; Johnathan Pardue; Matán Poreh; Curtis Weekusk-Blanco; Wei Zhang;
Davide Jones; Luis Reynaldo Alves; Diego Peña; Virtuosos Vietnam; Robert Cracovia; Owen Duckett;
Muhammad Azmán; Metacio; Mike Curtis; Lanza libre; Tammy Martín; Piotr Rudnicki; Adam Anh

Doan Kim Caramés; Micael Brito de Jesús;이 미주;Juan Restrepo; Eran Mani; Mario Fatati; Lucas Keven
Simoes dos Santos Ventas; Jeremías Meister; Scott Allison; Cristóbal Goy; Le Canh; Leonardo Oropeza;
Juegos implosivos; Víctor Mahecha; Deyanira Llanes; Omer Avci; Marcos Silva; Stanislav Kirdey; Camila
González; César Mory Jorahua; Juan Diego Vázquez Moreno; Mundos desconocidos Entertainment Inc;
Daniel García; Michał Lęcznar; David Nieves Trujillo;友太 本⼭;Carsten Flöth; Ángel Siendones Sillero;
Mikko McMenamin; Richard Le; Ericke Maciel; Максим Хламов; Alejandro Salvati; Marc Jensen; Ariel
Núñez Bodden; Khang Nguyen; Pepijn van der Linden; Alejandro Horvat; Carlos Alberto Montiel
Zavala; Christopher O'Shea; Babosa útil; Chris Rosati; Sean Loughran; Suresh Venkataramana;
Benjamín Radcliffe; José Manuel Vera Menárguez.

Charlie Darraud;健⽃ 神⽥;Jonathan Rodríguez Ruiz; José Vicente Fernández Pardo;


Ishan Prakash; Ari Hoopes; Colina Jarvis; Ekipa2 doo; Marcin Iwanowski; Freddy
Espinosa; Étienne Loignon; Datorien Anderson; Tomás Marrón; Sebastián Procek; Shahar
Butz; Tomás Quiroz; Píxel deshilachado limitado; Mayank Ghanshala; Estudios TwinRayj;
Estudio de una rueda; Luca Naselli; Pablo José de Andrés Martín; Максим Голубенко;Nikola
Garabandic; Fernando Spagnolo; Irrealidad3D; Péter Nagyidai; Winfried Schwan; VRFX Realtime Studio
GmbH; Dana Würzburg;陳芸軒;Juan Manuel Ramón Vigo; Eric blanco; Yu Gao; David Bermúdez López;
Berlingeri Gilles; Derek Yiok Teik Lau; Robin

368

La Biblia de Unity Shaders


obstáculos; Dennis Koch; conceder Nelson; Marcel Martí; Daniel Corujeira Ortega;
Charlotte Delannoy; Casey Mooney; Yorai Omer; Eric Manahan; Anastasiya Tolkachyova;
Wei Tang; NieddaWorks; Colin Mongabure; ‫ ;בוקלו יירדנא‬Shuxing Li; Shiri Blumenthal;
Kevin Choo divertido joven; Slufter; Nikolai McNeely; Kevin Roberto Gómez Peralta; Diego
Esedín; Andrés Bowen; Mateo Spencer; Susan Cho; Brillante
Futuro GmbH; Sander De Pauw; Alen Brkicic; Guillaume Cauvet; Michael Avilés; Fabio Schegg; Centro
Michael; Jean-Baptiste Sarrazin; Rolandas Cinevskis;学贤 张;Brian Smith; Nathan Buckley; Julien
Rochefort Delsalle; Medios de Coldharbour; Ali Taher; Wade Lewis; Wei Zeng; Vesselin Handjiev;
Lukász Lampka; Groove Jones; Esteban Eisenmann; Kaochoy Saetern; Cristóbal Kline; Daria
Luchaninova; Akash Castelino; Daniel Radu; Théo Monnom; Javier Mollá García; Aykut Yildirim;
Bernhard Esperester; Nathan Sheppard; Rémi Kroll; Katerina Колесникова;Alejandro Sachuk; César
Ramírez Cervantes; Christian Molinero; James Rossiter; Moritz Großfurtner; Ludwig Broman.

Christian Hertwig; Ben Bonifacio; Jans Margevics; William Barteck; Nils Hammerich; Óscar Kogut;
Darko Nikolic; 043 Imagina; José Torres; Digitalpro; Юрий Ануфриев; Juegos Ludibytes; Hamish
Dickson; Timoteo Neville; William Barba; Евгений Шишкин;広希 奈良;Alessio Landi; Niklas Weber;
James Macgill; Jessamyn Dahmen; Justin Herrick; Raymond Micheau;
Troy Patterson; Sandor Fejer; Antonio Massingham; Ryousuke Nakai; Kazumi Mitarai; Samuel Furr
hijo; Katsuya Taniguchi; Arturo Del; Mateo Burgess; Anil Ayaz; Neomorph Estudio SRL; David Moscoso;
KoriinArt; Rodrigo Abreu; Antonio Ripa; Víctor Lalo; Gnomo de oro; Vitai Tamás Egyéni Vállalkozó; Bajo
Zhe Ming Walter; Jordán Dubreuil; Jun Kyung Kim; Adrián Orcik; Edwin Morizet; Wojciech Sajdak;
Roberto Bernous; Wilson Ortíz Morales; Mario Tudón; Marc Segura Molina; Malik Abu Aune; Miguel
Grunfeldt; Pitchayah Chiothian; Iván Godoy Rojas; Juan Mauricio Ochoa Castillo; Alina Sommer; Omar
El Halabi;재영 최;Ryan Salam; Ben Guiden; Kevin Hagen; Tranquilo; Kevin Willis; Carlos Gerardo
Enríquez Valerio; Valerie Núñez; Peter Cowen; Chang Hoon Oh; Pavel Shutau; Mattías Gyllerup;
conocimientos tradicionales; Yuri Kovtunovych; Jason Peterson; Nicole Wade; Starloop SL; Raúl Torres
González; Adrián Rangel Suárez; Zaibatsu Interactive Inc; Arnaud Jopart; Valdeir Antonio Nascimento
Santos; Juan Carlos Romero; Joss Gitlin; Christian Santoni; Du Yoon; Adrián Koretski; Juan Antonio
López Rodríguez; Dongyeon Kim; Flashosofía; Cuchilla

Wehmeier; Wendeline Aerts; Joan Sierra Patiño; Michael Ha; Pruebe el diseño web; Eddy
mayo; Josh Lowes; Do Minh Triet; Mateo Anderson; Durmus Ali Collu; Emma Barnes;
Christer Bjoerk.

Angie Rojas Méndez; Adriel Almirol; Jacob Fletcher; Krzysztof Bziuk; Simón Borg; Diego
Paniagua Morales; Alan Berfield; Adam Warkentin; Piedra de Jonathon; Chèze Chèze; Senem
Gökce Ogultekin; Louise se agacha; koi-koi; Víctor Carvalho Estrella;

369

La Biblia de Unity Shaders


Bruno Fernando Pita Sassioto Silveira de Figueiredo de Figueiredo; Oleksandr
Kokoshyn; Danny Darwiche; La Forja de la Vida; Natus; Patricio Schnorbus; Raúl Vera
Ortega; Daniel Izacar Memije Fábrego; Kevin Babín; Diego Millán; Jean-Bernard Geron;
David Alonso Alapont; Andrea Osorio; Manuel Obertlik; Juan Álvarez Mesa; Brad Johnson;
Ricardo Diaz; Alejandro Azpitarte; Wayne Moodie; Brock Williams;
Ernesto Salvador Solares Guerrero; Abdullah Al Zeer; Mathis Schmidtke; Juan Carlos Horta; Ilham
Effendi; Aarón Prideaux; Syed Salahuddin; Damián Griffin; David Roume; Mal Duffin; Armonte
Williams; Daiya Shinobu; Michael Joyce; Danik Tomyn; Syama Mishra; Marina Le Borne; Daniel Ilett;
Omar Espinosa; Juegos de renacuajos; Paulo Sergio Fernández; Ahmed Gado; Gilberto Alexandre dos
Santos; Ato Ishimoto; Alejandro Grinkevich; Víctor Cavagnac; Andoni Torres; Kailun Cai; Wilko Willame;
Christopher Johnson; Jefferson Pérez; 1998; Iván Gallego Muñoz; Sergio Labbé Grandón; Arnoldo
Wittenberg; Dominic mayordomo; Steve Barr; Misumi Yuki; Dawid Ochryniak; Yingdi Fu; Doge Corp;
Sofía Lozano Valdés;健⽃中島;Thomas Tassi Joergensen; Cristóbal Munguía; Lim Siang; Rolf Vidstid;
Juegos Desarius de Dario Visaggio; David Vivas Esteváo; Ciria Quispe; Nathan Clark; Marco Di Timoteo;
Jan Neuber; Ángel Arístides Zúñiga; James Meade; Iniciativas Digitales; Marvin Gewiss; Yulia Trukhan;
Paulo Lara Carreño; Daniel Sierra; Andrés Cortés Dávalos; Raúl Bustamante Morales; Aldo Eduardo
Fuentes Millán; Raimundo Gallino; Martín Pérez Villabrille; José Francisco Torreblanca Nava; Julio Ortíz
Acosta.

Jesús Popocatl Lara; Juan Manuel Hernández Hernández; Pookzzz3d Ninja; Данила Поляков;Juan
Antonio Pascual Albarranch; Tahiche María Mena; Silvia Acevedo; Orlando Almario; Alfonso Varela
Giménez; Ekaitz Segurola Elosua; Andrea Polanco; Murughavell Allagarsamy; Marcos Antonio Vilca;
Javier Maldonado Díaz; Massimo Di Cesare; Pablo Pinto Camacho; Héctor Ortiz Muñiz; Roberto
Delgado Sánchez; Ahmed Elwardy; Omar Akkari; Guillermo Meléndez Morales; Daniel García Daniel
García; Jorge Vecino Labajo; Juan Francisco Matheu García; Bastián Oñate; Thiago Carneiro; Eduardo
Noé; Juan Estrada; Luis Garví Zarco; Adalberto Perdomo Abreu; Miguel Cano Santana; Casey Hallis;
Ignacio Alcaíno; Juan Díaz de Jesús; Miguel Muñoz Ortega Terrazas; Vita Skruibyte; Daniel Sorensen
Sorensen; Sebastián Manríquez; Patil Aslanian; Ersagun Kuruca; Ismael Salvado Fernández;永恒 朱;
Óscar Yair Núñez Hernández; Nguyễn Đại; fraser

Hutchison; Mario Pinto Hermosell; Pedro Alfonso de Aviz; Lee Wayne;有成胡; Mateo
Berenty; Yimeng Chen; Un Brunton; George Katsaros; Mark Kieran; Ryan Collins; Ígor
Dantsev; Ayoub Khourbach; Damián Osikovsky; Ross Furmidge; David Lozano Sánchez;
Nguyen Cuong; Kyle Harrison; Trixtaro - Desarrollo de Software; Jordán Totten; Paul
Moore;현근 곽;Pedro Ley; Francisco Javier Lucas Martínez; Павел Плеханов; Andrea Zilio;
Juan Mozo Osorio; Quintín Julien; Alejandro Calabuig Langa; Keith Mottram; Reinier
Goijvaerts; Dilpreet Singh Natt; Patricia Sipes; Renán

370

La Biblia de Unity Shaders


Dresch Martins; Sungjin Bae; Stephen Selwood; Aplicaciones Unije; Rosario Ranieri;
Scott McCulloch; Jordán Fye; Wenpu Ng; Alejandro Grunert; Jason Tu; Nikita Kotter;
Nicole Cox;⼀樹西脇;Angéline Guignard; Bartosz Bielecki; Bautista Valle; 順⼀ ⾺場;Lleïr
Valerià Diego Gutiérrez; Damián Turnbull; Ian Brenneman; Nicolás Acevedo Suzarte;亮⼈
西尾;Anastasija Grigorjeva.

Manoj Jeyaram;尼玛 胡;Jelle Husson; Karsten Westra; Judie tailandesa; Emanuel Castro Flores; Eduardo
Roa M; Daniel Fairgrieve; Steven Hurst; Michal Pawlowski; Robert Southgate; Jeffrey Scheidelaar;
Daniel Turner; Денис Смольников; Shayam Thomas; Raül Pla Ruiz; Juan Bulseco; Hongbum Kim;
Roberto Margotta; Eran Eshkol; Maciej Miarecki; Alejandro Abreu; Kelvin puesto; Alejandro Mutuc;
Valsueño; Yifat Shaik; Ramón Ausio Mateu; José Ignacio Ferrer Vera; Burak Soylu; Thierry Berger; Alan
Sorio; Jamie Niman; Adrián Impédovo; Jaeyoung Choi; Chara Sottou; Alessia Marra; Arno Poppe; José
Aristizábal; Juan Lucas Arruda Maciel; Shounak Mandal; Daniel Gómez Atienza; Eddy Marguerón; José
Javier Serrano Solís; Mitchell Theriault; Alejandro Isom; YuChen Ou; Venkatesh Muskam; Enmar
Ortega; Katie McCarthy; Juan Martínez López; Samuel Moreno Luque; Cody Scott; Elliot Padfield;
Wilson Rivera; Ian Butterfield; Juan Casal; Jason Brock; Santiago Viso Cervera; Camilo Ángel Grimaldo
Arreguín; Samuel Swift-Glasman; Juan Rantala; Adrian Ślusarek; Phuoc Vu; Faisal; Jamie Hyland; José
Ignacio Alonso Kuri; Eric Kalpin; Vasile Sebastián Mihali; Jonatas Santos; Daniel De Oliveira; Damián
Smyth; Jouni Sarvanko; Giuseppe Modarelli;

Juliusz Wojnicz; Ellitsa Ilieva; Ángel Germán Pavón Cabrera; Guilherme Schüler; Simon Sääf malm;
Logan Lewis; Mikel González Alabau; Betania Dixon; Daniel Fischer; Lewis Nicholson; Armando Soto;
Lloyd Vicente; Michael Jonathan Magaña Domínguez;修逸 ⾕;Julio Alejandro Quiroz Astorga; Michael
Donnelly; Brendan Polley; Steafan Collins; Harry Emmanuel; Ryan Trowbridge; Alex Pritchard; Zhou
Ming Tang; Manuel Galíndez; Aquí está Joe, LLC; Jérémy Bonnaud; Cristóbal Medina; Parque Daum.

Chanael Godefroid; Tushar Purang; Donnovan Feuillastre; Christopher Coyle; Aakash Shah; Abud
Malki Malki; Mateo Kinahan; Александр Джанашвили;崇億 張;Adeline Kinsama; Chi Hung Wu; Clara
Rodríguez Palacios; Cristian Peñas Laplaceta; Neel Rajeshkumar Mevada; Brian Heinrich; Glaswyll
Entretenimiento LLC; Anil Mohan; Zdravko Nikolovski; Arda
Hamamcioglu; Nick Ward; Trucos de diseñador; เจนสทิธ วงศว์รจรรย; ์ Tu Ho Le Thanh;
Erik Niese-Petersen; Emil Bachvárov; Christian Van Houten; Las mejillas dulces; Michał
Szynal; Michael Hayter; Genevieve St-Michel; Fouad AlSabeh; Alejandro Ruíz; Jacob
Rouse; Jeremías; Bajo Galaxia; Elodie Marina Solange Saito; Shawn Beck; Ming Hau Loh;
Marvin Saignat; Alberto Marcelo; Kayra Kupcu; Long Nguyễn; Madeleine Kay; Zbigniew
Zelga; Morgane Paulmier; conceder Blair;승범 이;Ciro Continisio; Diego Gutiérrez Rondán;
Antonella Vannucci; José Argenis Jiménez González;

371

La Biblia de Unity Shaders


Jason Holanda Holanda; Alejandro Endo;岩⽥ 和⼰;Jordi Porras Estupiñá; Julio Piana;
Mishel Delgado; Kaliba Games & Technologies Inc; Ryan Molinero;国云 刘; Estezel;
Sharatbabu Achary; Gigantesco Teknoloji AS; Andreas Tsimpanogiannis; Diwakar Singh;
Steven Burgess; A Kim Arrate; Austin Eathorne; Caleb Greer; Antonio Rafael Ruano
Rodríguez; Florián Geslin; Benjamín Thomas Harbakk; Xu Guo; Jonathan Kelly; Ronnie
Denney; Aarón Stewart; Steven Cárdenas; Alexander Bespalov; Thomas Dik; Aristóteles Domínguez
González; Florent Lagrede; Kathy Huynh; Enlace Bryan; Álex Murphy; Juan Pedro; Yulia Yudintseva;
Simón Gemmel; Christoph Weinreich; Cybernate PTY LTD; Leonardo Marqués; Jonathan Ludwig; Shin
Tsukada; Eric granjero; Виктор Григорьев; Kushal Timsina; Jalexa Hernández Baena; Trung Nguyen
Tran; Hibbert Soluciones de TI Ltd; Konrad Jastrzebski; Alejandro Bianchi.

Caio Marchi Gomes do Amaral; Matt McCormack; Yuichi Matsuoka; Andriy Matviychuk; Lieven Van den
Audenaeren; Ediber Reyes; จฑุาวชัร บญุมาก; Renata Ivony; Dmytro Derybas; Josué Villarreal; Clemente
Brard; Sofía Caponnetto; Maksim Ambrazhei; Seongho Lee; Jeff Minnear; Heath Sargent; Diego
Sánchez Ramírez; Página de Cristóbal; Juan de Oliveira; Adriano Romano; Gersón Cárdenas; Juegos de
gatos; Reder Joubert; Trevor Ings; Jonathan Jenkins; Hugo Bombail; Iván Sazanov; Michael Daubert;
Jérôme Cremoux; Yefri Avella Molano; Luis Ángel Meza Salinas; Mauricio Vargas; Olie Swinton; Ayoub
Ourahma; Yaraslau Sidarkevich; Kristófer Knutsen; Garrett McMichael; Ayoub

Ourahma; James Smith; Marc Alloza Ayxendri; Miquel Postigo Llabrés; Ilya Загайнов;Cameron Millar;
Hamza Rangoonia; Zach Holt; Holly Lobo Newlands; 信裕⽯黒;Dai Zhen; Mateo Insley; Henrique Sousa;
Yusue Chen; Antti Hietaniemi; Antón Sasinovich; Mischa Wasmuth; Wang Yong Gang; Carl Hughes;
Liyuan Qi; Jorge Mula Ferrer; Josué Prosser; Aarón Scott; Pierre Tané; Ramil Limarest Roosileht;
Patricio Yeung; Juan Manuel Altamirano Argudo; Hugo Alvarado; Jonás Sulzer; Nicole Folliott;
Donghwan Kim; Raees Rahim; Cole Andress; Orlando Si-Kae Fang; Pablo Guinot Gironda; Mateo Tan;

Peetsj; Nikita Pohutsa; Erik Minarini; Alejandro Eisenhart; Sergi Herrero Collada;
Guido Meo; Lee llamativo; Fabián Schweizer; Shane Nilsson; Hernán; Hugo Vincey;
Abdul Brown; Faris Alshehri; Ji Hyun Ahn; Daniel Rondán; Jeff Registro; José Javier
Delgado Cuder; Rocío Campo; Arthur Gros Coumantaros Aulicino; Michael Hoen; Michael
Trainor; David Hooper; Takefum I Kaido; Alexander Kravsov; Александр Басюк;Carlos
Iván Córdoba Quintana; Tormenta de sombras limitada.

372

La Biblia de Unity Shaders


“Jettelly te desea éxito en tu carrera profesional”.

373

La Biblia de Unity Shaders

También podría gustarte