본문 바로가기
Shader CG

기초 1. Shader 배워보자.

by SimonLee 2023. 7. 5.

opengl 기본지식과 Unity를 다뤄본 사람 수준정도면 이해할수 있는 수준으로 작성 할 것 입니다.

 

셰이더 코드 Language 종류에는 3가지 있습니다.

 

CG : Nvidia에서 제공하는 Shader Language.

HLSL : DirectX 기반 Shader Language. 

GLSL : Opengl 표준 Shader Lanague.

 

리눅스 임베디드 환경에서는 거의 대부분 GLSL을 사용해서 개발을 해왔으며 가장 오래되고 표준으로 볼수가 있다.

리눅스 네이티브 라이브러리 경우 대부분 GLSL로 되어 있습니다.

 

CG와 HLSL 경우 문법도 비슷 하고 지원되는 기기도 비슷합니다.

차이가 있다면 각 OS마다 지원하는 API가 더 있고 없고 차이정도가 있겠습니다.

GLSL 개발자들은 CG, HLSL 새로운 언어라기 보단 wrapping 한 느낌정도 ? 입니다.

 

Unity Shader 작성방법은 3가지가 있습니다.

  • Shader Lab.
  • Surface Shader
  • Vertex & Fragment Shader

Shader Lab : Shader Lab 문법만 사용해서 작성하는 방식입니다. 현재는 단독으로 사용하지는 않고

다른 작성 방법과 함께 Shader Lab 문법 위에 추가 하여 사용 됩니다.

 

Surface Shader : 복잡한 라이팅, Vertex Shader 부분들이 자동으로 처리가 되어 쉽게 배울수 있습니다.

 

Vertex & Fragment Shader : 모든 부분을 수동으로 처리합니다. 자동으로 처리되는 부분이 없으며 Customize 가능하며 고급기법도 사용 가능합니다.

CG, HLSL Shader Language 를 지원합니다.

 

전에 공부를 했었던 CG Language를 다시 정리 할겸 

예제 중심으로 블로그 작성을 할 예정입니다.

 

'Shader CG' 카테고리의 다른 글

1.2 도형 - Draw Rectangle - 1  (0) 2023.07.09
1.1 도형 - draw Circle  (0) 2023.07.09
기초 3. 블렌딩 해보자 (step, smoothstep)  (0) 2023.07.06
기초 2. 블렌딩 해보자  (0) 2023.07.05
기초 2. 기본 색상 출력 해보기  (0) 2023.06.28