티스토리 뷰

etc./PopeTV

#001 : 셰이더란 무엇인가 ?

BaeMinCheon 2017. 10. 18. 21:09

Graphics Note #001


셰이더란 무엇인가 ? (20130818)

영상 주소 : https://youtu.be/IF5FaSt-GV0
참고 내용 : http://kblog.popekim.com/2011/11/01-part-1.html

역사적 배경
  • OpenGL과 DirectX를 통한 획일화로 비슷비슷한 그래픽 처리를 보이게 됨
  • 셰이더 프로그래밍 : 표면에 텍스쳐 등을 프로그래밍을 통해 설정할 수 있음
    → 3D 물체를 구성하는 픽셀들의 위치와 색 등을 프로그래머가 임의로 조작할 수 있음
셰이더의 종류
  • 셰이더 : 화면에 출력하는 픽셀의 위치와 색상을 계산하는 함수 ← 픽셀 셰이더에 대한 설명 (좁은뜻)
  • 셰이더의 결과물은 픽셀의 농담/색조/명암 효과들이 적용된 이후 ← 캔버스 위에 물감을 여러 번 칠하는 과정
  • 정점 셰이더와 픽셀 셰이더의 두 종류
  1. 정점(꼭지점) 셰이더 vertex shader : 폴리곤을 구성하는 정점들의 위치를 화면좌표로 변환 (일종의 공간변환) → 화가가 투시원근법을 통해 실제 사물을 캔버스 위로 옮기는 과정
  2. 픽셀 셰이더 pixel shader : 화면에 출력하는 픽셀의 최종색상을 계산
관련 개념
  • 정점 셰이더의 입력값은 3D Model(3D 물체)이고, 이는 Polygon으로 구성돼 있다.
    ( 폴리곤은 삼각형들의 집합, 삼각형은 또 3개의 정점으로 이루어짐 )
  • 래스터라이저 rasterizer : 정점 셰이더가 출력하는 정점의 위치를 차례대로 3개씩 모아 삼각형을 만들고, 그 안에 픽셀이 몇 개나 들어가는지 계산한다
  • 3D Graphic Pipeline : 정점 셰이더 → 래스터라이저 → 픽셀 셰이더


'etc. > PopeTV' 카테고리의 다른 글

#002 : Debug 빌드를 유지하자  (0) 2018.01.18
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함