μƒˆμ†Œμ‹

곡뢀/LearnOpenGL λ²ˆμ—­

[λ²ˆμ—­] LearnOpenGL - μ†Œκ°œ

  • -
728x90

원본 νŽ˜μ΄μ§€ - https://learnopengl.com/Introduction

 

당신이 이 νŽ˜μ΄μ§€λ₯Ό λ°©λ¬Έν•œ 것은 컴퓨터 κ·Έλž˜ν”½μ˜ 내적인 μž‘μš©μ„ 배우고 멋진 이듀이 ν•˜λŠ” λͺ¨λ“  것을 ν˜Όμžμ„œ ν•˜κ³  싢을 것이닀.

ν˜Όμžμ„œ 무언가λ₯Ό ν•˜λŠ” 것은 맀우 재미있고, μ§€λž΅μ΄ ν’λΆ€ν•˜λ©°, κ·Έλž˜ν”½ ν”„λ‘œκ·Έλž˜λ°μ— λŒ€ν•œ 큰 이해λ₯Ό μ€€λ‹€.

κ·ΈλŸ¬λ‚˜ μ‹œμž‘ν•˜κΈ° 전에 κ³ λ €ν•΄μ•Ό ν•  λͺ‡ 가지 ν•­λͺ©μ΄ μžˆμŠ΅λ‹ˆλ‹€.

 

μ „μ œμ‘°κ±΄

OpenGL은 자체 ν”Œλž«νΌμ΄ μ•„λ‹Œ κ·Έλž˜ν”½ API이기 λ•Œλ¬Έμ— λ™μž‘ν•˜κΈ° μœ„ν•œ μ–Έμ–΄κ°€ ν•„μš”ν•˜λ©° 선택 μ–Έμ–΄λŠ” C++μž…λ‹ˆλ‹€.

λ”°λΌμ„œ 이 μž₯듀을 μœ„ν•΄μ„œλŠ” C++ ν”„λ‘œκ·Έλž˜λ° 언어에 λŒ€ν•œ μ μ ˆν•œ 지식이 ν•„μš”ν•©λ‹ˆλ‹€.

ν•˜μ§€λ§Œ, ν•„μš”ν•œ 경우 κ³ κΈ‰ C++ 주제λ₯Ό ν¬ν•¨ν•˜μ—¬ μ‚¬μš©λ˜λŠ” λŒ€λΆ€λΆ„μ˜ κ°œλ…μ„ μ„€λͺ…ν•˜λ €κ³  λ…Έλ ₯ν•  κ²ƒμž…λ‹ˆλ‹€.

λ”°λΌμ„œ C++ μ „λ¬Έκ°€κ°€ 될 ν•„μš”λŠ” μ—†μ§€λ§Œ "Hello World" ν”„λ‘œκ·Έλž¨ μ΄μƒμ˜ 것을 λ§Œλ“€ 수 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

C++에 λŒ€ν•œ κ²½ν—˜μ΄ λ§Žμ§€ μ•Šλ‹€λ©΄ www.learncpp.com  μ—μ„œ 무료 νŠœν† λ¦¬μ–Όμ„ μΆ”μ²œν•©λ‹ˆλ‹€.

 

λ˜ν•œ, 도쀑에 μˆ˜ν•™ (μ„ ν˜• λŒ€μˆ˜ν•™, κΈ°ν•˜ν•™, 삼각법)을 μ‚¬μš©ν•  것이고 ν•„μš”ν•œ μˆ˜ν•™μ˜ λͺ¨λ“  ν•„μˆ˜ κ°œλ…μ„ μ„€λͺ…ν•˜λ €κ³  λ…Έλ ₯ν•  κ²ƒμž…λ‹ˆλ‹€.

ν•˜μ§€λ§Œ μ €λŠ” μˆ˜ν•™μžκ°€ μ•„λ‹ˆκΈ° λ•Œλ¬Έμ— μ„€λͺ…이 μ΄ν•΄ν•˜κΈ° 쉽더라도 λΆˆμ™„μ „ν•  κ°€λŠ₯성이 λ†’μŠ΅λ‹ˆλ‹€.

