228 lines
4.8 KiB
Plaintext
228 lines
4.8 KiB
Plaintext
Shader "Hidden/Paint in 3D/Decal"
|
|
{
|
|
Properties
|
|
{
|
|
_ReplaceTexture("Replace Texture", 2D) = "white" {}
|
|
_Texture("Texture", 2D) = "white" {}
|
|
_Shape("Shape", 2D) = "white" {}
|
|
_TileTexture("Tile Texture", 2D) = "white" {}
|
|
_MaskTexture("Mask Texture", 2D) = "white" {}
|
|
_LocalMaskTexture("Local Mask Texture", 2D) = "white" {}
|
|
}
|
|
|
|
SubShader
|
|
{
|
|
Blend Off
|
|
Cull Off
|
|
ZWrite Off
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD P3D_LINE_CLIP P3D_QUAD_CLIP
|
|
#define BLEND_MODE_INDEX 0 // ALPHA_BLEND
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD P3D_LINE_CLIP P3D_QUAD_CLIP
|
|
#define BLEND_MODE_INDEX 1 // ALPHA_BLEND_INVERSE
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD P3D_LINE_CLIP P3D_QUAD_CLIP
|
|
#define BLEND_MODE_INDEX 2 // PREMULTIPLIED
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD P3D_LINE_CLIP P3D_QUAD_CLIP
|
|
#define BLEND_MODE_INDEX 3 // ADDITIVE
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD P3D_LINE_CLIP P3D_QUAD_CLIP
|
|
#define BLEND_MODE_INDEX 4 // ADDITIVE_SOFT
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD P3D_LINE_CLIP P3D_QUAD_CLIP
|
|
#define BLEND_MODE_INDEX 5 // SUBTRACTIVE
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD P3D_LINE_CLIP P3D_QUAD_CLIP
|
|
#define BLEND_MODE_INDEX 6 // SUBTRACTIVE_SOFT
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD P3D_LINE_CLIP P3D_QUAD_CLIP
|
|
#define BLEND_MODE_INDEX 7 // REPLACE
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD P3D_LINE_CLIP P3D_QUAD_CLIP
|
|
#define BLEND_MODE_INDEX 8 // REPLACE_ORIGINAL
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD P3D_LINE_CLIP P3D_QUAD_CLIP
|
|
#define BLEND_MODE_INDEX 9 // REPLACE_CUSTOM
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD P3D_LINE_CLIP P3D_QUAD_CLIP
|
|
#define BLEND_MODE_INDEX 10 // MULTIPLY_INVERSE_RGB
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD P3D_LINE_CLIP P3D_QUAD_CLIP
|
|
#define BLEND_MODE_INDEX 11 // BLUR
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD P3D_LINE_CLIP P3D_QUAD_CLIP
|
|
#define BLEND_MODE_INDEX 12 // NORMAL_BLEND
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD P3D_LINE_CLIP P3D_QUAD_CLIP
|
|
#define BLEND_MODE_INDEX 13 // NORMAL_REPLACE
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD P3D_LINE_CLIP P3D_QUAD_CLIP
|
|
#define BLEND_MODE_INDEX 14 // FLOW
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD
|
|
#define BLEND_MODE_INDEX 15 // NORMAL_REPLACE_ORIGINAL
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD
|
|
#define BLEND_MODE_INDEX 16 // NORMAL_REPLACE_CUSTOM
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD
|
|
#define BLEND_MODE_INDEX 17 // MIN
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_local __ P3D_LINE P3D_QUAD
|
|
#define BLEND_MODE_INDEX 18 // MAX
|
|
#include "P3D Decal.cginc"
|
|
ENDCG
|
|
}
|
|
} // SubShader
|
|
} // Shader |