Previous chapter
Todays main QUEST
๊ทธ๋ํฝ์ค๋ฅผ ํ๋ก๊ทธ๋จํ๋ ๋ฐฉ๋ฒ
๊ด์ ์๋ฎฌ๋ ์ด์
(Illumination) โ Projection โ Frame Buffer Fill-in
์ด๋ฅผ ์ํด์๋ ๊ทธ๋ํฝ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ํ๋ค.
์คํGL์ ์ดํด๋ณด์.
OpenGL
OpenGL์ ๊ตญ์ ํ์ค ๊ทธ๋ํฝ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
Kronos Group์ ์ํด ์ด์๋๊ณ ์์ผ๋ฉฐ ์ฌ๋ฌ๊ฐ์ง ์์คํ
์ ์ํฌํธ๋๋ค.
์ต๊ทผ์๋ WebGL์ด ์ง์๊ฐ๋ฅํจ.
๊ฒฝ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก๋ Direct X / Vulcan ๋ฑ์ด ์๋ค.
GL์ด ์ง์ํ๋ ๊ฒ
โข
ํ๋ซํผ์ ๋
๋ฆฝ์ ์ธ ๊ทธ๋ํฝ์ค ์๊ณ ๋ฆฌ์ฆ์ ์ง์ํ๋ค.
โข
๊ทธ๋ํฝ์ค Primitives๋ฅผ ํ๋ก์ธ์ฑํ๋ค.
โข
ํ๋์จ์ด์ ๋๋ผ์ด๋ฒ์ ๊ธฐ๋ฐํ ์ด๋ฏธ์ง ์
GL์ด ์ง์ํ์ง ์๋ ๊ฒ
โข
ํ์ด๋ ๋ฒจ ์คํผ๋ ์ด์
: Open Inventor, OpenGL Optimizer, OpenSce
โข
I/O : GLUT, GLFW, GLX, WGL
โข
์๋์ฐ ์ปจํธ๋กค : GLUT, GLFW, GLX, WGL
OpenGL Pipeline
Legacy Pipeline
New Pipeline
Tesselation Shader์ Compute Shader์ด ์ถ๊ฐ๋จ.
์ด๋ฒ ํ๊ธฐ์ ์ฃผ ๋ชฉํ๋ ์๋ก์ด ํ์ดํ๋ผ์ธ์ ๋ค๋ฃจ๋ ๊ฒ.
OpenGL Command Structure
OpenGL์๋ GLSL์ด ์ง์๋๋ค.
โข
OpenGL API : OpenGL pipeline์ ์กฐ์ํ๊ธฐ ์ํ C ์ธํฐํ์ด์ค
โข
GLSL : ํ์ดํ๋ผ์ธ์ ์
ฐ์ด๋๋ฅผ ํ๋ก๊ทธ๋๋ฐํ๊ธฐ ์ํ ๋ค์ดํฐ๋ธ ์ฝ๋
์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ๊ณผ์
1.
OS์ GL์ ๋งํฌ
2.
GL ์์
3.
ํ๋ก๊ทธ๋จ ์ปดํ์ผ
Elementry Shader
Pipeline OVERVIEW
Vertices(input) โ Vertex Shader
โข
Projection์ ํตํด Transform๋ Vertices์ ์ขํ๋ฅผ normalized Coordinate๋ก ์ ๋ฌํ๋ค.
Vertex Shader โ Primitive Assembly and Rasterization\
โข
Fragment๋ก ์ ๋ฌ๋๋ค.
Fragments โ Fragment Shader
โข
๊ฐ Fragment์ ์
Pixel Positions + Colored Fragments โ Raster Operations
โข
๋๋จธ์ง ๊ธฐ๋ฅ ์ํ
Vertex Processor
Vertex Shader๋ ๊ฐ๊ฐ ํ๋์ ์ ๋ง ์ฒ๋ฆฌํ๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก Vertex Position์ ๋ณํ์ ์ฃผ๋ก ๋ค๋ฃฌ๋ค. (MVP ์ฐธ์กฐ)
Projected๋ ์ ์ Normalizeํ๋ค.
Texture Coordinate๋ฅผ ์ฒ๋ฆฌํ๋ค.
Vertex ๋จ์๋ก ๋ผ์ดํ
์ ์งํํ๋ค. (์์ฆ์ ๋ณ๋ก ์ํจ)
Color ๊ณ์ฐ
Programming in GLSL
๊ธฐ๋ณธ์ ์ผ๋ก C์ ๊ฐ์ผ๋ ๋ค์๊ณผ ๊ฐ์ ์ฐจ์ด์ ์ด ์๋ค.
๊ณตํต์
โข
main() ํจ์
โข
Shader๋ด์ ๋ก์ปฌ ํจ์
โข
Global ๋ณ์(๋จ, Shader๋ด์์ ๋ฐ๊ฟ ์ ์๋ค.)
โข
์ธํฐํ์ด์ค ๋ณ์(in out๋ฑ)
์ฐจ์ด์
Variables in Vertex Shader
vec3 a = {a.x a.y a.z} = {a[0] a[1] a[2]}
๋ฒกํฐ๋ ๋ฒกํฐ๋จ์ ์ฐ์ฐ์ด ๊ฐ๋ฅํจ.
Built in Variables in Vertex Shader
int gl_VertexID; //
JavaScript
๋ณต์ฌ
out int gl_Position;
JavaScript
๋ณต์ฌ
Fragment Processor
Fragment : ํฝ์
๋จ์์ ๋ฐ์ดํฐ
๊ฐ ํฝ์
๋จ์๋ก ์คํ๋๋ค.
์ปฌ๋ฌ์ Texture ์ขํ๋ฅผ ํฝ์
๋จ์๋ก ์ง์ ํ์ฌ ํ
์ค์ณ๋ง์ ์งํํ๋ค.
Fog ๋ฑ์ ํน์ํจ๊ณผ๋ฅผ ์ ์ฉํ๋ค.
ํฝ์
๋จ์์ ์กฐ๋ช
ํจ๊ณผ ๊ณ์ฐ
ํ์ํ ๊ฒฝ์ฐ ํน์ ์ ์ ๊ทธ๋ฆฌ์ง ์์ ์ ์๋ค.
Next chapter