κ·Έλž˜μ„œ ν•„μš”ν•œ κ²½μš°μ—λŠ” 자료λ₯Ό 보닀 μ™„λ²½ν•˜κ²Œ μ„€λͺ…ν•  수 μžˆλŠ” 쒋은 μžλ£Œμ— λŒ€ν•œ 지침을 μ œκ³΅ν•  κ²ƒμž…λ‹ˆλ‹€.

OpenGl둜의 여정을 μ‹œμž‘ν•˜κΈ° 전에 ν•„μš”ν•œ μˆ˜ν•™μ  지식에 λŒ€ν•΄ λ‘λ €μ›Œν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.

거의 λͺ¨λ“  κ°œλ…μ€ 기본적인 μˆ˜ν•™μ  배경으둜 νžˆμ• ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

κ°€λŠ₯ν•œ ν•œ μˆ˜ν•™μ„ μ΅œμ†Œν™”ν•˜λ„λ‘ λ…Έλ ₯ν•˜κ² μŠ΅λ‹ˆλ‹€.

λŒ€λΆ€λΆ„μ˜ κΈ°λŠ₯은 μ‚¬μš©λ²•μ„ μ•Œκ³  μžˆλŠ” ν•œ λͺ¨λ“  μˆ˜ν•™μ„ 이해할 ν•„μš”μ‘°μ°¨ μ—†μŠ΅λ‹ˆλ‹€.

 

ꡬ쑰

Learn OpenGL은 μ—¬λŸ¬ 개의 일반적인 μ„Ήμ…˜μœΌλ‘œ λ‚˜λ‰©λ‹ˆλ‹€.

각 μ„Ήμ…˜μ—λŠ” μ„œλ‘œ λ‹€λ₯Έ κ°œλ…μ„ μžμ„Ένžˆ μ„€λͺ…ν•˜λŠ” μ—¬λŸ¬ μž₯이 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

각 μž₯은 μ™Όμͺ½ λ©”λ‰΄μ—μ„œ 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.

κ°œλ…λ“€μ€ μ„ ν˜•μ μΈ λ°©μ‹μœΌλ‘œ κ°€λ₯΄μ³μ§€λ©°(λ”°λΌμ„œ λ‹€λ₯Έ μ§€μ‹œκ°€ μ—†λŠ” ν•œ μœ„μ—μ„œ μ•„λž˜λ‘œ μ‹œμž‘ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€) 각 μž₯μ—μ„œ λ°°κ²½ 이둠과 μ‹€μ œμ μΈ 츑면을 μ„€λͺ…ν•œλ‹€.

 

κ°œλ…μ„ 더 μ‰½κ²Œ λ”°λ₯΄κ³  μΆ”κ°€λœ ꡬ쑰λ₯Ό μ œκ³΅ν•˜κΈ° μœ„ν•΄ 이 μ±…μ—λŠ” μƒμž, μ½”λ“œ 블둝, 색상 힌트 및 κΈ°λŠ₯ μ°Έμ‘°κ°€ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

 

λ°•μŠ€

1
μ΄ˆλ‘μƒ‰ λ°•μŠ€ μƒμžμ—λŠ” OpenGL λ˜λŠ” λ‹Ήλ©΄ν•œ μ£Όμ œμ— λŒ€ν•œ λͺ‡ 가지 μ°Έκ³  사항 λ˜λŠ” μœ μš©ν•œ κΈ°λŠ₯/νžŒνŠΈκ°€ ν¬ν•¨λ˜μ–΄
μžˆμŠ΅λ‹ˆλ‹€.
cs
1
λΉ¨κ°„ λ°•μŠ€ μƒμžμ—λŠ” κ²½κ³  λ˜λŠ” 기타 μ£Όμ˜ν•΄μ•Ό ν•  κΈ°λŠ₯이 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
cs

μ½”λ“œ

μ•„λž˜μ™€ 같이 ꡬ문이 κ°•μ‘°λœ μ½”λ“œμ™€ ν•¨κ»˜ μ–΄λ‘μš΄ νšŒμƒ‰ μƒμžμ— μžˆλŠ” μˆ˜λ§Žμ€ μž‘μ€ μ½”λ“œ 쑰각을 μ›Ή μ‚¬μ΄νŠΈμ—μ„œ 찾을 수 μžˆμŠ΅λ‹ˆλ‹€;

