Skip to content

Commit 998f6ad

Browse files
H3idi-XHum9183
andauthored
Task/plane selection (#371)
* fix #238 Toon-shaded plane cannot be selected * [BRP] fix #238 --------- Co-authored-by: Hum9183 <[email protected]>
1 parent fb9929e commit 998f6ad

File tree

2 files changed

+175
-140
lines changed

2 files changed

+175
-140
lines changed

com.unity.toonshader/Runtime/Integrated/Shaders/UnityToon.shader

Lines changed: 82 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1139,52 +1139,6 @@ Shader "Toon" {
11391139
"RenderType"="Opaque"
11401140
"RenderPipeline" = "UniversalPipeline"
11411141
}
1142-
Pass {
1143-
Name "Outline"
1144-
Tags {
1145-
"LightMode" = "SRPDefaultUnlit"
1146-
}
1147-
Cull [_SRPDefaultUnlitColMode]
1148-
ColorMask [_SPRDefaultUnlitColorMask]
1149-
Blend SrcAlpha OneMinusSrcAlpha
1150-
Stencil
1151-
{
1152-
Ref[_StencilNo]
1153-
Comp[_StencilComp]
1154-
Pass[_StencilOpPass]
1155-
Fail[_StencilOpFail]
1156-
1157-
}
1158-
1159-
HLSLPROGRAM
1160-
#pragma target 2.0
1161-
#pragma vertex vert
1162-
#pragma fragment frag
1163-
1164-
1165-
//V.2.0.4
1166-
#pragma multi_compile _IS_OUTLINE_CLIPPING_NO _IS_OUTLINE_CLIPPING_YES
1167-
#pragma multi_compile _OUTLINE_NML _OUTLINE_POS
1168-
// Outline is implemented in UniversalToonOutline.hlsl.
1169-
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
1170-
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
1171-
1172-
//--------------------------------------
1173-
// GPU Instancing
1174-
#pragma multi_compile_instancing
1175-
#if UNITY_VERSION >= 202230 // Requires Universal RP 14.0.7
1176-
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
1177-
#else
1178-
#pragma multi_compile _ DOTS_INSTANCING_ON
1179-
#endif
1180-
1181-
#ifdef UNIVERSAL_PIPELINE_CORE_INCLUDED
1182-
#include "../../UniversalRP/Shaders/UniversalToonInput.hlsl"
1183-
#include "../../UniversalRP/Shaders/UniversalToonHead.hlsl"
1184-
#include "../../UniversalRP/Shaders/UniversalToonOutline.hlsl"
1185-
#endif
1186-
ENDHLSL
1187-
}
11881142

11891143
//ToonCoreStart
11901144
Pass {
@@ -1300,6 +1254,53 @@ Shader "Toon" {
13001254

13011255
}
13021256

1257+
Pass {
1258+
Name "Outline"
1259+
Tags {
1260+
"LightMode" = "SRPDefaultUnlit"
1261+
}
1262+
Cull [_SRPDefaultUnlitColMode]
1263+
ColorMask [_SPRDefaultUnlitColorMask]
1264+
Blend SrcAlpha OneMinusSrcAlpha
1265+
Stencil
1266+
{
1267+
Ref[_StencilNo]
1268+
Comp[_StencilComp]
1269+
Pass[_StencilOpPass]
1270+
Fail[_StencilOpFail]
1271+
1272+
}
1273+
1274+
HLSLPROGRAM
1275+
#pragma target 2.0
1276+
#pragma vertex vert
1277+
#pragma fragment frag
1278+
1279+
1280+
//V.2.0.4
1281+
#pragma multi_compile _IS_OUTLINE_CLIPPING_NO _IS_OUTLINE_CLIPPING_YES
1282+
#pragma multi_compile _OUTLINE_NML _OUTLINE_POS
1283+
// Outline is implemented in UniversalToonOutline.hlsl.
1284+
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
1285+
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
1286+
1287+
//--------------------------------------
1288+
// GPU Instancing
1289+
#pragma multi_compile_instancing
1290+
#if UNITY_VERSION >= 202230 // Requires Universal RP 14.0.7
1291+
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
1292+
#else
1293+
#pragma multi_compile _ DOTS_INSTANCING_ON
1294+
#endif
1295+
1296+
#ifdef UNIVERSAL_PIPELINE_CORE_INCLUDED
1297+
#include "../../UniversalRP/Shaders/UniversalToonInput.hlsl"
1298+
#include "../../UniversalRP/Shaders/UniversalToonHead.hlsl"
1299+
#include "../../UniversalRP/Shaders/UniversalToonOutline.hlsl"
1300+
#endif
1301+
ENDHLSL
1302+
}
1303+
13031304
Pass
13041305
{
13051306
Name "ShadowCaster"
@@ -1425,41 +1426,6 @@ Shader "Toon" {
14251426
Tags {
14261427
"RenderType"="Opaque"
14271428
}
1428-
Pass {
1429-
Name "Outline"
1430-
Tags {
1431-
"LightMode"="ForwardBase"
1432-
}
1433-
Cull[_SRPDefaultUnlitColMode]
1434-
ColorMask[_SPRDefaultUnlitColorMask]
1435-
Blend SrcAlpha OneMinusSrcAlpha
1436-
Stencil
1437-
{
1438-
Ref[_StencilNo]
1439-
Comp[_StencilComp]
1440-
Pass[_StencilOpPass]
1441-
Fail[_StencilOpFail]
1442-
1443-
}
1444-
CGPROGRAM
1445-
#pragma vertex vert
1446-
#pragma fragment frag
1447-
#include "UnityCG.cginc"
1448-
//#pragma fragmentoption ARB_precision_hint_fastest
1449-
//#pragma multi_compile_shadowcaster
1450-
//#pragma multi_compile_fog
1451-
#pragma only_renderers d3d9 d3d11 glcore gles gles3 playstation xboxone xboxseries vulkan metal switch
1452-
1453-
#pragma target 3.0
1454-
//V.2.0.4
1455-
#pragma multi_compile _IS_OUTLINE_CLIPPING_NO
1456-
#pragma multi_compile _OUTLINE_NML _OUTLINE_POS
1457-
// Unity Toon Shader 0.5.0
1458-
#pragma multi_compile _ _DISABLE_OUTLINE
1459-
//The outline process goes to UTS_Outline.cginc.
1460-
#include "../../Legacy/Shaders/UCTS_Outline.cginc"
1461-
ENDCG
1462-
}
14631429
//ToonCoreStart
14641430
Pass {
14651431
Name "FORWARD"
@@ -1516,6 +1482,41 @@ Shader "Toon" {
15161482

15171483
ENDCG
15181484
}
1485+
Pass {
1486+
Name "Outline"
1487+
Tags {
1488+
"LightMode"="ForwardBase"
1489+
}
1490+
Cull[_SRPDefaultUnlitColMode]
1491+
ColorMask[_SPRDefaultUnlitColorMask]
1492+
Blend SrcAlpha OneMinusSrcAlpha
1493+
Stencil
1494+
{
1495+
Ref[_StencilNo]
1496+
Comp[_StencilComp]
1497+
Pass[_StencilOpPass]
1498+
Fail[_StencilOpFail]
1499+
1500+
}
1501+
CGPROGRAM
1502+
#pragma vertex vert
1503+
#pragma fragment frag
1504+
#include "UnityCG.cginc"
1505+
//#pragma fragmentoption ARB_precision_hint_fastest
1506+
//#pragma multi_compile_shadowcaster
1507+
//#pragma multi_compile_fog
1508+
#pragma only_renderers d3d9 d3d11 glcore gles gles3 playstation xboxone xboxseries vulkan metal switch
1509+
1510+
#pragma target 3.0
1511+
//V.2.0.4
1512+
#pragma multi_compile _IS_OUTLINE_CLIPPING_NO
1513+
#pragma multi_compile _OUTLINE_NML _OUTLINE_POS
1514+
// Unity Toon Shader 0.5.0
1515+
#pragma multi_compile _ _DISABLE_OUTLINE
1516+
//The outline process goes to UTS_Outline.cginc.
1517+
#include "../../Legacy/Shaders/UCTS_Outline.cginc"
1518+
ENDCG
1519+
}
15191520
Pass {
15201521
Name "FORWARD_DELTA"
15211522
Tags {

com.unity.toonshader/Runtime/Integrated/Shaders/UnityToonTessellation.shader

Lines changed: 93 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1193,53 +1193,6 @@ Shader "Toon(Tessellation)" {
11931193
"RenderType"="Opaque"
11941194
"RenderPipeline" = "UniversalPipeline"
11951195
}
1196-
Pass {
1197-
Name "Outline"
1198-
Tags {
1199-
"LightMode" = "SRPDefaultUnlit"
1200-
}
1201-
Cull [_SRPDefaultUnlitColMode]
1202-
ColorMask [_SPRDefaultUnlitColorMask]
1203-
Blend SrcAlpha OneMinusSrcAlpha
1204-
Stencil
1205-
{
1206-
Ref[_StencilNo]
1207-
Comp[_StencilComp]
1208-
Pass[_StencilOpPass]
1209-
Fail[_StencilOpFail]
1210-
1211-
}
1212-
1213-
HLSLPROGRAM
1214-
#pragma target 2.0
1215-
1216-
#pragma vertex vert
1217-
#pragma fragment frag
1218-
1219-
1220-
//V.2.0.4
1221-
#pragma multi_compile _IS_OUTLINE_CLIPPING_NO _IS_OUTLINE_CLIPPING_YES
1222-
#pragma multi_compile _OUTLINE_NML _OUTLINE_POS
1223-
// Outline is implemented in UniversalToonOutline.hlsl.
1224-
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
1225-
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
1226-
1227-
//--------------------------------------
1228-
// GPU Instancing
1229-
#pragma multi_compile_instancing
1230-
#if UNITY_VERSION >= 202230 // Requires Universal RP 14.0.7
1231-
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
1232-
#else
1233-
#pragma multi_compile _ DOTS_INSTANCING_ON
1234-
#endif
1235-
1236-
#ifdef UNIVERSAL_PIPELINE_CORE_INCLUDED
1237-
#include "../../UniversalRP/Shaders/UniversalToonInput.hlsl"
1238-
#include "../../UniversalRP/Shaders/UniversalToonHead.hlsl"
1239-
#include "../../UniversalRP/Shaders/UniversalToonOutline.hlsl"
1240-
#endif
1241-
ENDHLSL
1242-
}
12431196

12441197
//ToonCoreStart
12451198
Pass {
@@ -1355,6 +1308,53 @@ Shader "Toon(Tessellation)" {
13551308

13561309
}
13571310

1311+
Pass {
1312+
Name "Outline"
1313+
Tags {
1314+
"LightMode" = "SRPDefaultUnlit"
1315+
}
1316+
Cull [_SRPDefaultUnlitColMode]
1317+
ColorMask [_SPRDefaultUnlitColorMask]
1318+
Blend SrcAlpha OneMinusSrcAlpha
1319+
Stencil
1320+
{
1321+
Ref[_StencilNo]
1322+
Comp[_StencilComp]
1323+
Pass[_StencilOpPass]
1324+
Fail[_StencilOpFail]
1325+
1326+
}
1327+
1328+
HLSLPROGRAM
1329+
#pragma target 2.0
1330+
#pragma vertex vert
1331+
#pragma fragment frag
1332+
1333+
1334+
//V.2.0.4
1335+
#pragma multi_compile _IS_OUTLINE_CLIPPING_NO _IS_OUTLINE_CLIPPING_YES
1336+
#pragma multi_compile _OUTLINE_NML _OUTLINE_POS
1337+
// Outline is implemented in UniversalToonOutline.hlsl.
1338+
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
1339+
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
1340+
1341+
//--------------------------------------
1342+
// GPU Instancing
1343+
#pragma multi_compile_instancing
1344+
#if UNITY_VERSION >= 202230 // Requires Universal RP 14.0.7
1345+
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
1346+
#else
1347+
#pragma multi_compile _ DOTS_INSTANCING_ON
1348+
#endif
1349+
1350+
#ifdef UNIVERSAL_PIPELINE_CORE_INCLUDED
1351+
#include "../../UniversalRP/Shaders/UniversalToonInput.hlsl"
1352+
#include "../../UniversalRP/Shaders/UniversalToonHead.hlsl"
1353+
#include "../../UniversalRP/Shaders/UniversalToonOutline.hlsl"
1354+
#endif
1355+
ENDHLSL
1356+
}
1357+
13581358
Pass
13591359
{
13601360
Name "ShadowCaster"
@@ -1497,29 +1497,22 @@ Shader "Toon(Tessellation)" {
14971497

14981498
}
14991499
CGPROGRAM
1500-
#define TESSELLATION_ON
1501-
#pragma target 5.0
1502-
#pragma vertex tess_VertexInput
1503-
#pragma hull hs_VertexInput
1504-
#pragma domain ds_surf
1500+
#pragma vertex vert
15051501
#pragma fragment frag
1506-
#ifdef TESSELLATION_ON
1507-
#include "../../Legacy/Shaders/UCTS_Tess.cginc"
1508-
#endif
15091502
#include "UnityCG.cginc"
15101503
//#pragma fragmentoption ARB_precision_hint_fastest
15111504
//#pragma multi_compile_shadowcaster
15121505
//#pragma multi_compile_fog
15131506
#pragma only_renderers d3d9 d3d11 glcore gles gles3 playstation xboxone xboxseries vulkan metal switch
15141507

1515-
//V.2.0.4
1516-
#pragma multi_compile _IS_OUTLINE_CLIPPING_NO
1508+
#pragma target 3.0
1509+
//V.2.0.4
1510+
#pragma multi_compile _IS_OUTLINE_CLIPPING_NO
15171511
#pragma multi_compile _OUTLINE_NML _OUTLINE_POS
15181512
// Unity Toon Shader 0.5.0
15191513
#pragma multi_compile _ _DISABLE_OUTLINE
15201514
//The outline process goes to UTS_Outline.cginc.
1521-
#include "../../Legacy/Shaders/UCTS_Outline_Tess.cginc"
1522-
1515+
#include "../../Legacy/Shaders/UCTS_Outline.cginc"
15231516
ENDCG
15241517
}
15251518
//ToonCoreStart
@@ -1585,6 +1578,47 @@ Shader "Toon(Tessellation)" {
15851578

15861579
ENDCG
15871580
}
1581+
Pass {
1582+
Name "Outline"
1583+
Tags {
1584+
"LightMode"="ForwardBase"
1585+
}
1586+
Cull[_SRPDefaultUnlitColMode]
1587+
ColorMask[_SPRDefaultUnlitColorMask]
1588+
Blend SrcAlpha OneMinusSrcAlpha
1589+
Stencil
1590+
{
1591+
Ref[_StencilNo]
1592+
Comp[_StencilComp]
1593+
Pass[_StencilOpPass]
1594+
Fail[_StencilOpFail]
1595+
1596+
}
1597+
CGPROGRAM
1598+
#define TESSELLATION_ON
1599+
#pragma target 5.0
1600+
#pragma vertex tess_VertexInput
1601+
#pragma hull hs_VertexInput
1602+
#pragma domain ds_surf
1603+
#pragma fragment frag
1604+
#ifdef TESSELLATION_ON
1605+
#include "../../Legacy/Shaders/UCTS_Tess.cginc"
1606+
#endif
1607+
#include "UnityCG.cginc"
1608+
//#pragma fragmentoption ARB_precision_hint_fastest
1609+
//#pragma multi_compile_shadowcaster
1610+
//#pragma multi_compile_fog
1611+
#pragma only_renderers d3d9 d3d11 glcore gles gles3 playstation xboxone xboxseries vulkan metal switch
1612+
1613+
//V.2.0.4
1614+
#pragma multi_compile _IS_OUTLINE_CLIPPING_NO
1615+
#pragma multi_compile _OUTLINE_NML _OUTLINE_POS
1616+
// Unity Toon Shader 0.5.0
1617+
#pragma multi_compile _ _DISABLE_OUTLINE
1618+
//The outline process goes to UTS_Outline.cginc.
1619+
#include "../../Legacy/Shaders/UCTS_Outline_Tess.cginc"
1620+
ENDCG
1621+
}
15881622
Pass {
15891623
Name "FORWARD_DELTA"
15901624
Tags {

0 commit comments

Comments
 (0)