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.
90 lines
2.0 KiB
90 lines
2.0 KiB
// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt) |
|
|
|
// Unlit alpha-blended shader. |
|
// - no lighting |
|
// - no lightmap support |
|
// - no per-material color |
|
|
|
Shader "Azure[Sky]/BuiltIn/Unlit/Transparent" |
|
{ |
|
Properties |
|
{ |
|
_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} |
|
} |
|
|
|
SubShader |
|
{ |
|
Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"} |
|
LOD 100 |
|
|
|
ZWrite Off |
|
Blend SrcAlpha OneMinusSrcAlpha |
|
|
|
Pass |
|
{ |
|
CGPROGRAM |
|
#pragma vertex vert |
|
#pragma fragment frag |
|
#pragma target 2.0 |
|
#pragma multi_compile_fog |
|
|
|
#include "UnityCG.cginc" |
|
|
|
// Azure[Sky] Start: Including the file that contains the methods and functions needed to apply the fog. |
|
#include "Assets/Azure[Sky] Dynamic Skybox/Shaders/Transparent/AzureFogCore.cginc" |
|
// Azure[Sky] End. |
|
|
|
struct appdata_t |
|
{ |
|
float4 vertex : POSITION; |
|
float2 texcoord : TEXCOORD0; |
|
UNITY_VERTEX_INPUT_INSTANCE_ID |
|
}; |
|
|
|
struct v2f |
|
{ |
|
float4 vertex : SV_POSITION; |
|
float2 texcoord : TEXCOORD0; |
|
UNITY_FOG_COORDS(1) |
|
|
|
// Azure[Sky] Start: Adding the extra TEXCOORD to store the vertex world position. |
|
float3 worldPos : TEXCOORD2; |
|
// Azure[Sky] End. |
|
|
|
UNITY_VERTEX_OUTPUT_STEREO |
|
}; |
|
|
|
sampler2D _MainTex; |
|
float4 _MainTex_ST; |
|
|
|
v2f vert (appdata_t v) |
|
{ |
|
v2f o; |
|
UNITY_SETUP_INSTANCE_ID(v); |
|
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); |
|
o.vertex = UnityObjectToClipPos(v.vertex); |
|
o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); |
|
|
|
// Azure[Sky] Start: Calculating the vertex world position and storing in the extra TEXCOORD. |
|
o.worldPos = mul(unity_ObjectToWorld, v.vertex); |
|
// Azure[Sky] End. |
|
|
|
UNITY_TRANSFER_FOG(o, o.vertex); |
|
return o; |
|
} |
|
|
|
fixed4 frag (v2f i) : SV_Target |
|
{ |
|
fixed4 col = tex2D(_MainTex, i.texcoord); |
|
UNITY_APPLY_FOG(i.fogCoord, col); |
|
|
|
// Azure[Sky] Start: Applying the fog in the output color of the fragment shader. |
|
col = ApplyAzureFog(col, i.worldPos); |
|
// Azure[Sky] End: |
|
|
|
return col; |
|
} |
|
ENDCG |
|
} |
|
} |
|
} |