본문 바로가기

유니티/그래픽스

[Unity] 셰이더 (Shader)

반응형

셰이더란 무엇일까?

셰이더의 의미

일반적으로 셰이더는 그래픽 처리와 관련되어 픽셀의 위치나 컬러의 계산을 수행하는 역할을 의미한다.

하지만  프로그램과 사람마다 정의하고 있는 의미가 다르다. 따라서 유니티에서는 셰이더의 의미를 다음과 같이 정의하고 있다.

 

  • 셰이더 또는 셰이더 프로그램 - GPU에서 실행되는 프로그램. 달리 명시되지 않는 한, 셰이더 프로그램이 그래픽스 파이프라인의 일부임을 의미합니다.
  • 셰이더 오브젝트 - Shader 클래스의 인스턴스입니다. 셰이더 오브젝트는 셰이더 프로그램 및 기타 정보를 위한 래퍼입니다.
  • ShaderLab - 셰이더를 작성하기 위한 Unity 전용 언어입니다.
  • 셰이더 그래프 - 코드를 작성하지 않고 셰이더를 만들 수 있는 툴입니다.
  • 셰이더 에셋* - .shader 확장자가 있는 Unity 프로젝트 내 파일로, 셰이더 오브젝트를 정의합니다.
  • 셰이더 그래프 에셋 - Unity 프로젝트 내 파일로, 셰이더 오브젝트를 정의합니다.

셰이더의 종류

  • 그래픽 파이프라인의 일부인 셰이더는 가장 자주 사용되는 셰이더 타입입니다. 이러한 셰이더는 화면의 픽샐 컬러를 결정하는 계산을 수행합니다. 보통 Unity에서는 셰이더 오브젝트를 사용하여 이 타입의 셰이더로 작업합니다.
  • 컴퓨트 셰이더는 일반 그래픽스 파이프라인 외부, GPU에서 계산을 수행합니다.
  • 광선 추적 셰이더는 광선 추적과 관련된 계산을 수행합니다.
반응형