A game about forced loneliness, made by TACStudios
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 105 lines 3.9 kB view raw
1#ifndef BUILTIN_INPUT_INCLUDED 2#define BUILTIN_INPUT_INCLUDED 3 4#define MAX_VISIBLE_LIGHTS_UBO 32 5#define MAX_VISIBLE_LIGHTS_SSBO 256 6 7// Keep in sync with RenderingUtils.useStructuredBuffer 8#define USE_STRUCTURED_BUFFER_FOR_LIGHT_DATA 0 9 10#include "Packages/com.unity.shadergraph/Editor/Generation/Targets/BuiltIn/ShaderLibrary/ShaderTypes.cs.hlsl" 11#include "Packages/com.unity.shadergraph/Editor/Generation/Targets/BuiltIn/ShaderLibrary/Deprecated.hlsl" 12 13#if defined(SHADER_API_MOBILE) && defined(SHADER_API_GLES30) 14 #define MAX_VISIBLE_LIGHTS 16 15#elif defined(SHADER_API_MOBILE) || (defined(SHADER_API_GLCORE) && !defined(SHADER_API_SWITCH)) || defined(SHADER_API_GLES3) || defined(SHADER_API_WEBGPU) // Workaround because SHADER_API_GLCORE is also defined when SHADER_API_SWITCH is 16 #define MAX_VISIBLE_LIGHTS 32 17#else 18 #define MAX_VISIBLE_LIGHTS 256 19#endif 20 21struct InputData 22{ 23 float3 positionWS; 24 half3 normalWS; 25 half3 viewDirectionWS; 26 float4 shadowCoord; 27 half fogCoord; 28 half3 vertexLighting; 29 half3 bakedGI; 30 float2 normalizedScreenSpaceUV; 31 half4 shadowMask; 32}; 33 34/////////////////////////////////////////////////////////////////////////////// 35// Constant Buffers // 36/////////////////////////////////////////////////////////////////////////////// 37 38half4 _GlossyEnvironmentColor; 39half4 _SubtractiveShadowColor; 40 41#define _InvCameraViewProj unity_MatrixInvVP 42float4 _ScaledScreenParams; 43 44float4 _MainLightPosition; 45half4 _MainLightColor; 46half4 _MainLightOcclusionProbes; 47 48// xyz are currently unused 49// w: directLightStrength 50half4 _AmbientOcclusionParam; 51 52half4 _AdditionalLightsCount; 53 54#if USE_STRUCTURED_BUFFER_FOR_LIGHT_DATA 55StructuredBuffer<LightData> _AdditionalLightsBuffer; 56StructuredBuffer<int> _AdditionalLightsIndices; 57#else 58// GLES3 causes a performance regression in some devices when using CBUFFER. 59#ifndef SHADER_API_GLES3 60CBUFFER_START(AdditionalLights) 61#endif 62float4 _AdditionalLightsPosition[MAX_VISIBLE_LIGHTS]; 63half4 _AdditionalLightsColor[MAX_VISIBLE_LIGHTS]; 64half4 _AdditionalLightsAttenuation[MAX_VISIBLE_LIGHTS]; 65half4 _AdditionalLightsSpotDir[MAX_VISIBLE_LIGHTS]; 66half4 _AdditionalLightsOcclusionProbes[MAX_VISIBLE_LIGHTS]; 67#ifndef SHADER_API_GLES3 68CBUFFER_END 69#endif 70#endif 71 72// Duplicate defined symbols in built-in target 73#ifndef BUILTIN_TARGET_API 74#define UNITY_MATRIX_M unity_ObjectToWorld 75#define UNITY_MATRIX_I_M unity_WorldToObject 76#define UNITY_MATRIX_V unity_MatrixV 77#define UNITY_MATRIX_I_V unity_MatrixInvV 78#define UNITY_MATRIX_P OptimizeProjectionMatrix(glstate_matrix_projection) 79#define UNITY_MATRIX_I_P (float4x4)0 80#define UNITY_MATRIX_VP unity_MatrixVP 81#define UNITY_MATRIX_I_VP (float4x4)0 82#define UNITY_MATRIX_MV mul(UNITY_MATRIX_V, UNITY_MATRIX_M) 83#define UNITY_MATRIX_T_MV transpose(UNITY_MATRIX_MV) 84#define UNITY_MATRIX_IT_MV transpose(mul(UNITY_MATRIX_I_M, UNITY_MATRIX_I_V)) 85#define UNITY_MATRIX_MVP mul(UNITY_MATRIX_VP, UNITY_MATRIX_M) 86#define UNITY_PREV_MATRIX_M unity_MatrixPreviousM 87#define UNITY_PREV_MATRIX_I_M unity_MatrixPreviousMI 88#else 89// Not defined already by built-in 90#define UNITY_MATRIX_I_M unity_WorldToObject 91#define UNITY_MATRIX_I_P (float4x4)0 92#define UNITY_MATRIX_I_VP (float4x4)0 93#define UNITY_PREV_MATRIX_M (float4x4)0 94#define UNITY_PREV_MATRIX_I_M (float4x4)0 95#endif 96 97 98// Note: #include order is important here. 99// UnityInput.hlsl must be included before UnityInstancing.hlsl, so constant buffer 100// declarations don't fail because of instancing macros. 101#include "Packages/com.unity.shadergraph/Editor/Generation/Targets/BuiltIn/ShaderLibrary/UnityInput.hlsl" 102#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/UnityInstancing.hlsl" 103#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/SpaceTransforms.hlsl" 104 105#endif