Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 벡터
- 개인 바이트
- OculusMotionVectorPass
- Rim Light
- Cartoon Rendering
- URP
- Virtual Byte
- Three(Two) Tone Shading
- ColorGradingLutPass
- working set
- 프로그래밍 기초
- 가상 바이트
- Cell Look
- Cell Shader
- 작업 집합
- 게임 수학
- 3d
- VR
- ASW(Application SpaceWarp)
- URP로 변경
- AppSW
- C언어
- Windows Build
- 메모리 누수
- Specular
- Private Bytes
- Toon Shader
Archives
- Today
- Total
WinCNT
깊이 버퍼(Depth Buffer) 본문
Depth Buffer
정확히는 Depth-Stencil Buffer
깊이 버퍼를 시각화한 버퍼!
(주로 디퍼드 렌더링 상태 중 하나로 선택됨)
어떤 오프젝트가 앞에 있나 없나를 판단
Far면 0(흰색), Near는 1(검정)
디퍼드 렌더링에서는 깊이 버퍼 외에도 알베도(디퓨즈), 노멀 값, 월드 포지션 등등
다양한 데이터를 2차원 텍스처로 만든다
참고로 깊이 버퍼는 각 채널에 깊이 말고 스텐실 정보를 담을 수 있어서 Depth-Stencil Buffer라고 한다
(구성은 다를 수 있음)
스텐실은 거울, 호수 등에 사용되거나 한다
Render Target(렌더 타겟)
렌더링 되는 대상을 말한다
꼭 화면이 아니어도 된다(텍스처 등에 그릴 수도 있음)
SRV(셰이더 리소스 뷰, Shader Resource View)
셰이더로 자원을 보내기 위한 수단
바운딩을 잘못해서 자주 오류가 나는 원인이기도...
깊이 버퍼는 어디서 사용할까?
NDC 공간이 텍스처 정보가 아니고 0~1의 깊이를 가지고 있는 이유는 깊이 정보를 이용하기 위해서이다
깊이 정보를 사용할 수 있는 모든기술
Depth가 버퍼에 기록되어있는 특성 상, 주로 Pixel Shader에서 주로 참조
(Vertex Shader에도 없지는 않음)
- Depth of Field
- Shadow Map
- Fog
- SSAO
- Ambient에서 차폐되는 부분을 보정(?)하는 테크닉
- 실제 SSAO를 구하려면 연산량이 엄청나다
- 그래도 노멀 값과 깊이 정보로 근사 값을 적은 연산량으로 구할 수 있음
- 기타 등등
SSS
'게임 프로그래밍(학습 내용 정리) > 3D Game Programming' 카테고리의 다른 글
Blending (0) | 2022.05.20 |
---|---|
Post Processing (0) | 2022.05.19 |
Normal Mapping (0) | 2022.05.06 |
Picking (0) | 2022.05.06 |
Skinning (0) | 2022.04.29 |