Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Varyings DepthNormalsVertex(Attributes input)
VertexNormalInputs normalInput = GetVertexNormalInputs(_GlobalAvatarBuffer[_lastAvatarVertCount + _lastWearableVertCount + input.index].normal.xyz, _GlobalAvatarBuffer[_lastAvatarVertCount + _lastWearableVertCount + input.index].tangent.xyzw);

output.normalWS.xyz = NormalizeNormalPerVertex(normalInput.normalWS);
output.normalWS.w = -(mul(UNITY_MATRIX_V, mul(unity_ObjectToWorld, float4(input.positionOS.xyz, 1.0))).z * _ProjectionParams.w);
output.normalWS.w = -(mul(UNITY_MATRIX_V, mul(GetObjectToWorldMatrix(), float4(input.positionOS.xyz, 1.0))).z * _ProjectionParams.w);

return output;
}
Expand Down
6 changes: 6 additions & 0 deletions Runtime/Shaders/Avatar/DCL_Toon/DCL_Toon.shader
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,12 @@ Shader "DCL/DCL_Toon"
#ifdef UNIVERSAL_PIPELINE_CORE_INCLUDED
#include "../DCL_AvatarDither.hlsl"
#include "DCL_ToonInput.hlsl"
#define UNIVERSAL_LIT_INPUT_INCLUDED
#ifndef UNIVERSAL_SURFACE_TYPE_TRANSPARENT_INCLUDED
#define UNIVERSAL_SURFACE_TYPE_TRANSPARENT_INCLUDED
inline bool IsSurfaceTypeTransparent() { return _Surface > 0; }
inline bool IsSurfaceTypeOpaque() { return !IsSurfaceTypeTransparent(); }
#endif
#include "Packages/com.unity.render-pipelines.universal/Shaders/LitForwardPass.hlsl"
#include "DCL_ToonHead.hlsl"
#include "DCL_ToonBody.hlsl"
Expand Down
8 changes: 4 additions & 4 deletions Runtime/Shaders/Avatar/DCL_Toon/DCL_ToonHighlight.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ VertexOutput vert_highlight (VertexInput v)
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);

float4 objPos = mul ( unity_ObjectToWorld, float4(0,0,0,1) );
float4 objPos = mul(GetObjectToWorldMatrix(), float4(0, 0, 0, 1));

float4 vVert;
float3 vNormal;
Expand All @@ -59,10 +59,10 @@ VertexOutput vert_highlight (VertexInput v)
vNormal = _GlobalAvatarBuffer[lastAvatarVertCount + lastWearableVertCount + v.index].normal.xyz;
normalDir = UnityObjectToWorldNormal(vNormal);
skinnedTangent = _GlobalAvatarBuffer[lastAvatarVertCount + lastWearableVertCount + v.index].tangent;
tangentDir = normalize( mul( unity_ObjectToWorld, float4( skinnedTangent.xyz, 0.0 ) ).xyz );
tangentDir = normalize( mul( GetObjectToWorldMatrix(), float4( skinnedTangent.xyz, 0.0 ) ).xyz );
bitangentDir = normalize(cross(normalDir, tangentDir) * skinnedTangent.w);

float4 clipPosition = mul(UNITY_MATRIX_VP, mul(unity_ObjectToWorld, float4(vVert.xyz, 1.0)));
float4 clipPosition = mul(UNITY_MATRIX_VP, mul(GetObjectToWorldMatrix(), float4(vVert.xyz, 1.0)));
float3 clipNormal = mul((float3x3) UNITY_MATRIX_VP, mul((float3x3) UNITY_MATRIX_M, vNormal));

float2 offset = normalize(clipNormal.xy) / _ScreenParams.xy * Set_Outline_Width * clipPosition.w * 2.0f;
Expand All @@ -75,7 +75,7 @@ VertexOutput vert_highlight (VertexInput v)
vNormal = v.normal;
vTangent = v.tangent;
normalDir = UnityObjectToWorldNormal(vNormal);
tangentDir = normalize( mul( unity_ObjectToWorld, float4( vTangent.xyz, 0.0 ) ).xyz );
tangentDir = normalize( mul( GetObjectToWorldMatrix(), float4( vTangent.xyz, 0.0 ) ).xyz );
bitangentDir = normalize(cross(normalDir, tangentDir) * vTangent.w);

float2 offset = normalize(normalDir.xy) / _ScreenParams.xy * Set_Outline_Width * vVert.w * 2.0f;
Expand Down
10 changes: 6 additions & 4 deletions Runtime/Shaders/Avatar/DCL_Toon/DCL_ToonOutline.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ struct VertexOutput
float4 positionCS : TEXCOORD4;
float3 positionWS : TEXCOORD5;

UNITY_VERTEX_INPUT_INSTANCE_ID
UNITY_VERTEX_OUTPUT_STEREO
};

Expand All @@ -40,22 +41,23 @@ VertexOutput vert (VertexInput v)
VertexOutput o = (VertexOutput)0;

UNITY_SETUP_INSTANCE_ID(v);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);

o.uv0 = v.texcoord0;
float4 objPos = mul ( unity_ObjectToWorld, float4(0,0,0,1) );
float4 objPos = mul(GetObjectToWorldMatrix(), float4(0, 0, 0, 1));
float2 Set_UV0 = o.uv0;
float4 _Outline_Sampler_var = float4(1,1,1,1);//tex2Dlod(_Outline_Sampler,float4(TRANSFORM_TEX(Set_UV0, _Outline_Sampler),0.0,0));
//v.2.0.4.3 baked Normal Texture for Outline

