Skip to content

Commit 5e2a209

Browse files
Dev/render queue clip (#333)
* Fix for the issue #331 (#332) merged to a temporal branch. * Updated LightAndShadow reference image for HdrpDX12GraphicsTest-2021.3 * testing uts-pr.yml * updated uts-pr.yml * updated .yamato/uts-pr.yml * replaced path in the dependencies field. * removed uts-pr.yml * Removed fairly from lagacy project build setting. * Replaced LightAndSHadow.png in HdrpDX12GraphicsTest-2023.1 --------- Co-authored-by: TakeshiMiyakawaCR <[email protected]>
1 parent 98c1377 commit 5e2a209

File tree

4 files changed

+38
-19
lines changed

4 files changed

+38
-19
lines changed
-43.3 KB
Loading
-42.9 KB
Loading

TestProjects/LegacyGraphicsTest-2020.3/ProjectSettings/EditorBuildSettings.asset

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ EditorBuildSettings:
5656
- enabled: 1
5757
path: Assets/Scenes/ToonShader_Emissive.unity
5858
guid: 330d3ccc69184f39a6ca4306f2926636
59-
- enabled: 1
59+
- enabled: 0
6060
path: Assets/Scenes/ToonShader_Firefly.unity
6161
guid: 62ae8b1fd9ca4be9a2b88a8bbb1ae340
6262
- enabled: 0

com.unity.toonshader/Editor/UTS3GUI.cs

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1890,32 +1890,51 @@ void ApplyQueueAndRenderType(UTS_Mode technique, Material material)
18901890

18911891
void SetReqnderQueueAuto(Material material)
18921892
{
1893-
var stencilMode = (UTS_StencilMode)MaterialGetInt(material,ShaderPropStencilMode);
1894-
if (transparencyEnabled == UTS_TransparentMode.On)
1895-
{
1896-
material.renderQueue = (int)UnityEngine.Rendering.RenderQueue.Transparent;
1897-
}
1898-
else if (stencilMode == UTS_StencilMode.StencilMask)
1899-
{
1900-
material.renderQueue = (int)UnityEngine.Rendering.RenderQueue.AlphaTest - 1;
1901-
}
1902-
else if (stencilMode == UTS_StencilMode.StencilOut)
1903-
{
1904-
material.renderQueue = (int)UnityEngine.Rendering.RenderQueue.AlphaTest;
1905-
}
1893+
const int transparent = (int)UnityEngine.Rendering.RenderQueue.Transparent;
1894+
const int alphaTest = (int)UnityEngine.Rendering.RenderQueue.AlphaTest;
1895+
const int alphaTestMinusOne = (int)UnityEngine.Rendering.RenderQueue.AlphaTest - 1;
1896+
19061897
if (transparencyEnabled == UTS_TransparentMode.On)
19071898
{
1908-
material.renderQueue = (int)UnityEngine.Rendering.RenderQueue.Transparent;
1899+
material.renderQueue = transparent;
1900+
return;
19091901
}
1910-
else if (stencilMode == UTS_StencilMode.StencilMask)
1902+
1903+
var stencilMode = (UTS_StencilMode)MaterialGetInt(material, ShaderPropStencilMode);
1904+
1905+
switch (stencilMode)
19111906
{
1912-
material.renderQueue = (int)UnityEngine.Rendering.RenderQueue.AlphaTest - 1;
1907+
case UTS_StencilMode.StencilMask:
1908+
material.renderQueue = alphaTestMinusOne;
1909+
return;
1910+
case UTS_StencilMode.StencilOut:
1911+
material.renderQueue = alphaTest;
1912+
return;
1913+
case UTS_StencilMode.Off:
1914+
ClippingMode();
1915+
return;
1916+
default:
1917+
throw new NotImplementedException();
19131918
}
1914-
else if (stencilMode == UTS_StencilMode.StencilOut)
1919+
1920+
void ClippingMode()
19151921
{
1916-
material.renderQueue = (int)UnityEngine.Rendering.RenderQueue.AlphaTest;
1922+
var clippingMode = (UTS_ClippingMode)MaterialGetInt(material, ShaderPropClippingMode);
1923+
1924+
switch(clippingMode)
1925+
{
1926+
case UTS_ClippingMode.On:
1927+
case UTS_ClippingMode.TransClippingMode:
1928+
material.renderQueue = alphaTest;
1929+
return;
1930+
case UTS_ClippingMode.Off:
1931+
return;
1932+
default:
1933+
throw new NotImplementedException();
1934+
}
19171935
}
19181936
}
1937+
19191938
void ApplyMatCapMode(Material material)
19201939
{
19211940
if (MaterialGetInt(material,ShaderPropClippingMode) == 0)

0 commit comments

Comments
 (0)