티스토리 뷰
Graphics Note #001
셰이더란 무엇인가 ? (20130818)
영상 주소 : https://youtu.be/IF5FaSt-GV0
참고 내용 : http://kblog.popekim.com/2011/11/01-part-1.html
역사적 배경
- OpenGL과 DirectX를 통한 획일화로 비슷비슷한 그래픽 처리를 보이게 됨
- 셰이더 프로그래밍 : 표면에 텍스쳐 등을 프로그래밍을 통해 설정할 수 있음
→ 3D 물체를 구성하는 픽셀들의 위치와 색 등을 프로그래머가 임의로 조작할 수 있음
셰이더의 종류
- 셰이더 : 화면에 출력하는 픽셀의 위치와 색상을 계산하는 함수 ← 픽셀 셰이더에 대한 설명 (좁은뜻)
- 셰이더의 결과물은 픽셀의 농담/색조/명암 효과들이 적용된 이후 ← 캔버스 위에 물감을 여러 번 칠하는 과정
- 정점 셰이더와 픽셀 셰이더의 두 종류
- 정점(꼭지점) 셰이더
vertex shader
: 폴리곤을 구성하는 정점들의 위치를 화면좌표로 변환 (일종의공간변환
) → 화가가 투시원근법을 통해 실제 사물을 캔버스 위로 옮기는 과정 - 픽셀 셰이더
pixel shader
: 화면에 출력하는 픽셀의 최종색상을 계산
관련 개념
- 정점 셰이더의 입력값은
3D Model
(3D 물체)이고, 이는Polygon
으로 구성돼 있다.
( 폴리곤은 삼각형들의 집합, 삼각형은 또 3개의 정점으로 이루어짐 ) - 래스터라이저
rasterizer
: 정점 셰이더가 출력하는 정점의 위치를 차례대로 3개씩 모아 삼각형을 만들고, 그 안에 픽셀이 몇 개나 들어가는지 계산한다 - 3D Graphic Pipeline : 정점 셰이더 → 래스터라이저 → 픽셀 셰이더
'etc. > PopeTV' 카테고리의 다른 글
#002 : Debug 빌드를 유지하자 (0) | 2018.01.18 |
---|
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- visualstudio
- unity
- PopeTV
- csharp
- shader
- Hashtable
- Python
- Docker
- dll
- git
- DirectX
- windows
- A.I.
- NOX
- tensorflow
- unreal
- Game
- WindowAPI
- cuDNN
- JIT
- vscode
- Slack
- lib
- pclaf
- C/C++
- CUDA
- Anaconda
- CAFFE
- ATOM
- visual-studio
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함