0510 Alpha Blending
2021. 5. 10. 13:19ㆍunity/쉐이더
Z버퍼 렌더링 : 중첩된 물체까지의 거리를 비교해서 보이는 점에서 가장 거리가 짧은 값이 z버퍼에 저장된다.
카메라의 깊이 버퍼를 만들어낸다.
오버드로우: 뒷쪽에 있는 것을 먼저 그리고 그 위에 있는 것을 나중에 그리는 것.
알파 블렌딩: 오브젝트들을 그리는 순서가 정해져 있지 않다.
오브젝트들이 그려질 때마다 z버퍼를 참고해서 앞뒤를 판정한다.
그리고 그려질 픽셀과 안 그려질 픽셀을 결정한다.
1. 불투명을 먼저 그린다.
2. 반투명을 나중에 그린다.
3. 반투명인 물체들은 멀리있는 것부터 차례로 그려진다.
Shader "Custom/Grass"
{
Properties
{
_MainTex ("Albedo (RGB)", 2D) = "white" {}
}
SubShader
{
Tags { "RenderType"="Transparent" "Queue"="Transparent"}
LOD 200
Cull Off
CGPROGRAM
#pragma surface surf Standard alpha:fade
#pragma target 3.0
sampler2D _MainTex;
struct Input
{
float2 uv_MainTex;
};
void surf (Input IN, inout SurfaceOutputStandard o)
{
fixed4 c = tex2D (_MainTex, IN.uv_MainTex) ;
o.Albedo = c.rgb;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Diffuse"
}
'unity > 쉐이더' 카테고리의 다른 글
0507 쉐이더 Cube Map+메터리얼에 배경 반사하기 (0) | 2021.05.07 |
---|---|
0507 쉐이더 Diffuse Wraping (0) | 2021.05.07 |
0507 쉐이더 툰 그래픽 만들기 (0) | 2021.05.07 |
0506 쉐이더 블린퐁 (0) | 2021.05.06 |
0506 쉐이더 Rim Light + Hologram (0) | 2021.05.06 |