μ΄ ν¬μ€ν μ μΏ ν‘ ννΈλμ€ νλμ μΌνμΌλ‘, μ΄μ λ°λ₯Έ μΌμ μ‘μ μμλ£λ₯Ό μ 곡λ°μ μ μμ΅λλ€.
λ€μκ³Ό κ°μ κ²μ ꡬννμ΅λλ€.
[1] 3D objectsλ€μ΄ μ μ§νκ³ μλ μνμμ
*μ£Όμμμ€μ½λ
- μΈμ μ λμμ κ³μ°(Algebraic operation of cross product)
- 3Dμ’νμμμμ Vector ν΄λμ€ μ μ
- λ·°μμ’ν κ³μ°
1. λ·°μμ’νμ ZμΆμ μΉ΄λ©λΌμ EyeX,Y,Z μμ CenterX,Y,Zμ μ°¨λ₯Ό κ³μ°νλ©΄ λμ΅λλ€.(μΉ΄λ©λΌμμΉμμ μΉ΄λ©λΌκ° 보λ μ λΉΌκΈ°)
2. View-Up Vectorλ λ¨μν μλμ’νμμ YμΆ(0,1,0)μ ν΄λΉνκ² κ΅¬μ...
3. VUPκ³Ό Zλ₯Ό μΈμ νλ©΄ XμΆμ ꡬν μ μκ³
4. λ€μ zμΆκ³Ό XμΆμ μΈμ νλ©΄ YμΆμ ꡬν μ μμ΅λλ€.
* λ¨μ벑ν°λ κ·Έλ₯ μ°μ°μμ ν¬κΈ°λ₯Ό λλ μ£Όλ©΄ λ©λλ€.
λ¨μν μλμ’νκ³κΈ°μ€μμ X,Y,Z μΆ νμ μ νλ κ²μΈμ§ μΉ΄λ©λΌμ λ·°μμ’νμ κΈ°μ€μΌλ‘ X,Y,ZμΆμΈμ§ λͺ μλμ΄μμ§ μμκΈ° λλ¬Έμ λλ€. μλμ’νκΈ°μ€μμ "물체λ₯Ό λ°λΌλ³΄λ©° μ΄λνμ "μ νλκ²μ΄λ©΄ κ·Έλ¦Ό1(ZμΆκΈ°μ€ νμ μ κΆ€μ κ·Έλ¦Όμ μλ΅νμ΅λλ€) κ³Ό κ°μ΄ μΉ΄λ©λΌκ° κΆ€μ μ κ·Έλ¦¬κ² λμ§λ§ μΉ΄λ©λΌμ λ·°μμ’νμμ μ΄λνμ μ νκ²λλ©΄ κ·Έλ¦Ό2(YμΆκΈ°μ€ νμ μ κΆ€μ λ§ λͺ μνμ΅λλ€)μ λκΈ° λλ¬Έμ λλ€.
λ·°μμ’νκΈ°μ€μΌλ‘ νμ μ νλ €λ©΄ λ€μ glLookatν¨μμ λ΄λΆκ΅¬ν, μ¦, Cross Productλ±μ μ°μ°μ ν΅ν΄ λ·°μμ’νλ₯Ό μμλ΄μΌ νμΌλ©°, νμ μμλ ν¨μ¬ λ 볡μ‘ν μ°μ°μ΄ λ€μ΄κ°κ² λ©λλ€. μ°μ° μ€μ°¨ λλ¬ΈμΈμ§ κ·Έλ¦Ό2μ κ°μ΄ ꡬνμ νκ² λλ©΄ νΌν¬λ¨Όμ€κ° λ¨μ΄μ‘μ΅λλ€.(Center<λ°λΌλ³΄λμ >μ μ’νκ° κ³μ λ°λλκ΅°μ λΉλμ€μΊ‘μ³ λ§μ§λ§λΆλΆμ "μ€νμ ν¬μ€"μ²λΌ μμ§μ΄λ μ₯λ©΄μ€λͺ μμ μμΈν 보면 λ°λΌλ³΄λμ μ΄ μ‘°κΈμ© μμ§μ΄λ κ±Έ κ΄μ°°ν μ μμ΅λλ€.) κ·Έλμ λ§μ°μ€λͺ¨μ μ€μ μ κ·Έλ¦Ό2μ κ°μ΄, ν€λ³΄λ μ€μ μ κ·Έλ¦Ό1. κ³Ό κ°μ΄ ꡬννμμ΅λλ€. μ΄λ 3Dμμμμ νμ μ΄μ§λ§ 2D μΈλΆλΆμΌλ‘ λΆν νμ¬ κ°λ¨ν 2Dνμ λ³ν 곡μμ ν΅ν΄ ꡬνν μμμμ΅λλ€.
κ·Έ μΈμ 3Dλ₯Ό ꡬννλ κ²μ΄λ€ 보λ, μ κ° λμμμ λ§λ€μ΄ λκ³ λ μ΄λ»κ² μλλλ κ²μΈμ§ λ무 νΌλμ€λ¬μμ x,y,zμ’νλ₯Ό κ·Έμκ³ λλΆμ΄ xy,yz,xzνλ©΄μλ λ²ν°μ»¬ μ²λΌ μ€μ μ λλ¬Έλλ¬Έ κ·Έμμ΅λλ€(λΉ½λΉ½ν μ±μ°λ©΄ CPUμ μ μ¨μ΄ λ무 λμμ Έμ νΌν¬λ¨Όμ€κ° λ¨μ΄μ§κΈ° λλ¬Έμ μ΄λ κ² νμ΅λλ€.)
μ¬λ―ΈμΌμ "μΉ΄μ΄ν°μ€νΈλΌμ΄ν¬"λ "μ€νμ ν¬μ€"μ κ°μ FPS 3Dκ²μμμμ μ‘°μμ λΉλμ€μΊ‘μ³ λ§μ§λ§ λΆλΆμμ Demonstrationνμμ΅λλ€.
μ΄λ² κ³Όμ λ₯Ό ν΅ν΄ μμ μκ°μ μ΄λ‘ μΌλ‘ λ°°μ λ λΆλΆμ μ’ λ λͺ ννκ² μ΄ν΄ν μ μμκ³ 3Dκ²μμ μμ νκ³ μΆμ λ§μμ΄ λ€ μ λλ‘ ν₯λ―Έλ‘μ΄ κ³Όμ μμ΅λλ€. ^^
κ·Έλ¦Ό1. μλμ’ν κΈ°μ€
κ·Έλ¦Ό2. μΉ΄λ©λΌμ λ·°μμ’ν κΈ°μ€
* μμ€λ νκΈ° λ§ν¬μ μμ΅λλ€.