본문 바로가기

Graphics/Shader

Definition of Shader

셰이더의 기본 정의를 검색해보면 컴퓨터 그래픽스 분야에서 주로 그래픽 하드웨어의 렌더링 효과를 계산하는 소프트웨어 명령의 집합이라고 나옵니다. 즉, GPU를 제어하는 스크립트라고 볼 수 있는 것입니다.

 

셰이더의 현대적인 이용은 1988년 5월 픽사에 의해 출판된 렌더맨 인터페이스와 함께 대중에 도입되었다고 합니다.

 

 

렌더맨 인터페이스를 간략히 설명한다면 언어의 문법은 C언어와 유사하고, 표준함수와 다섯 종류의 셰이더( Surface, Light, Volume, Imager, Displacement )를 정의하고 있다고 합니다.

 

 

변위(Displacement) :

텍스처화된 표면상에 존재하는 점의 실제 기하학적 위치가 텍스처에 저장된 값에 따른 표면 법선에 따라 대체되는 매핑입니다. 주로 돌출된 표면을 표현할 때 많이 이용됩니다.

 

 

 

초기 셰이더는 말그대로 셰이딩, 음영 처리를 담당하는 유닛이었지만, 의미가 확장해나가면서 컴퓨트 셰이더, 테셀레이션 등의 기술들이 나와 컴퓨터 프로그램에 점차 초점이 맞춰지게 되었습니다.

 

컴퓨트 셰이더(Compute Shader) :

일반 렌더링 파이프라인과 별도로 그래픽 카드에서 실행되는 프로그램입니다. 컴퓨트 셰이더는 대량 병렬 GPGPU 알고리즘 또는 게임 렌더링의 일부를 가속시키기 위해 사용할 수 있습니다.

 

테셀레이션(Tessellation) :

폴리곤을 미세한 조각으로 세분화하는 방법으로 리얼리즘을 향상시킬때 많이 이용됩니다.

 

 

유니티 URP 셰이더 그래프 스타트업이라는 도서에 따르면,

아티스트의 시각으로 셰이더를 다시 정의해볼때, 

 

"그래픽 데이터의 음영과 색상을 계산하여 다양한 재질을 표현하는 계산 방법" 이라고도 말합니다.

 


 

자료 출처

1.https://ko.wikipedia.org/wiki/%EC%85%B0%EC%9D%B4%EB%8D%94

2.https://ko.wikipedia.org/wiki/%EB%A0%8C%EB%8D%94%EB%A7%A8_%EC%85%B0%EC%9D%B4%EB%94%A9_%EC%96%B8%EC%96%B4

3.https://docs.unity3d.com/kr/2018.4/Manual/class-ComputeShader.html

4.https://en.wikipedia.org/wiki/Displacement_mapping

5.https://www.youtube.com/watch?v=r_eatgPFQYg&t=1174

'Graphics > Shader' 카테고리의 다른 글

Effect - Outline  (0) 2023.10.17
Effect - Aura  (0) 2023.09.19