123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244 |
- #ifndef UNIVERSAL_SHADER_VARIABLES_INCLUDED
- #define UNIVERSAL_SHADER_VARIABLES_INCLUDED
- #if defined(STEREO_INSTANCING_ON) && (defined(SHADER_API_D3D11) || defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE) || defined(SHADER_API_PSSL) || defined(SHADER_API_VULKAN))
- #define UNITY_STEREO_INSTANCING_ENABLED
- #endif
- #if defined(STEREO_MULTIVIEW_ON) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE) || defined(SHADER_API_VULKAN)) && !(defined(SHADER_API_SWITCH))
- #define UNITY_STEREO_MULTIVIEW_ENABLED
- #endif
- #if defined(UNITY_SINGLE_PASS_STEREO) || defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED)
- #define USING_STEREO_MATRICES
- #endif
- #if defined(USING_STEREO_MATRICES)
- #define glstate_matrix_projection unity_StereoMatrixP[unity_StereoEyeIndex]
- #define unity_MatrixV unity_StereoMatrixV[unity_StereoEyeIndex]
- #define unity_MatrixInvV unity_StereoMatrixInvV[unity_StereoEyeIndex]
- #define unity_MatrixVP unity_StereoMatrixVP[unity_StereoEyeIndex]
- #define unity_CameraProjection unity_StereoCameraProjection[unity_StereoEyeIndex]
- #define unity_CameraInvProjection unity_StereoCameraInvProjection[unity_StereoEyeIndex]
- #define unity_WorldToCamera unity_StereoWorldToCamera[unity_StereoEyeIndex]
- #define unity_CameraToWorld unity_StereoCameraToWorld[unity_StereoEyeIndex]
- #define _WorldSpaceCameraPos unity_StereoWorldSpaceCameraPos[unity_StereoEyeIndex]
- #endif
- #define UNITY_LIGHTMODEL_AMBIENT (glstate_lightmodel_ambient * 2)
- float4 _Time;
- float4 _SinTime;
- float4 _CosTime;
- float4 unity_DeltaTime;
- float4 _TimeParameters;
- #if !defined(USING_STEREO_MATRICES)
- float3 _WorldSpaceCameraPos;
- #endif
- float4 _ProjectionParams;
- float4 _ScreenParams;
- float4 _ZBufferParams;
- float4 unity_OrthoParams;
- float4 unity_CameraWorldClipPlanes[6];
- #if !defined(USING_STEREO_MATRICES)
- float4x4 unity_CameraProjection;
- float4x4 unity_CameraInvProjection;
- float4x4 unity_WorldToCamera;
- float4x4 unity_CameraToWorld;
- #endif
- CBUFFER_START(UnityPerDraw)
- float4x4 unity_ObjectToWorld;
- float4x4 unity_WorldToObject;
- float4 unity_LODFade;
- real4 unity_WorldTransformParams;
- real4 unity_LightData;
- real4 unity_LightIndices[2];
- float4 unity_ProbesOcclusion;
- real4 unity_SpecCube0_HDR;
- float4 unity_LightmapST;
- float4 unity_DynamicLightmapST;
- real4 unity_SHAr;
- real4 unity_SHAg;
- real4 unity_SHAb;
- real4 unity_SHBr;
- real4 unity_SHBg;
- real4 unity_SHBb;
- real4 unity_SHC;
- CBUFFER_END
- #if defined(UNITY_STEREO_MULTIVIEW_ENABLED) || ((defined(UNITY_SINGLE_PASS_STEREO) || defined(UNITY_STEREO_INSTANCING_ENABLED)) && (defined(SHADER_API_GLCORE) || defined(SHADER_API_GLES3) || defined(SHADER_API_METAL) || defined(SHADER_API_VULKAN)))
- #define GLOBAL_CBUFFER_START(name) cbuffer name {
- #define GLOBAL_CBUFFER_END }
- #else
- #define GLOBAL_CBUFFER_START(name) CBUFFER_START(name)
- #define GLOBAL_CBUFFER_END CBUFFER_END
- #endif
- #if defined(USING_STEREO_MATRICES)
- GLOBAL_CBUFFER_START(UnityStereoGlobals)
- float4x4 unity_StereoMatrixP[2];
- float4x4 unity_StereoMatrixV[2];
- float4x4 unity_StereoMatrixInvV[2];
- float4x4 unity_StereoMatrixVP[2];
- float4x4 unity_StereoCameraProjection[2];
- float4x4 unity_StereoCameraInvProjection[2];
- float4x4 unity_StereoWorldToCamera[2];
- float4x4 unity_StereoCameraToWorld[2];
- float3 unity_StereoWorldSpaceCameraPos[2];
- float4 unity_StereoScaleOffset[2];
- GLOBAL_CBUFFER_END
- #endif
- #if defined(USING_STEREO_MATRICES) && defined(UNITY_STEREO_MULTIVIEW_ENABLED)
- GLOBAL_CBUFFER_START(UnityStereoEyeIndices)
- float4 unity_StereoEyeIndices[2];
- GLOBAL_CBUFFER_END
- #endif
- #if defined(UNITY_STEREO_MULTIVIEW_ENABLED) && defined(SHADER_STAGE_VERTEX)
- #if !defined(UNITY_DECLARE_MULTIVIEW)
- #define UNITY_DECLARE_MULTIVIEW(number_of_views) GLOBAL_CBUFFER_START(OVR_multiview) uint gl_ViewID; uint numViews_##number_of_views; GLOBAL_CBUFFER_END
- #define UNITY_VIEWID gl_ViewID
- #endif
- #endif
- #if defined(UNITY_STEREO_MULTIVIEW_ENABLED) && defined(SHADER_STAGE_VERTEX)
- #define unity_StereoEyeIndex UNITY_VIEWID
- UNITY_DECLARE_MULTIVIEW(2);
- #elif defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED)
- static uint unity_StereoEyeIndex;
- #elif defined(UNITY_SINGLE_PASS_STEREO)
- GLOBAL_CBUFFER_START(UnityStereoEyeIndex)
- int unity_StereoEyeIndex;
- GLOBAL_CBUFFER_END
- #endif
- float4x4 glstate_matrix_transpose_modelview0;
- real4 glstate_lightmodel_ambient;
- real4 unity_AmbientSky;
- real4 unity_AmbientEquator;
- real4 unity_AmbientGround;
- real4 unity_IndirectSpecColor;
- float4 unity_FogParams;
- real4 unity_FogColor;
- #if !defined(USING_STEREO_MATRICES)
- float4x4 glstate_matrix_projection;
- float4x4 unity_MatrixV;
- float4x4 unity_MatrixInvV;
- float4x4 unity_MatrixVP;
- float4 unity_StereoScaleOffset;
- int unity_StereoEyeIndex;
- #endif
- real4 unity_ShadowColor;
- TEXTURECUBE(unity_SpecCube0);
- SAMPLER(samplerunity_SpecCube0);
- TEXTURE2D(unity_Lightmap);
- SAMPLER(samplerunity_Lightmap);
- TEXTURE2D(unity_LightmapInd);
- TEXTURE2D(unity_ShadowMask);
- float4x4 _PrevViewProjMatrix;
- float4x4 _ViewProjMatrix;
- float4x4 _NonJitteredViewProjMatrix;
- float4x4 _ViewMatrix;
- float4x4 _ProjMatrix;
- float4x4 _InvViewProjMatrix;
- float4x4 _InvViewMatrix;
- float4x4 _InvProjMatrix;
- float4 _InvProjParam;
- float4 _ScreenSize;
- float4 _FrustumPlanes[6];
- float4x4 OptimizeProjectionMatrix(float4x4 M)
- {
-
-
-
-
-
-
-
-
- M._21_41 = 0;
- M._12_42 = 0;
- return M;
- }
- #endif
|