할 때 마다 잊어버려서 백업용.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
|
Shader "ltest"
{
SubShader
{
Tags{ "RenderType" = "Opaque" }
CGPROGRAM
#pragma surface surf Lambert
struct Input
{
float4 screenPos;//스크린 포지션을 받읍시다
};
sampler2D _CameraDepthTexture;
void surf( Input i , inout SurfaceOutput o ){
float4 ScreenPos = float4( i.screenPos.xyz , i.screenPos.w + 0.00000000001 ); //0으로 나누는 사태만 방지하기 위해 작은 값을 넣습니다.
float4 screenPosNorm = ScreenPos / ScreenPos.w; // 퍼스펙티브 제거
//screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? screenPosNorm.z : screenPosNorm.z * 0.5 + 0.5;
//near클립 값이 0보다 크면 냅두고 작으면 하프 램버트 처리
float screenDepth= LinearEyeDepth(UNITY_SAMPLE_DEPTH(tex2Dproj(_CameraDepthTexture,UNITY_PROJ_COORD(ScreenPos)))); // 깊이 텍스쳐를 스크린 좌표계를 이용해서 깊이값을 뽑아내고 그걸 리니어로 변환
o.Emission = 1- ( screenDepth - LinearEyeDepth( screenPosNorm.z ) );
}
ENDCG
}
}
|
cs |
Shader "ltest"
{
SubShader
{
Tags{ "RenderType" = "Opaque" }
CGPROGRAM
#pragma surface surf Lambert
struct Input
{
float4 screenPos;//스크린 포지션을 받읍시다
};
sampler2D _CameraDepthTexture;
void surf( Input i , inout SurfaceOutput o ){
float4 ScreenPos = float4( i.screenPos.xyz , i.screenPos.w + 0.00000000001 );
//0으로 나누는 사태만 방지하기 위해 작은 값을 넣습니다.
float4 screenPosNorm = ScreenPos / ScreenPos.w; // 퍼스펙티브 제거
//screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? screenPosNorm.z :
screenPosNorm.z * 0.5 + 0.5;
//near클립 값이 0보다 크면 냅두고 작으면 하프 램버트 처리
float screenDepth= LinearEyeDepth(UNITY_SAMPLE_DEPTH(tex2Dproj(_CameraDepthTexture,
UNITY_PROJ_COORD(ScreenPos))));
// 깊이 텍스쳐를 스크린 좌표계를 이용해서 깊이값을 뽑아내고 그걸 리니어로 변환
o.Emission = 1- ( screenDepth - LinearEyeDepth( screenPosNorm.z ) );
}
ENDCG
}
}
반응형
'Shader ' 카테고리의 다른 글
Unity 2018 built-in particle shaders 유니티 2018 내장 파티클 쉐이더_2 (0) | 2018.09.23 |
---|---|
Unity 2018 built-in particle shaders 유니티 2018 내장 파티클 쉐이더_1 (0) | 2018.09.22 |
유니티 파티클 커스텀 데이터 쉐이더 : Unity Particle(Shuriken) Custom Data Shader (3) | 2017.12.03 |
파티클 커스텀 버텍스 스트림 : Particle Custom Vertex Streams (0) | 2017.11.29 |
Flipbook Shader for Amplify Shader 앰플리파이 쉐이더로 만드는 플립북 (0) | 2017.10.03 |
댓글