您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
60 行
2.0 KiB
60 行
2.0 KiB
#ifndef LIGHTWEIGHT_INPUT_INCLUDED
|
|
#define LIGHTWEIGHT_INPUT_INCLUDED
|
|
|
|
#define MAX_VISIBLE_LIGHTS 16
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Constant Buffers //
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
CBUFFER_START(_PerFrame)
|
|
half4 _GlossyEnvironmentColor;
|
|
half4 _SubtractiveShadowColor;
|
|
CBUFFER_END
|
|
|
|
CBUFFER_START(_PerCamera)
|
|
float4 _MainLightPosition;
|
|
half4 _MainLightColor;
|
|
half4 _MainLightDistanceAttenuation;
|
|
half4 _MainLightSpotDir;
|
|
half4 _MainLightSpotAttenuation;
|
|
float4x4 _WorldToLight;
|
|
|
|
half4 _AdditionalLightCount;
|
|
float4 _AdditionalLightPosition[MAX_VISIBLE_LIGHTS];
|
|
half4 _AdditionalLightColor[MAX_VISIBLE_LIGHTS];
|
|
half4 _AdditionalLightDistanceAttenuation[MAX_VISIBLE_LIGHTS];
|
|
half4 _AdditionalLightSpotDir[MAX_VISIBLE_LIGHTS];
|
|
half4 _AdditionalLightSpotAttenuation[MAX_VISIBLE_LIGHTS];
|
|
CBUFFER_END
|
|
|
|
// These are set internally by the engine upon request by RendererConfiguration.
|
|
// Check GetRendererSettings in LightweightPipeline.cs
|
|
CBUFFER_START(_PerObject)
|
|
half4 unity_LightIndicesOffsetAndCount;
|
|
half4 unity_4LightIndices0;
|
|
half4 unity_4LightIndices1;
|
|
CBUFFER_END
|
|
|
|
#define UNITY_MATRIX_M unity_ObjectToWorld
|
|
#define UNITY_MATRIX_I_M unity_WorldToObject
|
|
#define UNITY_MATRIX_V unity_MatrixV
|
|
#define UNITY_MATRIX_I_V unity_MatrixInvV
|
|
#define UNITY_MATRIX_P OptimizeProjectionMatrix(glstate_matrix_projection)
|
|
#define UNITY_MATRIX_I_P ERROR_UNITY_MATRIX_I_P_IS_NOT_DEFINED
|
|
#define UNITY_MATRIX_VP unity_MatrixVP
|
|
#define UNITY_MATRIX_I_VP ERROR_UNITY_MATRIX_I_VP_IS_NOT_DEFINED
|
|
#define UNITY_MATRIX_MV mul(UNITY_MATRIX_V, UNITY_MATRIX_M)
|
|
#define UNITY_MATRIX_T_MV transpose(UNITY_MATRIX_MV)
|
|
#define UNITY_MATRIX_IT_MV transpose(mul(UNITY_MATRIX_I_M, UNITY_MATRIX_I_V))
|
|
#define UNITY_MATRIX_MVP mul(UNITY_MATRIX_VP, UNITY_MATRIX_M)
|
|
|
|
#include "InputBuiltin.hlsl"
|
|
#include "CoreFunctions.hlsl"
|
|
|
|
float3 GetCameraPosition()
|
|
{
|
|
return _WorldSpaceCameraPos;
|
|
}
|
|
|
|
#endif
|