Está en la página 1de 5

Prefacio | Jettelly Learn 16/12/21, 10:38

Prefacio
Esta publicación está disponible en...

Uno de los mayores problemas que tenemos los desarrolladores de


videojuegos al momento de iniciar nuestros estudios sobre shaders en
Unity, es la poca información que existe en la web para principiantes. Seas
un desarrollador independiente o uno enfocado en proyectos AAA, puede
volverse un tanto complicado entrar en esta materia debido a que el
conocimiento necesario para desarrollar este tipo de programas es
bastante técnico.

No obstante esta dificultad, Unity ofrece una gran ventaja ya que, al ser
multiplataforma nos permite escribir nuestros videojuegos sólo una vez y
exportarlos a distintos dispositivos, incluyendo consolas y smartphones
Así mismo, una vez que iniciemos nuestra aventura en el mundo de los
shaders, podremos escribir nuestro código sólo una vez y el software se
encargará de compilarlo para distintas plataformas (OpenGL, Metal,
Vulkan, Direct3D, GLES 20, GLES 3x).

La “Biblia de Shaders en Unity” ha sido creada para solucionar gran parte


de los problemas que tenemos al iniciar en este mundo. Comenzaremos
revisando la estructura de un shader en lenguaje Cg y HLSL para luego
conocer: sus propiedades, comandos, funciones y sintaxis.

¿Sabías que en Unity existen tres tipos de Rendering Pipeline y cada uno
de ellos tiene sus propias cualidades? A lo largo del libro los analizaremos
en detalle, revisando además la manera en que Unity procesa los gráficos
para proyectar nuestros videojuegos en la pantalla del computador.

I. Temas que veremos en este libro.

El libro estará dividido en tres capítulos, en los cuales se irán abordando


los temas en la medida en que los vayamos necesitando; de manera lineal.
https://learn.jettelly.com/es/curso/biblia-de-shader-en-unity/usb-capitulo-1/prefacio/ Page 1 of 5
Prefacio | Jettelly Learn 16/12/21, 10:38

A pesar de ello, cabe mencionar que este libro estará sujeto a cambios
estructurales en el tiempo para mejorar la comprensión de su contenido,
así mismo, lograr una buena interacción con el lector.

Todo el código que veremos en este libro ha sido testeado utilizando el


editor de código Visual Studio Code y revisado en Unity para los distintos
tipos de Render Pipeline.

Capítulo I: Introducción al lenguaje de programación de shaders.

Corresponde a los conocimientos previos que debemos tener antes de


iniciarnos en la materia tales como: la estructura de un shader en lenguaje
ShaderLab, analogía entre las propiedades y variables de conexión,
SubShader y comandos (ColorMask, Stencil, Blending, etc), pases y
estructura del lenguaje Cg y HLSL, estructura de una función, análisis del
vertex Input, análisis del vertex output, analogía entre una semántica y
una primitiva, estructura del vertex shader stage, estructura del fragment
shader stage, matrices y más. Este capítulo será el punto de partida para
entender conceptos fundamentales sobre el funcionamiento de un shader
en Unity.

Capítulo II : Iluminación, sombra y superficie.

En él se abordarán temas de alta relevancia, tales como: los mapas de


normales y su implementación, mapas de reflexión, análisis de iluminación
y sombras, modelo básico de iluminación, análisis de superficies,
funciones matemáticas, especularidad, luz ambiental y anisotropía.
Además revisaremos Shader Graph, su estructura, funciones en HLSL,
nodos, propiedades y más. En este capítulo haremos que nuestro
videojuego luzca profesional con conceptos avanzados de iluminación.

Capítulo III : Compute shader, ray tracing y sphere tracing.

Revisaremos conceptos avanzados, tales como: estructura de un

https://learn.jettelly.com/es/curso/biblia-de-shader-en-unity/usb-capitulo-1/prefacio/ Page 2 of 5
Prefacio | Jettelly Learn 16/12/21, 10:38

compute shader, variables buffer, implementación de distintos kernel,


instancias, implementación de iluminación, superficies implícitas,
normales, formas y algoritmos, introducción a ray tracing, configuraciones
y rendering de alta calidad. Nuestros estudios van a concluir en este
capítulo y para ello indagaremos en programación GPGPU (general
purpose GPU) utilizando shaders de tipo .compute y .raytrace.

II. Recomendaciones.

Es fundamental trabajar con un editor de código que posea IntelliSense


en lenguaje de programación de gráficos; específicamente en Cg o HLSL.
En Unity podemos encontrar a Visual Studio Code que en sí, es una
versión más compacta de Visual Studio Community. En este editor
podemos encontrar algunas extensiones que agregan intellisense tanto en
C# como en ShaderLab y HLSL.

