DepthBuffer 3

09. Depth Buffer 심화 (3) - 다니엘 릿 쉐이더 프로젝트

X-Ray Effet Using Depth여러 게임들을 보면, 벽을 통해서도 오브젝트를 볼 수 있능 기능이 있다.벽 너머에 있는 오브젝트를 렌더링 하기 위해서, Depth Buffer를 이용하면 된다.오브젝트가 다른 벽보다 앞에 있으면 Less-Equal Depth Testing을 이용하고, 벽 뒤에 있게 되면 Greater Depth Testing을 진행하면 된다. 이 기능 또한 Render Object 를 이용하면 되지만, 쉐이더에서 한번 만들어보도록 하자. Built-in 파이프라인에서는 2개의 Pass를 붙여서 사용해도 되지만, URP에서는 Normal 관련 이펙트는 여러 패스가 Single Shader로 묶여 처리된다. 이를 해결하기 위해 2개의 Shader 파일을 만들도록 하자. XRay Ef..

08. Depth Buffer 심화 (2) - 다니엘 릿 쉐이더 프로젝트

01. Scene IntersectionsScene Intersection 이펙트는 겹쳐지는 오브젝트의 부분을 하이라이트하는 유용한 이펙트이다.바닷가의 해변이라던가, 화려한 에너지 등 다양한 곳에서 사용된다.이런 이펙트들은 모두 오브젝트간에 감지하는 기술을 필요로 한다. 쉐이더에서는 픽셀마다 현재 Depth Texture에 저장된 카메라와의 거리를 계산하도록 해야한다. Shader "Lucid-Boundary/DepthBuffer_SceneIntersection"{ Properties { _BaseColor("Base Color", Color) = (1, 1, 1, 1) _IntersectColor("Intersect Color", Color) = (1, 1, 1, 1..

07. Depth Buffer 심화 (1) - 다니엘 릿 쉐이더 프로젝트

01. Depth Testing And Writing Depth Testing 하는 방식은 HLSL에서 커스터마이징 가능하다.여러가지 소개 전에 스탠다드한 "LessEqual" Depth Test에 대해 알아보려 한다. ZTest KeywordHLSL에서는 ZTest 라는 키워드를 지원하며 Default 는 LEqual 이다.Pass{ ZTest LEqual ...}우리가 따로 명시하지 않는다면, LEqual이 기본 세팅이다.Less확실히 작아야 Depth Test가 통과GEqualDepth Value가 더 크거나 같은 쪽이 Depth Test 통과GreatherDepth Value가 더 큰 쪽이 Depth Test 통과EqualDepth가 같아야만, Depth Test 통과NotEqual다르기만 ..