Macros del preprocesador Shader predefinidas
Variables shader integradas

Funciones Shader integradas de ayuda

Unity tiene una serie de funciones de utilidad incorporadas diseñadas para que la escritura de shaders sea simple y fácil.

Funciones declaradas en UnityCG.cginc

Consulte los Archivos incluidos de los shaders integrados para obtener una descripción general de los archivos de inclusión de shader proporcionados con Unity.

Funciones de transformación Vertex en UnityCG.cginc

Función: Descripción (Description):
float4 UnityObjectToClipPos(float3 pos) Transforma un punto del espacio de objeto en el espacio de clip de la cámara en coordenadas homogéneas. Este es el equivalente de mul(UNITY_MATRIX_MVP, float4(pos, 1.0)), y debe ser utilizado en su lugar.
float3 UnityObjectToViewPos(float3 pos) Transforma un punto del espacio de objeto al espacio de vista. Este es el equivalente de__mul(UNITY_MATRIX_MV, float4(pos, 1.0)).xyz__, y debe ser utilizado en su lugar.

Funciones de ayuda genéricas UnityCG.cginc

Función: Descripción (Description):
float3 WorldSpaceViewDir (float4 v) Devuelve la dirección del espacio de mundo (no normalizada) desde la posición del vértice del espacio del objeto dado hacia la cámara.
float3 ObjSpaceViewDir (float4 v) Devuelve la dirección del espacio del objeto (no normalizado) desde la posición del vértice del espacio del objeto dado hacia la cámara.
float2 ParallaxOffset (half h, half height, half3 viewDir) Calcula el offset UV para parallax normal mapping.
fixed Luminance (fixed3 c) Convierte el color en luminancia (escala de grises).
fixed3 DecodeLightmap (fixed4 color) Decodifica el color del mapa de luz de Unity (RGBM o dLDR según la plataforma).
float4 EncodeFloatRGBA (float v) Codifica el rango flotante [0..1) en color RGBA, para almacenar en baja precisión del objetivo de renderización.
float DecodeFloatRGBA (float4 enc) Decodifica el color RGBA en un float.
float2 EncodeFloatRG (float v) Codifica el rango float [0..1) en un float2.
float DecodeFloatRG (float2 enc) Decodifica un float RG previamente codificado.
float2 EncodeViewNormalStereo (float3 n) Codifica el espacio de vista normal en dos números en el rango 0..1.
float3 DecodeViewNormalStereo (float4 enc4) Decodifica el espacio de vista normal desde enc4.xy.

Funciones de ayuda de Forward rendering en UnityCG.cginc

Estas funciones sólo son útiles cuando se utiliza forward rendering (tipos de pass ForwardBase o ForwardAdd).

Función: Descripción (Description):
float3 WorldSpaceLightDir (float4 v) Calcula la dirección del espacio de mundo (no normalizado) a la luz, dada la posición del vértice del espacio del objeto.
float3 ObjSpaceLightDir (float4 v) Calcula la dirección del espacio del objeto (no normalizado) a la luz, dada la posición del vértice del espacio del objeto.
float3 Shade4PointLights (...) Calcula la iluminación de las luces desde cuatro puntos, con datos de luz fuertemente empaquetados en vectores. Forward rendering utiliza esto para calcular la iluminación por vértice.

Funciones de ayuda del espacio de la pantalla en UnityCG.cginc

Función: Descripción (Description):
float4 ComputeScreenPos (float4 clipPos) Calcula la coordenada de textura para hacer una muestra de una textura mappeada a la pantalla. La entrada es la posición del espacio del clip. La función se ocupa de diferencias de plataforma en las coordenadas de textura de renderizado.
float4 ComputeGrabScreenPos (float4 clipPos) Calcula la coordenada de textura para muestrear un textura de GrabPass. La entrada es la posición del espacio del clip. La función se ocupa de diferencias de plataforma en las coordenadas de textura de renderizado.

Funciones de ayuda Vertex-lit en UnityCG.cginc

Estas funciones son útiles cuando utilice shader per-vertex lit (Tipo de pass “Vertex”).

Función: Descripción (Description):
float3 ShadeVertexLights (float4 vertex, float3 normal) Calcula la iluminación desde cuatro luces por vértice y ambiente, dada la posición del espacio de objeto y normal.
Macros del preprocesador Shader predefinidas
Variables shader integradas