[Unity] URP 셰이더를 위해 알아야 할 것들

2023. 5. 23. 18:49Unity

728x90
반응형

셰이더란 무엇인가?

-화면에 그려지는 픽셀의 색을 결정하는 프로그램. GPU 내부에서 실행되기 때문에 여러 픽셀에 대해서 동일한 셰이더가 동시에 실행된다.

-아티스트의 시각에서는 "그래픽 데이터의 음영과 색상을 계산하여 다양한 재질을 표현하는 계산 방법"

 

 

Graphics API 종류와 프로세스

-Direct3D, OpenGL, Vulkan, Metal 등

ㄴㅇㅀ
Direct3D Graphic Pipeline. 직사각형 -하드웨어 처리라서 프로그래밍 불가능. 라운드 -프로그래밍 가능

  • 고해상도 픽셀 수가 많아져도 Vertex Shader의 실행 횟수는 일정. 하지만 Pixel Shader는 늘어난 픽셀 수만큼 많이 실행된다.
  • Pixel Shader는 최종적으로 모니터에 보이는 점. Fragment Shader는 raterizer에서 생성된 점. Fragment Shader에서 다른 조각에 의해 가려졌는지, Stencil 검사 통과, Anti-Aliasing 처리 등을 거쳐 Pixel Shader가 된다.

 

 

환경광

맑은 파란 하늘로 부터 직접적인 빛을 받지 않는 그림자는 푸른 색이 된다. 마찬가지로 먹구름이 가득한 하늘에서는 환경광이 무채색이 되며 정글에서는 환경광이 초록빛이 된다.

 

 

금속의 고유 컬러

 

Fresnel Reflection(프레넬 반사)

빛의 입사각이 커질 수록 반사율이 높아진다. 금속, 물은 물론 평소에 난반사가 기본으로 보이는 종이, 나무, 벽돌 등에서도 볼 수 있다.

출처: https://youtu.be/WmGrbEepFG4

 

 

Ambient Occlusion

-이름 뜻 그대로 하면 환경광조차 들어갈 수 없는 차폐된 어둠을 표현한 것이다. GI를 간략하게 계산하기 때문에 AO만 따로 계산하는 경우가 많다.

https://techgage.com/
AO의 종류

 

 

HDR(High Dynamic Range)

-LDR은 우리가 흔히 아는 0~1 사이의 컬러 값. 포토샵에서는 0~255 숫자로 표현된다. HDR은 그 이상을 의미한다. Poly Haven 같은 사이트에서 exr 혹은 hdr 확장자를 포토샵에서 열면 채널 당 32비트 이미지임을 볼 수 있다.

훨씬 더 밝은 값을 나타낼 수 있지만 우리가 구별하기 힘든 이유는 모니터가 LDR 이기 때문이다. 포토샵에서 노출값을 낮춰도 HDR 이미지는 밝게 빛난다.

LDR/HDR 비교 (https://www.researchgate.net/)

HDR 데이터를 LDR로 변환 하는 과정을 톤 매핑(Tone Mapping)이라고 하며 어떤 톤 매퍼(Tone Mapper)를 사용하는지에 따라 결과물이 달라진다.

 

 


참고자료

"아티스트를 위한 유니티 URP 셰이더 입문" -이상원 저

 

아티스트를 위한 유니티 URP 셰이더 입문 - YES24

셰이더(Shader)를 HLSL(High Level Shader Language)로 다루고 싶은 아티스트를 위한 입문서다. 아티스트들의 눈높이에 맞추어 기초 그래픽스 이론과 셰이더 개념을 설명하고, 이를 유니티 엔진에서 활용할

www.yes24.com

"대마왕의 유니티 URP 셰이더 그래프 스타트업" -정종필 저

 

대마왕의 유니티 URP 셰이더 그래프 스타트업

셰이더의 기본 개념에서부터 셰이더 그래프(노드)의 기본 활용법까지 소개하여, 다양하고 재미있는 셰이더를 만드는 방법을 알려준다. 또한, 자신이 원하는 효과를 만들기 위해 노드를 어떤 방

www.aladin.co.kr

 

728x90
반응형