Skip to content
Merged
Show file tree
Hide file tree
Changes from 16 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 @@ -653,7 +653,13 @@ Shader "Toon/Toon" {
#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
#pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS
#pragma multi_compile _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH

#if UNITY_VERSION >= 60030000
#pragma multi_compile _ _CLUSTER_LIGHT_LOOP
#else
#pragma multi_compile _ _FORWARD_PLUS
#endif

#if (!defined(UNITY_COMPILER_DXC) && (defined(UNITY_PLATFORM_OSX) || defined(UNITY_PLATFORM_IOS))) || defined(SHADER_API_PS5)

#if defined(SHADER_API_PS5) || defined(SHADER_API_METAL)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -775,7 +775,14 @@ Shader "Toon/Toon (Tessellation)" {
#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
#pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS
#pragma multi_compile _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH

#if UNITY_VERSION >= 60030000
#pragma multi_compile _ _CLUSTER_LIGHT_LOOP
#else
#pragma multi_compile _ _FORWARD_PLUS
#endif


#if (!defined(UNITY_COMPILER_DXC) && (defined(UNITY_PLATFORM_OSX) || defined(UNITY_PLATFORM_IOS))) || defined(SHADER_API_PS5)

#if defined(SHADER_API_PS5) || defined(SHADER_API_METAL)
Expand Down
18 changes: 9 additions & 9 deletions com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBody.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,6 @@
# endif
#endif


#if USE_FORWARD_PLUS && defined(LIGHTMAP_ON) && defined(LIGHTMAP_SHADOW_MIXING)
#define FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK if (_AdditionalLightsColor[lightIndex].a > 0.0h) continue;
#else
#define FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK
#endif


//function to rotate the UV: RotateUV()
//float2 rotatedUV = RotateUV(i.uv0, (_angular_Verocity*3.141592654), float2(0.5, 0.5), _Time.g);
float2 RotateUV(float2 _uv, float _radian, float2 _piv, float _time) {
Expand Down Expand Up @@ -85,7 +77,7 @@ half3 GlobalIlluminationUTS(BRDFData brdfData, half3 bakedGI, half occlusion, ha
half fresnelTerm = Pow4(1.0 - saturate(dot(normalWS, viewDirectionWS)));

half3 indirectDiffuse = bakedGI * occlusion;
#if USE_FORWARD_PLUS
#if USE_FORWARD_PLUS || USE_CLUSTER_LIGHT_LOOP
half3 irradiance = CalculateIrradianceFromReflectionProbes(reflectVector, positionWS, brdfData.perceptualRoughness,
normalizedScreenSpaceUV);
half3 indirectSpecular = irradiance * occlusion;
Expand Down Expand Up @@ -266,9 +258,17 @@ VertexOutput vert(VertexInput v) {
}

#if UNITY_VERSION >= 60030000

#define ENCODE_MESH_RENDERING_LAYER_UTS EncodeMeshRenderingLayer()

#else

#define ENCODE_MESH_RENDERING_LAYER_UTS EncodeMeshRenderingLayer(GetMeshRenderingLayer())

#ifndef CLUSTER_LIGHT_LOOP_SUBTRACTIVE_LIGHT_CHECK
#define CLUSTER_LIGHT_LOOP_SUBTRACTIVE_LIGHT_CHECK FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK
#endif //CLUSTER_LIGHT_LOOP_SUBTRACTIVE_LIGHT_CHECK

#endif
Comment thread
sindharta-tanuwijaya marked this conversation as resolved.
Comment thread
sindharta-tanuwijaya marked this conversation as resolved.
Comment thread
sindharta-tanuwijaya marked this conversation as resolved.

//----------------------------------------------------------------------------------------------------------------------
Comment thread
sindharta-tanuwijaya marked this conversation as resolved.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -399,11 +399,11 @@ void frag(VertexOutput i, out float4 finalRGBA : SV_Target0
float3 pointLightColor = 0;
#ifdef _ADDITIONAL_LIGHTS

#if USE_FORWARD_PLUS
#if USE_CLUSTER_LIGHT_LOOP
// directional lights in Forward Plus
for (uint lightIndex = 0; lightIndex < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex++)
Comment thread
Copilot marked this conversation as resolved.
Outdated
{
FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK
CLUSTER_LIGHT_LOOP_SUBTRACTIVE_LIGHT_CHECK

float3 perLightContribution = ProcessAdditionalLight(
lightIndex,
Expand All @@ -420,7 +420,7 @@ void frag(VertexOutput i, out float4 finalRGBA : SV_Target0

pointLightColor += perLightContribution;
}
#endif // USE_FORWARD_PLUS
#endif // USE_CLUSTER_LIGHT_LOOP
Comment thread
sindharta-tanuwijaya marked this conversation as resolved.
Outdated

// spot lights, etc
const int pixelLightCount = GetAdditionalLightsCount();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -478,7 +478,7 @@ void frag(VertexOutput i, out float4 finalRGBA : SV_Target0
#ifdef _ADDITIONAL_LIGHTS


#if USE_FORWARD_PLUS
#if USE_CLUSTER_LIGHT_LOOP
// directional lights in Forward Plus
Comment thread
sindharta-tanuwijaya marked this conversation as resolved.
Outdated
for (uint loopCounter = 0; loopCounter < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); loopCounter++)
Comment thread
sindharta-tanuwijaya marked this conversation as resolved.
Outdated
{
Expand All @@ -497,7 +497,7 @@ void frag(VertexOutput i, out float4 finalRGBA : SV_Target0

pointLightColor += perLightContribution;
}
#endif // USE_FORWARD_PLUS
#endif // USE_CLUSTER_LIGHT_LOOP
Comment thread
sindharta-tanuwijaya marked this conversation as resolved.
Outdated
Comment thread
sindharta-tanuwijaya marked this conversation as resolved.
Outdated

// spot lights, etc
const int pixelLightCount = GetAdditionalLightsCount();
Expand Down
8 changes: 7 additions & 1 deletion com.unity.toonshader/Runtime/Shaders/UnityToon.shader
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//Auto-generated on Thu Apr 23 05:23:09 UTC 2026
//Auto-generated on Wed Jun 24 02:54:04 UTC 2026
Shader "Toon/Toon" {
Properties
{
Expand Down Expand Up @@ -1093,7 +1093,13 @@ Shader "Toon/Toon" {
#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
#pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS
#pragma multi_compile _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH

#if UNITY_VERSION >= 60030000
#pragma multi_compile _ _CLUSTER_LIGHT_LOOP
#else
#pragma multi_compile _ _FORWARD_PLUS
#endif

#if (!defined(UNITY_COMPILER_DXC) && (defined(UNITY_PLATFORM_OSX) || defined(UNITY_PLATFORM_IOS))) || defined(SHADER_API_PS5)

#if defined(SHADER_API_PS5) || defined(SHADER_API_METAL)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//Auto-generated on Thu Apr 23 05:23:09 UTC 2026
//Auto-generated on Wed Jun 24 02:54:04 UTC 2026
Shader "Toon/Toon (Tessellation)" {
Properties
{
Expand Down Expand Up @@ -1231,7 +1231,14 @@ Shader "Toon/Toon (Tessellation)" {
#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
#pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS
#pragma multi_compile _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH

#if UNITY_VERSION >= 60030000
#pragma multi_compile _ _CLUSTER_LIGHT_LOOP
#else
#pragma multi_compile _ _FORWARD_PLUS
#endif


#if (!defined(UNITY_COMPILER_DXC) && (defined(UNITY_PLATFORM_OSX) || defined(UNITY_PLATFORM_IOS))) || defined(SHADER_API_PS5)

#if defined(SHADER_API_PS5) || defined(SHADER_API_METAL)
Expand Down