0 Introduction - JJhuk/LearnOpenGL GitHub Wiki
LearnOpenGL - Introduction
μμ±μΌ: 2020λ 12μ 19μΌ μ€ν 8:58
https://learnopengl.com/Introduction
μ¬κΈ°κΉμ§ μκΈ° λλ¬Έμ μ»΄ν¨ν° κ·Έλν½μ€μ λ΄λΆ μλ λ°©μμ λ°°μ°κ³ λ©μ§ μ¬λλ€μ΄ νΌμνλ λͺ¨λ μΌλ€μ νκ³ μΆμ κ²μ λλ€. νΌμμ μμ νλ κ²μ λ§€μ° μ¬λ―Έμκ³ κ·Έλν½ νλ‘κ·Έλλ°μ λν νλ₯ν μ΄ν΄λ₯Ό μ 곡ν©λλ€. νμ§λ§ λμ μ¬μ μ μμνκΈ°μ μ κ³ λ €ν΄μΌ ν λͺκ°μ§ κ²λ€μ΄ μμ΅λλ€.
μ μ 쑰건
OpenGLμ κ·Έλν½ APIμ΄λ©° μ체 νλ νΌμ΄ μλκΈ° λλ¬Έμ μλν μΈμ΄κ° νμνλ©° κ·Έ μΈμ΄λ C++
μ
λλ€. κ·Έλ¬λ―λ‘ μ΄μ§κ°ν C++
νλ‘κ·Έλλ°μ λν μ§μμ΄ μꡬλ©λλ€. νμ§λ§ νμν κ²½μ° κ³ κΈ C++ μ£Όμ λ₯Ό ν¬ν¨νμ¬ μ¬μ©λλ λλΆλΆμ κ°λ
μ μ€λͺ
νλ €κ³ νλ―λ‘ C++ μ λ¬Έκ°κ° μλμ΄λ λμ§λ§ λ¨μν 'Hello World'
νλ‘κ·Έλ¨ μ΄μμ μμ±ν μ μμ΄μΌν©λλ€.
λν, λͺκ°μ§ μνμ μ¬μ©ν κ»λλ€ (μ νλμν, κΈ°νν, μΌκ°λ²) μ μ¬μ©ν κ²μ΄λ©° νμν μνμ λͺ¨λ νμ κ°λ μ μ€λͺ νλ €κ³ λ Έλ ₯ν κ²μ λλ€. κ·Έλ¬λ μ λ μνμκ° μλκΈ°λλ¬Έμ μ μ€λͺ μ΄ μ΄ν΄νκΈ° μ¬μΈμ§λ λͺ°λΌλ λΆμμ ν κ°λ₯μ±μ΄ λμ΅λλ€. λ°λΌμ νμν κ²½μ° μλ£λ₯Ό λ³΄λ€ μμ ν λ°©μμΌλ‘ μ€λͺ νλ μ’μ 리μμ€μ λν ν¬μΈν°λ₯Ό μ 곡 ν κ²μ λλ€. OpenGLλ‘μ μ¬μ μ μμνκΈ° μ μ νμν μνμ μ§μμ λν΄ λλ €μ νμ§ λ§μΈμ. κ±°μ λͺ¨λ κ°λ μ κΈ°λ³Έμ μΈ μνμ λ°°κ²½μΌλ‘ μ΄ν΄ν μ μμΌλ©° κ°λ₯ν ν μ΅μνμ μνμ μ μ§νλ €κ³ λ Έλ ₯ ν κ²μ λλ€. λλΆλΆμ κΈ°λ₯μ μ¬μ© λ°©λ²μ μλ ν λͺ¨λ μνμ μ΄ν΄ ν νμκ° μμ΅λλ€.
ꡬ쑰
LearnOpenGL μ¬λ¬ μΌλ° μΉμ μΌλ‘ λλ©λλ€. κ° μΉμ μλ κ°κΈ° λ€λ₯Έ κ°λ μ μμΈν μ€λͺ νλ μ¬λ¬ μ₯μ΄ ν¬ν¨λμ΄ μμ΅λλ€. κ° μ±ν°λ μΌμͺ½ λ©λ΄μμ μ°Ύμ μ μμ΅λλ€. κ°λ μ μ ν λ°©μμΌλ‘ μ§νλ©λλ€. (λ¬λ¦¬ μ§μλμ§ μλ ν μμμ μλλ‘ μμνλ κ²μ΄ μ’μ΅λλ€.) μ¬κΈ°μ κ° μ₯μλ λ°°κ²½ μ΄λ‘ κ³Ό μ€μ μΈ‘λ©΄μ μ€λͺ ν©λλ€.
κ°λ μ λ μ½κ² λ°λ₯΄κ³ μΆκ° ꡬ쑰λ₯Ό μ 곡νκΈ° μν΄ μ΄ μ± μλ boxes, code blocks, color hints and function referencesκ° ν¬ν¨λμ΄ μμ΅λλ€.
Boxes
μ΄λ‘μ λ°μ€λ λͺκ°μ§ λ©λͺ¨λ OpenGLμ΄λ λ€λ£¨κ³ μλ μ£Όμ μ λν΄ μ μ©ν νΉμ§μ΄λ ννΈλ₯Ό λνλ λλ€.
λΉ¨κ°μ λ°μ€λ λ§€μ° μ‘°μ¬ν΄μΌνλ νΉμ§μ΄λ κ²½κ³ λ₯Ό ν¬ν¨ν©λλ€.
Code
μλμμ λ³Ό μ μλ―μ΄ κ΅¬λ¬Έ κ°μ‘° μ½λκ° μλ μ§μ νμ μμμ μλ μΉ μ¬μ΄νΈμμ μμ μ½λλ₯Ό λ§μ΄ μ°Ύμ μ μμ΅λλ€.
// μ΄ λ°μ€μλ μ½λκ° ν¬ν¨λμ΄ μμ΅λλ€.
μ½λ μ€λν«λ§ μ 곡νλ―λ‘ νμν κ²½μ° μ£Όμ΄μ§ μ£Όμ μ νμν μ 체 μμ€ μ½λμ λν λ§ν¬λ₯Ό μ 곡 ν κ²μ λλ€.
Color hints
λͺλͺ λ¨μ΄λ€μ λ€λ₯Έ μμμΌλ‘ νμλμ΄ μ΄λ¬ν λ¨μ΄κ° νΉλ³ν μλ―Έλ₯Ό λ λͺ ννκ² λνλ λλ€.
- μ μ: λ Ήμ λ¨μ΄λ μ μ, μ¦ λ μμ£Όλ€μ κ°λ₯μ±μ΄ μλ μ€μν μΈ‘λ©΄/ μ΄λ¦μ μ§μ ν©λλ€.
- νλ‘κ·Έλ¨ κ΅¬μ‘°: λΉ¨κ°μ λ¨μ΄λ ν¨μ μ΄λ¦ λλ ν΄λμ€ μ΄λ¦μ μ§μ ν©λλ€.
- λ³μ: νλμ λ¨μ΄λ λͺ¨λ OpenGL μμλ₯Ό ν¬ν¨νλ λ³μλ₯Ό μ§μ ν©λλ€.
OpenGL ν¨μ λ νΌλ°μ€
LearnOpenGLμ νΉν μ μλ €μ§ κΈ°λ₯μ μ½ν μΈ μ νμλλ λͺ¨λ OpenGLμ κΈ°λ₯μ κ²ν ν μ μ΄μ΄γ΄ κΈ°λ₯μ λλ€. μΉ μ¬μ΄νΈμ λ¬Έμνλ μ½ν μΈ μμ κΈ°λ₯μ΄ λ°κ²¬λ λλ§λ€ κ·Έ κΈ°λ₯μ λ°μ€κ³Ό ν¨κ» νμλ©λλ€. λ§μ°μ€λ₯Ό ν¨μ μλ‘ κ°μ Έκ°λ©΄ μ μ νμ νμ μ°½μ ν¨μκ° μ€μ λ‘ μνλλ μμ μ λν κ°μλ₯Ό ν¬ν¨νμ¬ μ΄ ν¨μμ λν κ΄λ ¨ μ λ³΄κ° νμλ©λλ€. glEnalbe μλ‘ λ§μ°μ€λ₯Ό κ°μ Έ κ°λ©΄ λμμ λ³Ό μ μμ΅λλ€.
μ΄μ μ¬μ΄νΈ ꡬ쑰μ λν΄ μ½κ° μμμΌλ μμνκΈ° μΉμ μΌλ‘ μ΄λνμ¬ OpenGLμ μ¬μ μ μμνμΈμ!