#ifdef _DCL_COMPUTE_SKINNING
o.normalDir = UnityObjectToWorldNormal(_GlobalAvatarBuffer[_lastAvatarVertCount + _lastWearableVertCount + v.index].normal.xyz);
float4 skinnedTangent = _GlobalAvatarBuffer[_lastAvatarVertCount + _lastWearableVertCount + v.index].tangent;
o.tangentDir = normalize( mul( unity_ObjectToWorld, float4( skinnedTangent.xyz, 0.0 ) ).xyz );
o.tangentDir = normalize( mul( GetObjectToWorldMatrix(), float4( skinnedTangent.xyz, 0.0 ) ).xyz );
o.bitangentDir = normalize(cross(o.normalDir, o.tangentDir) * skinnedTangent.w);
#else
o.normalDir = UnityObjectToWorldNormal(v.normal);
o.tangentDir = normalize( mul( unity_ObjectToWorld, float4( v.tangent.xyz, 0.0 ) ).xyz );
o.tangentDir = normalize( mul( GetObjectToWorldMatrix(), float4( v.tangent.xyz, 0.0 ) ).xyz );
o.bitangentDir = normalize(cross(o.normalDir, o.tangentDir) * v.tangent.w);
#endif

Expand Down Expand Up @@ -122,7 +124,7 @@ float4 frag(VertexOutput i) : SV_Target
// return float4(1.0f, 1.0f, 1.0f, 1.0f); // but nothing should be drawn except Z value as colormask is set to 0
// }
//_Color = _BaseColor;
float4 objPos = mul ( unity_ObjectToWorld, float4(0,0,0,1) );
float4 objPos = mul(GetObjectToWorldMatrix(), float4(0, 0, 0, 1));
//v.2.0.9
float3 envLightSource_GradientEquator = unity_AmbientEquator.rgb >0.05 ? unity_AmbientEquator.rgb : half3(0.05,0.05,0.05);
float3 envLightSource_SkyboxIntensity = max(ShadeSH9(half4(0.0,0.0,0.0,1.0)),ShadeSH9(half4(0.0,-1.0,0.0,1.0))).rgb;
Expand Down
28 changes: 14 additions & 14 deletions Runtime/Shaders/Scene/URP/LitInput.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -61,20 +61,20 @@ UNITY_DOTS_INSTANCING_START(MaterialPropertyMetadata)
UNITY_DOTS_INSTANCED_PROP(float , _Surface)
UNITY_DOTS_INSTANCING_END(MaterialPropertyMetadata)

#define _BaseColor UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float4 , Metadata__BaseColor)
#define _SpecColor UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float4 , Metadata__SpecColor)
#define _EmissionColor UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float4 , Metadata__EmissionColor)
#define _Cutoff UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__Cutoff)
#define _Smoothness UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__Smoothness)
#define _Metallic UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__Metallic)
#define _BumpScale UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__BumpScale)
#define _Parallax UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__Parallax)
#define _OcclusionStrength UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__OcclusionStrength)
#define _ClearCoatMask UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__ClearCoatMask)
#define _ClearCoatSmoothness UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__ClearCoatSmoothness)
#define _DetailAlbedoMapScale UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__DetailAlbedoMapScale)
#define _DetailNormalMapScale UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__DetailNormalMapScale)
#define _Surface UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__Surface)
#define _BaseColor UNITY_ACCESS_DOTS_INSTANCED_PROP(float4, _BaseColor)
#define _SpecColor UNITY_ACCESS_DOTS_INSTANCED_PROP(float4, _SpecColor)
#define _EmissionColor UNITY_ACCESS_DOTS_INSTANCED_PROP(float4, _EmissionColor)
#define _Cutoff UNITY_ACCESS_DOTS_INSTANCED_PROP(float, _Cutoff)
#define _Smoothness UNITY_ACCESS_DOTS_INSTANCED_PROP(float, _Smoothness)
#define _Metallic UNITY_ACCESS_DOTS_INSTANCED_PROP(float, _Metallic)
#define _BumpScale UNITY_ACCESS_DOTS_INSTANCED_PROP(float, _BumpScale)
#define _Parallax UNITY_ACCESS_DOTS_INSTANCED_PROP(float, _Parallax)
#define _OcclusionStrength UNITY_ACCESS_DOTS_INSTANCED_PROP(float, _OcclusionStrength)
#define _ClearCoatMask UNITY_ACCESS_DOTS_INSTANCED_PROP(float, _ClearCoatMask)
#define _ClearCoatSmoothness UNITY_ACCESS_DOTS_INSTANCED_PROP(float, _ClearCoatSmoothness)
#define _DetailAlbedoMapScale UNITY_ACCESS_DOTS_INSTANCED_PROP(float, _DetailAlbedoMapScale)
#define _DetailNormalMapScale UNITY_ACCESS_DOTS_INSTANCED_PROP(float, _DetailNormalMapScale)
#define _Surface UNITY_ACCESS_DOTS_INSTANCED_PROP(float, _Surface)
#endif

TEXTURE2D(_AlphaTexture); SAMPLER(sampler_AlphaTexture);
Expand Down
6 changes: 3 additions & 3 deletions Runtime/Shaders/Scene/URP/UnlitInput.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ UNITY_DOTS_INSTANCING_START(MaterialPropertyMetadata)
UNITY_DOTS_INSTANCED_PROP(float , _Surface)
UNITY_DOTS_INSTANCING_END(MaterialPropertyMetadata)

#define _BaseColor UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float4 , Metadata__BaseColor)
#define _Cutoff UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__Cutoff)
#define _Surface UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__Surface)
#define _BaseColor UNITY_ACCESS_DOTS_INSTANCED_PROP(float4, _BaseColor)
#define _Cutoff UNITY_ACCESS_DOTS_INSTANCED_PROP(float, _Cutoff)
#define _Surface UNITY_ACCESS_DOTS_INSTANCED_PROP(float, _Surface)
#endif

#endif