iFactory.Cutting.Unity/Assets/Plugins/CW/PaintIn3D/Required/Resources/P3D Decal.shader

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