블렌드 펙터 연산 - DstColor SrcColor
2022. 7. 28. 10:33ㆍPublic/Shader
블렌드 펙터 연산 기본 공식은 다음과 같다.
(펙터) X Source + (펙터) X Destination
메뉴얼에서 추천하는 기본적인 블렌딩 펙터 연산 조합이다.
- Blend SrcAlpha OneMinusSrcAlpha // Alpha blending
- Blend SrcAlpha One // Additive
- Blend One One // Additive No Alpha Black is Transparent
- Blend DstColor Zero // Multiplicative
- Blend DstColor SrcColor // 2x Multiplicative
Destination의 결과를 확인하기 위해 예시 이미지를 사용해서 결과를 확인하겠습니다.
이번에는 Blend DstColor SrcColor 이다.
첫번째로 (DstColor) x Source 의 결과는 이전과 같다.
x
=
그리고 두 번째로 (SrcColor) x Destination 입니다.
두 연산은 순서만 바뀌었을 뿐 결과는 같은걸 확인할 수 있습니다.
x
=
그러면 이미지가 살짝 밝아지면서 색이 약간 올라가는걸 확인할 수 있습니다.
+
=
Shader "Custom/CustomBlending_DstColor_SrcColor"
{
Properties
{
_MainTex ("Albedo (RGB)", 2D) = "white" {}
}
SubShader
{
Tags { "RenderType"="Transparent" "Queue" = "Transparent"}
zwrite off
blend DstColor SrcColor
CGPROGRAM
#pragma surface surf Lambert keepalpha
#pragma target 3.0
sampler2D _MainTex;
struct Input
{
float2 uv_MainTex;
};
//
void surf (Input IN, inout SurfaceOutput o)
{
fixed4 c = tex2D (_MainTex, IN.uv_MainTex);
o.Albedo = c.rgb;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Legacy Shaders/Transparent/VertexLit"
}
'Public > Shader' 카테고리의 다른 글
Alpha2Pass (0) | 2022.07.28 |
---|---|
zwrite on/off (0) | 2022.07.28 |
블렌드 펙터 연산 - DstColor Zero (0) | 2022.07.27 |
블렌더 펙터 연산 - One One (0) | 2022.07.27 |
블렌드 펙터 연산 - SrcAlpha One (0) | 2022.07.27 |