โ OpenGL์ด๋?
OpenGL์ ํฌ๋ก์ค-ํ๋ซํผ ๊ทธ๋ํฝ์ค API๋ก 2D ๋ฐ 3D ๊ทธ๋ํฝ์ค๋ฅผ ๋ ๋๋งํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
โ OpenGL์ ํน์ง
1. ํฌ๋ก์ค ํ๋ซํผ : ์๋์ฐ, ๋งฅ, ๋ฆฌ๋
์ค, iOS, ์๋๋ก์ด๋ ๋ฑ ์ฌ๋ฌ OS์์ ๋์์ด ๊ฐ๋ฅํ๋ค.
2. ํ๋์จ์ด ํธํ : ์ฌ๋ฌ ๊ทธ๋ํฝ ์นด๋๊ฐ OpenGL์ ์ง์ํ๋ ๋๋ผ์ด๋ฒ๋ฅผ ์ ๊ณตํ๋ค.
3. ํ์ฅ ๊ฐ๋ฅ์ฑ : ๋ค์ํ ํ์ฅ(Extensions)์ ํตํด ๊ธฐ๋ฅ์ ํ์ฅํ ์ ์๋ค.
โ GLFW
Graphics Library Framework์ ์ฝ์๋ก OpenGL๊ณผ ํจ๊ป ์ฌ์ฉ๋๋ ์ ํธ๋ฆฌํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
OpenGL ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ฐฝ ๊ด๋ฆฌ, ์
๋ ฅ ์ฒ๋ฆฌ, ์ปจํ
์คํธ ์์ฑ ๋ฑ์ ๋ด๋นํ๋ค.
* ์ ํธ๋ฆฌํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ํ ์ด์ ๋ OpenGL์ API์ผ ๋ฟ ์ฐฝ์ ์์ฑํ๊ฑฐ๋ ์
๋ ฅ์ ๋ฐ๋ ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
โ GLEW
OpenGL Extension Wrangler์ ์ฝ์๋ก OpenGL ํ์ฅ์ ์ฟผ๋ฆฌํ๊ณ ๋ก๋ํ๋ ํฌ๋ก์ค ํ๋ซํผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
GLEW๋ ๊ทธ๋ํฝ์นด๋ ๋๋ผ์ด๋ฒ์ ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(DLL)์ ํ์ฌ๋ OpenGL ํจ์๋ค์ ํฌ์ธํฐ๋ค์ ๋ถ๋ฌ์ ์์ฒด์ ์ผ๋ก ์ ์ํ OpenGL ํจ์๋ค๊ณผ ์ฐ๊ฒฐํ๋ค.
์ฆ, ๋ค์ํ OpenGL ํ์ฅ ๊ธฐ๋ฅ๋ค์ ์ฝ๊ฒ ์ด๊ธฐํํ๊ณ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ค๋ค.
โ State
OpenGL์ ์ํ๋ ํ์ฌ OpenGL์ ์ค์ ์ ์๋ฏธํ๋ค.
์ํ๋ ๋ ๋๋ง ๋์์ ์ํฅ์ ๋ฏธ์น๋ฉฐ, ์ค์ ๋ ์ํ์ ๋ฐ๋ผ OpenGL์ ๊ทธ๋ํฝ์ ์ฒ๋ฆฌํ๊ณ ๋ ๋๋งํ๋ค.
(ex ํ์ฌ ํ์ฑํ๋ ์
ฐ์ด๋ ํ๋ก๊ทธ๋จ, ํ์ฑํ๋ ํ
์ค์ฒ, ํ
์คํธ์ ํ์ฑํ ์ํ, ๋ทฐํฌํธ ํฌ๊ธฐ, ํจ์๋ฑ์ ์ค์ ๋ฑ)
โ Context
Context๋ OpenGL ์ํ์ ๋ ๋๋ง ์์
์ ํ์ํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ ๊ฐ์ฒด์ด๋ค.
(๋ ๋๋ง ์์
์ ์ํํ๊ธฐ ์ํ ํ๊ฒฝ์ด๋ผ๊ณ ํ ์ ์๋ค)
์ฌ๋ฌ ์ปจํ
์คํธ๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ํ์์ ๋ฐ๋ผ ๋ค๋ฅธ ์ปจํ
์คํธ๋ก ์ ํํ ์ ์๋ค.
'๐จ Graphics > ๐ต OpenGL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [OpenGL] Shader (2) | 2024.07.24 |
|---|---|
| [OpenGL] EBO (0) | 2024.07.18 |
| [OpenGL] ์ผ๊ฐํ ๊ทธ๋ฆฌ๊ธฐ (0) | 2024.07.17 |
| [OpenGL] ์๋์ฐ ์์ฑ ๋ฐ ๋ ๋๋ง (0) | 2024.07.17 |
| [OpenGL] ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ (0) | 2024.07.11 |