Para aquellos que utilizarán Visual Studio Code como su editor de código,
se recomienda la instalación de las siguientes extensiones: C# for visual
studio code (Microsoft), Shader language support for VS Code
(Slevesque), ShaderLab VS Code (Amlovey), Unity Code Snippets
(Kleber Silva).

III. Para quién es este libro.

Este libro ha sido escrito para desarrolladores Unity que buscan mejorar
su conocimiento en materia gráfica o bien crear efectos que luzcan
profesionales. Se asume que el lector ya conoce, entiende y tiene acceso
a la interfaz de Unity, por lo que, no entraremos en detalles de esta.

Si bien es cierto tener un conocimiento previo sobre lenguaje C# o C++,


será de bastante ayuda para entender parte del contenido presentado en
este libro, sin embargo, esto no es un requisito excluyente para el lector o
lectora.

https://learn.jettelly.com/es/curso/biblia-de-shader-en-unity/usb-capitulo-1/prefacio/ Page 3 of 5
Prefacio | Jettelly Learn 16/12/21, 10:38

Será fundamental tener una pequeña base de conocimiento en aritmética,


álgebra y trigonometría para entender conceptos más avanzados, de
todas maneras haremos revisión de las operaciones matemáticas y
funciones para entender a cabalidad lo que estamos desarrollando.

IV. Glosario.

Dada su naturaleza, en este libro encontraremos frases y palabras que se


distinguen del resto, las cuales podremos identificar con facilidad debido
a que serán resaltadas para dar énfasis a una explicación o concepto. Así
mismo, existirán bloques de código en lenguaje HLSL para ejemplificar
algunas funciones.

Habrá que tomar en consideración que las palabras importantes serán


mostradas en negrita. Este ejercicio será empleado de igual manera, para
llamar la atención del lector sobre líneas de código (e.g. _Color). Algunas
palabras y/o definiciones técnicas serán mostradas en cursiva (e.g.
normales), y para aquellas variables o valores predefinidos, serán
mostradas en MAYÚSCULAS (e.g. RGBA).

En el libro podremos encontrar bloques de código que incluyen tres


puntos (…), estos se refieren precisamente a variables y/o funciones
incluidas por defecto dentro del código.

V. Errata.

Al momento de escribir este libro, hemos tomado todas las precauciones


para asegurar la fidelidad del contenido, aun así, debemos recordar que
somos seres humanos y es muy probable que algunos puntos no estén
bien explicados o se haya errado en la corrección ortográfica y/o
gramatical. Si encuentras un error conceptual, de código u otro, te
agradeceríamos si puedes enviarnos un mensaje al correo
contact@jettelly.com indicando en el asunto “USB Errata”, así estarás
ayudando a otros lectores a reducir su nivel de frustración y además

https://learn.jettelly.com/es/curso/biblia-de-shader-en-unity/usb-capitulo-1/prefacio/ Page 4 of 5
Prefacio | Jettelly Learn 16/12/21, 10:38

podremos mejorar cada versión del mismo en las siguientes


actualizaciones.

Por otra parte, si sientes que a este libro le falta alguna sección de interés,
puedes enviarnos un correo de todas maneras y nosotros incluiremos esa
información en futuras versiones.

VI. Assets y donaciones.

Todo el trabajo que ves en Jettelly ha sido desarrollado por sus propios
integrantes, esto incluye dibujos, diseños, videos, audio, tutoriales, y en sí,
todo lo ves en la marca. Jettelly es un estudio independiente de desarrollo
de videojuegos y tu apoyo es fundamental para nosotros. Si deseas
apoyarnos económicamente, puedes hacerlo directamente desde nuestro
Patreon (www.patreon.com/jettelly) o a través de nuestra cuenta de
PayPal (www.paypal.com/paypalme/jettelly).

Este libro cuenta con assets exclusivos para el reforzamiento del


contenido. Si deseas descargarlos, puedes hacerlo directamente desde
nuestro Patreon, siguiendo el post “USB Assets”. De antemano, muchas
gracias por apoyarnos. Jettelly te desea éxito en tu carrera profesional.

VII. Piratería.

Antes de copiar, reproducir o facilitar este material sin nuestro


consentimiento, recuerda que: Jettelly es un estudio independiente y
autofinanciado, por lo que, cualquier práctica ilegal podría afectar nuestra
integridad como equipo desarrollador.

Este libro se encuentra patentado bajo derechos de autor y tomaremos


protección de nuestras licencias seriamente. Si encuentras este libro en
una plataforma distinta de Jettelly o detectas una copia ilegal, solicitamos
comunicarse con nosotros al correo contact@jettelly.com (adjuntando el
link si fuese necesario), de esta manera podremos buscar una solución.

https://learn.jettelly.com/es/curso/biblia-de-shader-en-unity/usb-capitulo-1/prefacio/ Page 5 of 5

También podría gustarte