유니티 셰이더&렌더링 에센스 E01 셰이더는 무엇인가? - YouTube
셰이더
화면에 색을 칠하는(Shading) 프로그램
랜더링 파이프라인의 일부를 유연하게 변경하는 프로그램
렌더링 파이프라인에서 프로그래머가 직접 수정할 수 있는 부분이 셰이더
셰이더 종류
버텍스 셰이더 : 그려질 위치를 결정
정점에 대해서 대응되는 화면상의 정점을 출력하는 함수이자 프로그래밍
즉 3D 공간 상의 위치를 화면 상의 위치로 변환한다고 생각하면 되는데
현실의 물체의 꼭짓점들이 종이 위에서는 어떻게 대치될지 그리는 것이라고 생각하면 됨
이 과정이 필요한 이유?
현실의 물체가 아무리 동일한 형태로 계속 존재해도 우리가 어떤 각도에서 보냐에 따라서 종이 위에 어디에 위치하고 어떤 크기로 그려질지 결정하고 밑그림을 그려야지 나중에 색을 칠할 수 있기 때문에
프래그먼트 셰이더 : 칠할 색을 결정
우리가 그릴 대상을 이루고 있는 수 많은 점들에 색을 채워서 최종 출력될 픽셀의 색을 결정함
색칠할 대상의 위치를 결정할 수는 없고 전달받은 대상의 색칠할 컬러를 결정
컴퓨트 셰이더 : 범용적인 문제에 GPU를 사용
셰이더의 동작 방식
셰이더는 GPU의 병렬성을 이용한 언어이기 때문에 N개의 입력이 있으면 N개의 입력을 받는 한번의 셰이더 실행으로 처리하는 게 아니라 한번에 한개의 입력만 받는 셰이더 실행을 동시에 N개를 실행하는 방식으로 처리함
'그래픽스ㆍDirectX' 카테고리의 다른 글
짐벌락과 쿼터니언 + Spherical Linear Interpolation (0) | 2022.05.21 |
---|---|
렌더링 파이프라인 - 래스터라이저와 프래그먼트 셰이더 (0) | 2022.05.21 |
렌더링 파이프라인 - 정점 조립과 정점 변환 (0) | 2022.05.20 |
렌더링 파이프라인 - 그래픽스 API 초기화와 드로우 콜 (0) | 2022.05.20 |
그래픽스, CPU vs GPU, 랜더링 파이프라인 (0) | 2022.05.19 |
댓글