๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ129 ์ปดํจํฐ ๊ทธ๋ํฝ์ค::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. Android:: RelativeLayout ๊ณผ ConstraintLayout์ ์ฐจ์ด โ ConstraintLayout RelativeLayout์ "์๋์ ์์น ๊ด๊ณ์ ๋ฐ๋ฅธ ๋ฐฐ์น" ํน์ฑ + LinearLayout์ "๊ฐ์ค์น(weight)๊ฐ ๊ฐ์ง ์ฅ์ " + chain ์ฌ์ฉ์ผ๋ก ๋ค๋ฅธ ๋ ์ด์์ ์์ด "์์๋ค์ ๊ทธ๋ฃนํ" - ConstraintLayout๋ ์ฑ๋ฅํฅ์์ ์ป์ ์ ์๋ค → ์ํ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ด๋ฃฐ ์ ์๊ธฐ ๋๋ฌธ์! - ConstraintLayout๋ ๋ ์ด์์์ ๋ฐฐ์น๋๋ ๋ทฐ๋ค์ ์ฌ๋ฌ ์ ์ฝ(Constraint)์ ์ ์ฉํ์ฌ ๊ฐ ๋ทฐ์ ์์น์ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ โ ConstraintLayout์์ฑ ๋ฐ ์ค๋ช ์์ฑ ์ค๋ช layout_constraintLeft_toLeftOf ๋ทฐ์ ์ผ์ชฝ ์ฌ์ด๋๋ฅผ ๋์ ๋ทฐ์ ์ผ์ชฝ ์ฌ์ด๋์ ๋ง์ถค layout_constraintLeft_toRightOf ๋ทฐ์ ์ผ์ชฝ ์ฌ์ด๋๋ฅผ ๋์.. 2020. 7. 7. Android:: TableLayout ๊ณผ GridLayout์ ์ฐจ์ด์ ๊ณ์ฐ๊ธฐ View ๋ง๋ค๊ธฐ 1) Table Layout๊ณผ GridLayout ์ฐจ์ด ๊ทธ๋ฆฌ๋๋ fill์ด๋ span ์ด์ฉํด์ ์ ๋ณํฉ ์ํ // row, column, ์ธ๋ฑ์ค ์ ๊ทผ ํ๋ ํธ์์ ๋์ด ์ฐ๊ธฐ ๊ฐ๋ฅ. ํ ์ด๋ธ์ weight๋ span ์ด์ฉํ์ฌ ์ ๋ณํฉ ์ํ // ์ ๋ฐ๋ณต,๋ฐ์ดํฐ ์์ด ์ ์ ๊ฒฝ์ฐ์ ์ ์ฉ. ํ ์ด๋ธ ๋ ์ด์์์ ๋ชจ๋ ํ์ด ์ธ์คํด์คํ (tablerow) ๋์ด์ผ ํ๊ณ , ์ฌํ์ฉ ๋์ง ์๊ธฐ ๋๋ฌธ์ ํ์ํ ๋ฐ์ดํฐ ์ ์ ๊ฒฝ์ฐ ์ ์ฉ. ๊ทธ๋ฆฌ๋ ๋ ์ด์์์ ํญ๋ชฉ์ ๊ทธ๋ฆฌ๋์ ๋ฐฐ์ดํ๋ ๋ฆฌ์คํธ๋ทฐ์ ๊ฐ๋ค. ๊ทธ๋ฆฌ๋ ๋ ์ด์์์ ๋ชฉ์ ์, ์ด๋ํฐ์ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ณ ์ฌ์ฉ์๊ฐ ํ์๋ ๊ฐ ํญ๋ชฉ์ ํ์ํ๊ณ ์ ํํ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ค. ๋์ผํ UI์ ๊ฒฝ์ฐ GridLayout์ ์ผ๋ฐ์ ์ผ๋ก TableLayout๋ณด๋ค ๋น ๋ฅด๊ณ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ ๊ฒ ์์๋๋ค 2) Tabl.. 2020. 7. 7. 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. Android::Layout 1) Layout(๋ ์ด์์) ์ด๋ ๋ ์ด์์์ ์ฑ์์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ํ ๊ตฌ์กฐ ( ์: Activity)๋ฅผ ์ ์ํ๋ค. ๋ ์ด์์์ ๋ชจ๋ ์์๋ View์ ViewGroup ๊ฐ์ฒด์ ๊ณ์ธต์ ์ฌ์ฉํ์ฌ ๋น๋๋๋ค. View๋ (์ผ๋ฐ์ ์ผ๋ก) ์ฌ์ฉ์๊ฐ ๋ณด๊ณ ์ํธ์์ฉํ ์ ์๋ ๊ฒ์ ๊ทธ๋ฆฐ๋ค. ์ผ๋ฐ์ ์ผ๋ก View ๊ฐ์ฒด๋ '์์ ฏ'์ด๋ผ๊ณ ํ๊ณ , ์ฌ๋ฌ ํ์ ํด๋์ค ์ค ํ๋๊ฐ ๋ ์ ์๋ค. ์์๋ก Button, Textview๊ฐ ์๋ค. ViewGroup์ View์ ๋ค๋ฅธ ViewGroup๊ฐ์ฒด์ ๋ ์ด์์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ํฌ๋ช ์ปจํ ์ด๋์ด๋ค. Viewgroup๊ฐ์ฒด๋ ๋๊ฒ '๋ ์ด์์'์ด๋ผ๊ณ ๋ถ๋ฅด๊ณ , ๋ค์ํ ๋ ์ด์์ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํ๋ ์ฌ๋ฌ ์ ํ ์ค ํ๋์ผ ์ ์๋ค. ์์๋ก LinearLayout, ConstraintLayout์ด ์๋ค... 2020. 7. 2. Android::Manifest 1. Manifest๋? ๋ชจ๋ ์ฑ ํ๋ก์ ํธ๋ ํ๋ก์ ํธ ์์ค ์ธํธ์ ๋ฃจํธ์ AndroidManifest.xml ํ์ผ์ด ์์ด์ผ ํ๋ค. ๋ฉ๋ํจ์คํธ ํ์ผ์ Android ๋น๋ ๋๊ตฌ, Android ์ด์์ฒด์ ๋ฐ Google play์ ์ฑ์ ๊ดํ ํ์ ์ ๋ณด๋ฅผ ์ค๋ช ํ๋ค. ๋งค๋ํ์คํธ๋ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๋ ๊ฐ๊ฐ์ ์ปดํฌ๋ํธ(์กํฐ๋นํฐ, ์๋น์ค, ์ฝ์ฒธ์ธ ๊ณต๊ธ์, ๋ธ๋ก๊ทธ์บ์คํธ ์์ ์) ์ ๋ํ ๋ ธ๋๋ฅผ ํฌํจํ๊ณ ์์ผ๋ฉฐ, ์ธํ ํธ ํํฐ(Intent Filter)์ ๊ถํ(Permission) ์ ์ฌ์ฉํด ์ด๋ค์ด ๋ค๋ฅธ ์ปดํฌ๋ํธ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ด๋ป๊ฒ ์ํธ์์ฉํ๋์ง๋ฅผ ๊ฒฐ์ ํ๋ค. ๋ํ, ์ ํ๋ฆฌ์ผ์ด์ ๋ฉํ๋ฐ์ดํฐ(์์ด์ฝ์ด๋ ํ ๋ง๋ฑ์)๋ฅผ ์ง์ ํ๊ธฐ ์ํ ์์ฑ์ ๋น๋กฏํด, ๋ณด์ ์ค์ ๊ณผ ๋จ์ ํ ์คํธ์ ์ฌ์ฉ๋ ์ ์๋ ์ถ๊ฐ์ ์ธ ์ต์์ ๋ ธ๋ ์ญ์ ์ ๊ณต.. 2020. 7. 1. ์ด์ 1 ยทยทยท 8 9 10 11 ๋ค์