Graphic8 OpenGL๋ก ๋ฐฐ์ฐ๋ 3์ฐจ์ ์ปดํจํฐ ๊ทธ๋ํฝ์ค::6์ฅ&์ฐ์ต๋ฌธ์ โ 6์ฅ ์ฐ์ต๋ฌธ์ 1. ๊ท์น์ ์ธ ๊ณก๋ฉด์ผ์๋ก ํ๋ฉด์ ํํํ๋ ๋ฐ ๋์ฑ ๋ง์ ์์ ๋ค๊ฐํ์ด ์ฌ์ฉ๋๋ค. (True/False) 2. 3์ฐจ์ ๊ณต๊ฐ์์ ์์์ ๋ค ์ ์ ์ฐ๊ฒฐํ ๋ค๊ฐํ์ ํญ์ ํ๋ฉด์ด๋ค. (True/False) → 3 ์ ์ ์ฐ๊ฒฐํ ๋ค๊ฐํ์ด ํญ์ ํ๋ฉด์ด๊ณ , ๋น ๊ณ์ฐ๋ฑ์ ํ ๋ ธ๋ฉ ๋ฒกํฐ๊ฐ ํ๋ฉด์์ ์ ํํ ๋์ค๊ธฐ ๋๋ฌธ์ ์ผ๊ฐํ๋ชจ์์ ๋ง์ด ์ด๋ค. 3. ์ค๋ฅธ์ ์ขํ๊ณ์ ์ผ์ ์ขํ๊ณ์ z์ถ ๋ฐฉํ์ ํญ์ ์๋ก ๋ฐ๋์ด๋ค. (True/False) 4. ๋ฒกํฐ A,B,C๊ฐ ์์ ๋ C= 5A+B/3์ผ๋ก ํ์๋๋ค๋ฉด C๋ A,B์ ์ ํ๋ ๋ฆฝ์ด๋ค. (True/False) → ์ ํ๋ ๋ฆฝ์ ๋์ผ๋ก ๋ณผ๋ ์ง๊ตํ๋ ๊ฒ ๊ฐ์ ๊ฑธ๋ก, ์ ๋ ๊ฒ ํํ ๋์ง ์๋๋ค. 5. ๋๊ฐ์ ์์๊ฐ 1,2,1,1์ธ ํฌ๊ธฐ ์กฐ์ ํ๋ ฌ์ ๊ท ๋ฑ ํฌ๊ธฐ ์กฐ์ ์ ํด๋นํ๋ค... 2020. 7. 26. OpenGL๋ก ๋ฐฐ์ฐ๋ 3์ฐจ์ ์ปดํจํฐ ๊ทธ๋ํฝ์ค::Project_1/4 โ ํ๋ก์ ํธ ๋ชฉํ 1) S ํด๋ฆญ์์ Solid ๋ ๋๋ง 2) W ํด๋ฆญ์์ Wire ๋ ๋๋ง 3) ๋ง์ฐ์ค ์์ง์์ผ๋ก ์์ ๋ฐ๊พธ๊ธฐ 4) ํ์๋ฅผ ๊ทธ๋ฆฐ ํ ๊ทธ ์์ ๋ฌผ์ฒด๋ฅผ ์ฌ๋ ค ๋๋๋ค. โ ํ๋ก์ ํธ ๋์์ ๊ฒฐ๊ณผ โ ํ๋ก์ ํธ ์ฝ๋ #include #include #include #define WIDTH 400 #define HEIGHT 400 GLboolean IsWire = true; GLboolean IsSolid = true; int ViewX = 0, ViewY = 0;// ๋ง์ฐ์ค ์์ง์์ ๋ฐ๋ผ ์์ ์ ๋ฐ๊พธ๊ธฐ ์ํ ๋ณ์ void InitLight() { GLfloat mat_diffuse[] = { 0.5,0.4,0.3,1.0 }; GLfloat mat_specular[] = { 1.0,1.0,1.0,1.0 .. 2020. 7. 21. OpenGL๋ก ๋ฐฐ์ฐ๋ 3์ฐจ์ ์ปดํจํฐ ๊ทธ๋ํฝ์ค::5์ฅ&์ฐ์ต๋ฌธ์ โ 5์ฅ ์ฐ์ต๋ฌธ์ 1. ์ ๊ธฐ ํจ๋์ ์ํ ํฐ์น ์คํฌ๋ฆฐ์์๋ ํ๋ฉด ํ๋ฉด์ ๋ง์ ์ธ๊ฒ ๋๋ฅด์ง ์์๋ ์์น๊ฐ ๊ฐ์ง๋๋ค. (True / False) → ๊ดํ ํจ๋์ ๋น์ ์๊ฐ๋ฝ์ด ๊ฐ๋ฆฌ๋ฉด ๋๋ฅธ ๊ฑธ๋ก ๊ฐ์ง๋ฅผ ํ์ง๋ง ์ ๊ธฐ ํจ๋์ ๋ง์ด ๋๋ฆฌ๊ณ ๋ฟ๋ ๊ฒ์ ์ํด์ ์์น๋ฅผ ๊ฐ์งํ๊ธฐ ๋๋ฌธ์ ํ๋ฉด์ ๋ง์ ์ธ๊ฒ ๋๋ฌ์ผ ํ๋ค. 2. ์ ๋ ฅ ์ฅ์น์ ์ ํ์ ๊ดํ ํ ๋ฆฌํ์คํธ ๋ชจ๋์์๋ ์ฌ์ฉ์๊ฐ ์ฃผ๋๊ถ์ ์ฅ๋ค. (True / False) →์ด๋ฒคํธ ๋ชจ๋์์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅ ์ฅ์น ์ ํ์ ์ฃผ๋๊ถ์ ์ฅ ์ ์๋ค. 3. ์ง์์์ ์ฝ๋ฐฑ ํจ์๋ฅผ ๋ฑ๋กํ๋ ๋ช ๋ น์ด๋ ์๋ก ์์๊ฐ ๋ฐ๋์ด๋ ๋๋ค. (True / False) → ํด๋น ์ด๋ฒคํธ๊ฐ ๋ฐ์์, ํด๋น ์ด๋ฒคํธ ์ฝ๋ฐฑํจ์์ ๋ฑ๋ก๋ ๊ฒ์ด ์คํ๋๋ ๊ฒ์์ผ๋ก ์์๊ฐ ๋ฐ๋์ด๋ ์๊ด ์๋ค. 4. ์ง์ ํ๋ก๊ทธ๋จ์์๋ ์ฝ.. 2020. 7. 20. ์ปดํจํฐ ๊ทธ๋ํฝ์ค::opengl ์ค์น ๋ฐ c++ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋์ ์๋ฆฌ intro ↓ ํ์ฌ ๋ฐ๋ผ๊ฐ๊ณ ์๋ ์ฑ ์ธ Opengl๋ก ๋ฐฐ์ฐ๋ ์ปดํจํฐ ๊ทธ๋ํฝ์ค ์ฑ ์์ ์ค์ต ์์ ๋ค๋ก๋ GLUT๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค. ํ์ง๋ง ์ค์น ์ค ๋๋ ์ฌ๋ฌ ๋ธ๋ก๊ทธ์ ์ ํฌ๋ธ๋ฅผ ์ฐธ๊ณ ํ๋ ์ค ๋๋ Visual Studio์ GLUT๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋๋ผ , GLFW ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ง์ ์ฌ์ฉํ ์ ์๊ฒ ํ๋ค. ํ์ง๋ง ํจ์๋ค์ด ๋ค๋ฅธ๊ฑธ ๋งค๋ฒ ๋ฐ๊ฟ์ ๋ด๊ฐ ํ๊ธฐ๋ ๋์ปฅ ๊ฒ์ด ๋์ GLUT๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ผญ ์ฌ์ฉํ ์ ์๊ฒ๋ ์ค์ ์ ํด์ผ๊ฒ ๋ค ํ๋ ์ค, ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ฐจ์ด๊ฐ ๋ญ์ง, (์ฑ ์๋ GLFW ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ค๋ช ์ด ์ผ์ฒด ์์๋ค.) ์์๋ณด๋๊ฒ ์ข์ ๊ฒ ๊ฐ์ ์กฐ์ฌํ๋ ์ค ์๋ ๋ธ๋ก๊ทธ๋ฅผ ๋ฐ๊ฒฌํ๋ค. https://toughrogrammer.tistory.com/206 ์ด ๋ธ๋ก๊ทธ์์ ํ๋ ๋ง์ ์ฝ๊ฐ ์์ฝํ์๋ฉด, ์ฌ๋๋ค์ด GLUT.. 2020. 7. 11. OpenGL๋ก ๋ฐฐ์ฐ๋ 3์ฐจ์ ์ปดํจํฐ ๊ทธ๋ํฝ์ค::4์ฅ&์ฐ์ต๋ฌธ์ โ 4์ฅ ์ฐ์ต ๋ฌธ์ 1. ๊ทธ๋ํฝ ๋ถ์ผ์ ISO ํ์ค ์ค ํ๋์ธ PHIGS์๋ ๊ตฌ์กฐ์ฒด ๊ฐ๋ ์ด ํฌํจ๋์ด ์๋ค.(True/False) 2. API๋ ํ๋ก๊ทธ๋จ ์ธ์ด๋ค.(True/False) 3. ๊ณ ์์ค API๋ ์ฅ๋ฉด ๋ฌ์ฌ ์์ฃผ๋ก, ๊ตฌ์ฒด์ ๋ ๋๋ง ๋ฐฉ์์ด ํฌํจ๋์ด ์์ง ์๋ค.(True/False) 4. ํ๋ผ๋ฏธํฐ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์์คํ ํ ์ด๋ธ์ ๋ถํ์ํ๋ค.(True/False) 5. ํ์ดํ๋ผ์ธ ๊ตฌ์กฐ์์ ์๋ธ ํ๋ก์ธ์์ ๋ ผ๋ฆฌ๋ ํ๋์จ์ด์ ์ผ๋ก ๊ณ ์ ๋์ด ์๋ค. (True/False) 6. ์ง์์ด C ํจ์์ ๋ํ ํธ์ถ์ด๋ผ๋ฉด GLU๋ ์ง์์ ๋ํ ํธ์ถ์ด๋ค.(True/False) // ๋ด ์๊ฐ์ ์ง์์ ์ ์์์ Cํจ์๊ฐ ํธ์ถํด์ ๋ถ๋ฆฌ๋๊ฒ ๋ง๋๋ฐ, GLU๋ GL์ ๋ํ ํธ์ถ์ด ์๋๋ผ GL์ด GLU์ ๋ํ ํธ์ถ์ด๋ค. ๊ทธ๋์.. 2020. 7. 9. OpenGL๋ก ๋ฐฐ์ฐ๋ 3์ฐจ์ ์ปดํจํฐ ๊ทธ๋ํฝ์ค::3์ฅ&์ฐ์ต๋ฌธ์ โ 3์ฅ ์ฐ์ต๋ฌธ์ 1. ๋ฐฑ์๊ด์๋ ๋ชจ๋ ๊ฐ์๊ด์ ์ ๋ชจ๋ ์ฃผํ์ ์ฑ๋ถ์ด ๋์ผํ ์์ผ๋ก ๋ถํฌํ๋ค. (True/False) 2. RGB ์ปฌ๋ฌ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๋ชจ๋ํฐ๋ก ๋ชจ๋ ์์ฐ์์ ํ์ํ ์ ์๋ค. (True/False) 3. ์ ฐ์ด๋ฉ์ ๊ฐํ๋ฉด ์ฑ๋๊ฐ ๊ฐ์ํ๋ฉฐ, ํดํ ์ ๊ฐํ๋ฉด ์ฑ๋๊ฐ ์ฆ๊ฐํ๋ค. (True/False) // ์ฑ๋๋ ๋๋ค ๊ฐ์ 4. ์ธ๋ฑ์ค ์ปฌ๋ฌ ๋ชจ๋๋ฅผ ์ ์ฉํ๋๋ผ๋ ํ ํ๋ฉด์ ๊ทธ๋ฆด ์ ์๋ ์ปฌ๋ฌ ์๋ ํ๋ ์ ๋ฒํผ ์ฉ๋์ ์ํด ๊ฒฐ์ ๋๋ค. (True/False) // ์ปฌ๋ฌ ์ ์์ฒด๋ ํ๋ ์ ๋ฒํผ ์ฉ๋์ ๋ฐ๋ฅธ๋ค. 5. ์ธ๋ฑ์ค ์ปฌ๋ฌ ๋ชจ๋์์ ํํํ ์ ์๋ ์์์ ํ๋ ์ ๋ฒํผ ์๋๊ณผ ๋ฌด๊ดํ๋ค. (True/False) // ํํํ ์ ์๋ ์์์ CLUT์ 6. ๋๋๋ง ๊ฒฐ๊ณผ ์ค์ง์ ํด์๋๋ ์ค์ด๋ ๋ค. (Tru.. 2020. 7. 5. OpenGL๋ก ๋ฐฐ์ฐ๋ 3์ฐจ์ ์ปดํจํฐ ๊ทธ๋ํฝ์ค::2์ฅ&์ฐ์ต๋ฌธ์ โ 2์ฅ ์ฐ์ต๋ฌธ์ 1) ๋์คํฐ ์ฅ์น๋ ๋ฌดํ ํด์๋๋ฅผ, ๋ฒกํฐ ์ฅ์น๋ ์ ํ ํด์๋๋ฅผ ๋ณด์ฅํ๋ค.(True/False) -> ๋์คํฐ ์ฅ์น๊ฐ ์ ํ ํด์๋, ๋ฒกํฐ ์ฅ์น๋ ๋ฌดํ ํด์๋์ด๋ค. ๋์คํฐ ์ฅ์น์ ๊ฒฝ์ฐ์๋ ๊ทธ๋ฆผ์ ํ์ ๋จ์๋ก ํ์ํ๊ธฐ ๋ ๋ฌธ์ ์์ผ๋ฆฌ์ด์ฑ์ด ์ผ์ด๋๋ค. ๋ฒกํฐ๊ทธ๋ํฝ์ฅ์น๋ ๋ฌดํ ํด์๋๋ฅผ ์ง๋ ์ ์ผ๋ก ๋ฌ์ฌํ๊ธฐ ๋๋ฌธ์ ๋ฌดํ ํด์๋๋ฅผ ์ง๋๋ค. 2) ๋ ผ-์ธํฐ๋ ์ด์ฑ์์ ํ๋ฉด ์ฌ์์จ์ด 60Hz์ธ ์ฅ์น๋ ์ธํฐ๋ ์ด์ฑ์ผ๋ก ๋งํ๋ฉด 30Hz ์ฑ๋ฅ์ด๋ค.(True/False) -> ๋ ผ-์ธํฐ ํ๋ฉด์ฌ์๋ฅ 30Hz == ์ธํฐ ํ๋ฉด์ฌ์๋ฅ 60hz์ด๋ค. 3) ๋ฒกํฐ ๊ทธ๋ํฝ ์ฅ์น์์๋ ํ๋ ์ ๋ฒํผ๊ฐ ํ์ํ๋ค. (True/False) -> ๋ฒกํฐ ๊ทธ๋ํฝ ์ฅ์น๋ ํ๋ ์ ๋ฒํผ ๋์ ๋์คํ๋ ์ด ๋ฆฌ์คํธ๊ฐ ํ์ํ๋ค. 4) ๋ฒกํฐ ๊ทธ๋ํฝ ์ฅ์น์ ๋์คํ.. 2020. 7. 3. OpenGL๋ก ๋ฐฐ์ฐ๋ 3์ฐจ์ ์ปดํจํฐ ๊ทธ๋ํฝ์ค::1์ฅ&์ฐ์ต๋ฌธ์ 1 โ 1์ฅ ์ฐ์ต๋ฌธ์ 1. ์ธํฐ๋ท ๊ฒ์์ผ๋ก ์์ ๊ธฐ๋ฐ ๋ ๋๋ง(Image-Based Rendering)์ด๋ผ๋ ์ฉ์ด๋ฅผ ์ ์ํด๋ณด๋ผ. : ์์ ๊ธฐ๋ฐ ๋ ๋๋ง์ด๋, 1990๋ ๋ ์ค๋ฐ๋ถํฐ ์ฐ๊ตฌ๋๊ธฐ ์์ํ ์ปดํจํฐ ๊ทธ๋ํฝ์ค์ ํ ๋ถ์ผ์ธ๋ฐ, ๊ฐ์๊ณต๊ฐ์ ๊ตฌ์ฑํ๋ ๊ธฐ๋ณธ๋จ์๋ก ์์์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. ์ฆ, ์์์ผ๋ก๋ถํฐ 3์ฐจ์ ๊ตฌ์กฐ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ์ปดํจํฐ ๋น์ ๋ถ์ผ์ 3์ฐจ์๋ฐ์ดํฐ๋ก๋ถํฐ ์๋ก์ด ์์์ ๋ง๋ค์ด ๋ด๋ ์ปดํจํฐ ๊ทธ๋ํฝ์ค๊ฐ ๊ฒฐํฉํ ํํ์ด๋ค. 2. ์ด๋๋น์ฌ์ ๋ํ์ ์ธ ์์ ์ฒ๋ฆฌ ์ํํธ์จ์ด๋ก๋ ํฌํ ์ต์, ๊ทธ๋ํฝ ์ฒ๋ฆฌ ์ํํธ์จ์ด๋ก๋ ์ผ๋ฌ์คํธ๋ ์ดํฐ๋ฅผ ๋ค ์ ์๋ค. ๊ฐ ์ํํธ์จ์ด์ ๋ฉ๋ด๋ฅผ ์๋ก๋ค์ด ์์์ฒ๋ฆฌ์ ๊ทธ๋ํฝ์ค์ ์ฐจ์ด์ ์ ์ ์ํด๋ณด๋ผ. : ์์์ฒ๋ฆฌ๋ ๊ธฐ์กด์ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ํ๊ฑฐ๋ ์ธ์ํ๋ ๋ถ์ผ, ๊ทธ๋ํฝ ์ฒ๋ฆฌ๋ ์๋ฌด๋ฐ ์ ๋ ฅ์ด ์์ด๋ ๊ทธ๋ฆผ.. 2020. 7. 3. ์ด์ 1 ๋ค์