You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
4.0 KiB
122 lines
4.0 KiB
// Shader targeted for low end devices. Single Pass Forward Rendering.
|
|
Shader "UniQuake/Quake"
|
|
{
|
|
Properties
|
|
{
|
|
[MainTexture] _BaseMap("Base Map (RGB) Alpha (A)", 2D) = "white" {}
|
|
[MainColor] _BaseColor("Base Color", Color) = (1, 1, 1, 1)
|
|
|
|
[NoScaleOffset] _LightMap("Lightmap (RGBA)", 2D) = "white" {}
|
|
|
|
_Cutoff("Alpha Clipping", Range(0.0, 1.0)) = 0.666
|
|
|
|
[HDR] _EmissionColor("Emission Color", Color) = (0,0,0)
|
|
[NoScaleOffset]_EmissionMap("Emission Map", 2D) = "white" {}
|
|
|
|
// Blending state
|
|
[HideInInspector] _Surface("__surface", Float) = 0.0
|
|
[HideInInspector] _Blend("__blend", Float) = 0.0
|
|
[HideInInspector] _AlphaClip("__clip", Float) = 0.0
|
|
[HideInInspector] _SrcBlend("__src", Float) = 1.0
|
|
[HideInInspector] _DstBlend("__dst", Float) = 0.0
|
|
[HideInInspector] _ZWrite("__zw", Float) = 1.0
|
|
[HideInInspector] _Cull("__cull", Float) = 2.0
|
|
}
|
|
|
|
SubShader
|
|
{
|
|
Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline" "UniversalMaterialType" = "SimpleLit" "IgnoreProjector" = "True" "ShaderModel"="4.5"}
|
|
LOD 300
|
|
|
|
Pass
|
|
{
|
|
Name "ForwardLit"
|
|
Tags { "LightMode" = "UniversalForward" }
|
|
|
|
// Use same blending / depth states as Standard shader
|
|
Blend[_SrcBlend][_DstBlend]
|
|
ZWrite[_ZWrite]
|
|
Cull[_Cull]
|
|
|
|
HLSLPROGRAM
|
|
#pragma exclude_renderers gles gles3 glcore
|
|
#pragma target 4.5
|
|
|
|
// -------------------------------------
|
|
// Material Keywords
|
|
#pragma multi_compile_local __ _ALPHATEST_ON
|
|
#pragma multi_compile_local __ _EMISSION
|
|
#pragma multi_compile_local __ _QLIGHTMAP_ON _AFFINE_ON // Lightmapping and affine texturing are mutually exclusive
|
|
|
|
// -------------------------------------
|
|
// Universal Pipeline keywords
|
|
#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
|
|
#pragma multi_compile _ _POINT_SAMPLING
|
|
|
|
// -------------------------------------
|
|
// Unity defined keywords
|
|
#pragma multi_compile_fog
|
|
|
|
#pragma vertex LitPassVertexSimple
|
|
#pragma fragment LitPassFragmentSimple
|
|
#define BUMP_SCALE_NOT_SUPPORTED 1
|
|
|
|
#include "QuakeInput.hlsl"
|
|
#include "QuakeForwardPass.hlsl"
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass
|
|
{
|
|
Name "DepthOnly"
|
|
Tags{"LightMode" = "DepthOnly"}
|
|
|
|
ZWrite On
|
|
ColorMask 0
|
|
Cull[_Cull]
|
|
|
|
HLSLPROGRAM
|
|
#pragma exclude_renderers gles gles3 glcore
|
|
#pragma target 4.5
|
|
|
|
#pragma vertex DepthOnlyVertex
|
|
#pragma fragment DepthOnlyFragment
|
|
|
|
// -------------------------------------
|
|
// Material Keywords
|
|
#pragma multi_compile_local __ _ALPHATEST_ON
|
|
|
|
#include "QuakeInput.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.universal/Shaders/DepthOnlyPass.hlsl"
|
|
ENDHLSL
|
|
}
|
|
|
|
// This pass is used when drawing to a _CameraNormalsTexture texture
|
|
Pass
|
|
{
|
|
Name "DepthNormals"
|
|
Tags{"LightMode" = "DepthNormals"}
|
|
|
|
ZWrite On
|
|
Cull[_Cull]
|
|
|
|
HLSLPROGRAM
|
|
#pragma exclude_renderers gles gles3 glcore
|
|
#pragma target 4.5
|
|
|
|
#pragma vertex DepthNormalsVertex
|
|
#pragma fragment DepthNormalsFragment
|
|
|
|
// -------------------------------------
|
|
// Material Keywords
|
|
#pragma multi_compile_local __ _ALPHATEST_ON
|
|
|
|
#include "QuakeInput.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.universal/Shaders/DepthNormalsPass.hlsl"
|
|
ENDHLSL
|
|
}
|
|
}
|
|
|
|
Fallback "Hidden/Universal Render Pipeline/FallbackError"
|
|
//CustomEditor "UnityEditor.Rendering.Universal.ShaderGUI.SimpleLitShader"
|
|
}
|