1
// 이 λ°•μŠ€λŠ” μ½”λ“œλ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€.
cs

이것듀은 μ½”λ“œ 쑰각만 μ œκ³΅ν•˜κΈ° λ•Œλ¬Έμ—, ν•„μš”ν•˜λ‹€λ©΄ 주어진 μ£Όμ œμ— ν•„μš”ν•œ 전체 μ†ŒμŠ€ μ½”λ“œμ— λŒ€ν•œ 링크λ₯Ό μ œκ³΅ν•  κ²ƒμž…λ‹ˆλ‹€.

색상 힌트

일뢀 λ‹¨μ–΄λŠ” λ‹€λ₯Έ μƒ‰μœΌλ‘œ ν‘œμ‹œλ˜μ–΄ 이 단어듀이 νŠΉλ³„ν•œ 의미λ₯Ό 더 λͺ…ν™•ν•˜κ²Œ ν‘œν˜„ν•©λ‹ˆλ‹€.

  • μ •μ˜ : 녹색 λ‹¨μ–΄λŠ” μ •μ˜, 즉 더 자주 듀을 수 μžˆλŠ” κ²ƒμ˜ μ€‘μš”ν•œ μΈ‘λ©΄/이름을 μ§€μ •ν•©λ‹ˆλ‹€.
  • ν”„λ‘œκ·Έλž¨ ꡬ쑰 : 빨간색 λ‹¨μ–΄λŠ” ν•¨μˆ˜ 이름 λ˜λŠ” 클래슀 이름을 μ§€μ •ν•©λ‹ˆλ‹€.
  • λ³€μˆ˜ :  νŒŒλž€μƒ‰ λ‹¨μ–΄λŠ” λͺ¨λ“  OpenGL μƒμˆ˜λ₯Ό ν¬ν•¨ν•˜λŠ” λ³€μˆ˜λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.

OpenGL ν•¨μˆ˜ μ°Έμ‘°

특히 LearnOpenGl의 κΈ°λŠ₯은 μ½˜ν…μΈ μ— λ‚˜νƒ€λ‚˜λŠ” λͺ¨λ“  κ³³μ—μ„œ OpenGL의 κΈ°λŠ₯을 κ²€ν† ν•  수 μžˆλŠ” κΈ°λŠ₯μž…λ‹ˆλ‹€.

μ›Ήμ‚¬μ΄νŠΈμ— λ¬Έμ„œν™”λœ μ½˜ν…μΈ μ—μ„œ κΈ°λŠ₯을 발견될 λ•Œλ§ˆλ‹€, κ·Έ κΈ°λŠ₯은 μ•½κ°„ λˆˆμ— λ„λŠ” 밑쀄과 ν•¨κ»˜ λ‚˜νƒ€λ‚  κ²ƒμž…λ‹ˆλ‹€.

마우슀λ₯Ό κΈ°λŠ₯ μœ„μ— μ˜¬λ €λ†“μœΌλ©΄ μž μ‹œ ν›„ νŒμ—… 창에 κΈ°λŠ₯이 μ‹€μ œλ‘œ μˆ˜ν–‰ν•˜λŠ” μž‘μ—…μ— λŒ€ν•œ 멋진 κ°œμš”λ₯Ό ν¬ν•¨ν•˜μ—¬ 이 κΈ°λŠ₯에 λŒ€ν•œ κ΄€λ ¨ 정보가 ν‘œμ‹œλ©λ‹ˆλ‹€. 마우슀λ₯Ό glEnable μœ„μ— 올렀 λ†“μœΌλ©΄ λ™μž‘μ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

 

μ‹œμž‘ μ„Ήμ…˜μœΌλ‘œ μ΄λ™ν•˜μ—¬ OpenGL 여정을 μ‹œμž‘ν•˜μ‹­μ‹œμ˜€!

λ°˜μ‘ν˜•
Contents

ν¬μŠ€νŒ… μ£Όμ†Œλ₯Ό λ³΅μ‚¬ν–ˆμŠ΅λ‹ˆλ‹€

이 글이 도움이 λ˜μ—ˆλ‹€λ©΄ 곡감 λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.