[Mesh] Primitives (Point, Line, Triangle, Quad, Polygon, Diamond)
Primitives ์ ์ ๋ฐ ํน์ง
Primitives๋ 3D ๋ชจ๋ธ์ ๊ตฌ์ฑํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ธฐํํ์ ์์์ ๋๋ค. ์ด๋ค์ ๋ณต์กํ ํ์์ ๊ตฌ์ฑํ๊ธฐ ์ํด ๊ฒฐํฉ๋๋ ์์ ๋จ์์ ๋๋ค. ์ผ๋ฐ์ ์ธ 3D primitive ์ ํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- Point
- ์ ์: ๊ณต๊ฐ์์์ ๋จ์ผ ์ขํ๋ฅผ ๋ํ๋ ๋๋ค.
- ํน์ง: ๋จ์ํ์ง๋ง ๋ณต์กํ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๊ธฐ ์ด๋ ต์ต๋๋ค.
- Line
- ์ ์: ๋ ์ ์ ์ฐ๊ฒฐํ ์ ๋ถ์ ๋๋ค.
- ํน์ง: ์์ด์ดํ๋ ์ ๋ชจ๋ธ์ ์ ์ฉํฉ๋๋ค.
- Triangle
- ์ ์: ์ธ ์ ์ ์ฐ๊ฒฐํ ๋ฉด์ ๋๋ค.
- ํน์ง: ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ฉฐ, ๋ชจ๋ 3D ๋ชจ๋ธ์ ์ผ๊ฐํ์ผ๋ก ๋ถํ ๋ ์ ์์ต๋๋ค.
- Quad
- ์ ์: ๋ค ์ ์ ์ฐ๊ฒฐํ ๋ฉด์ ๋๋ค.
- ํน์ง: ๋ค๋ฃจ๊ธฐ ์ฌ์ฐ๋, ์ผ๊ฐํ์ผ๋ก ๋ณํ ํ ์ฒ๋ฆฌ๋ฉ๋๋ค.
- Polygon
- ์ ์: ๋ค์์ ์ ์ ์ฐ๊ฒฐํ ๋ฉด์ ๋๋ค.
- ํน์ง: ๋ณต์กํ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค ์ ์์ผ๋, ์ต์ข ์ ์ผ๋ก ์ผ๊ฐํ์ผ๋ก ๋ถํ ๋ฉ๋๋ค.
- Diamond
- ์ ์: ๋ ๊ฐ์ ์ผ๊ฐํ์ ๊ฒฐํฉํ์ฌ ๋ค์ด์๋ชฌ๋ ํํ๋ฅผ ์ด๋ฃจ๋ primitive์ ๋๋ค.
- ํน์ง: ํน์ํ ๊ทธ๋ํฝ์ค ์๊ณ ๋ฆฌ์ฆ์ด๋ ๋ ๋๋ง ๊ธฐ๋ฒ์์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ณต์กํ ํ๋ฉด์ ์ธ๋ถ ์ฌํญ์ ๋ ์ ๋ฐํ๊ฒ ํํํ ์ ์์ต๋๋ค.
- OpenGL์์๋ Diamond Primitive๋ฅผ ์ ๊ณตํ์ง ์์ต๋๋ค. SuGaR์์๋ triangle 2๊ฐ๋ก diamond primitive๋ฅผ ์๋์ผ๋ก ์ ์ํ์ฌ ์ฌ์ฉํฉ๋๋ค.
Primitives์ ์ฌ์ฉ ๋ฐ ๋ ๋๋ง
๋ ๋๋ง(Rendering)
๋ ๋๋ง์ 3D ์ฅ๋ฉด์ 2D ์ด๋ฏธ์ง๋ก ๋ณํํ๋ ๊ณผ์ ์ ๋๋ค. ์ด ๊ณผ์ ์๋ ๋ค์ ๋จ๊ณ๊ฐ ํฌํจ๋ฉ๋๋ค:
- ๋ชจ๋ธ๋ง(Modeling): Primitives๋ฅผ ๊ฒฐํฉํ์ฌ 3D ๋ชจ๋ธ์ ์์ฑํฉ๋๋ค.
- ๋ณํ(Transformation): ๋ชจ๋ธ ์ขํ๋ฅผ ์นด๋ฉ๋ผ ์ขํ๋ก ๋ณํํฉ๋๋ค.
- ๋ทฐ์(Viewing): ์นด๋ฉ๋ผ ์ขํ๋ฅผ ์ ๊ทํ๋ ์ฅ์น ์ขํ๋ก ๋ณํํฉ๋๋ค.
- ํฌ์(Projection): 3D ์ขํ๋ฅผ 2D ํ๋ฉด ์ขํ๋ก ํฌ์ํฉ๋๋ค.
๋์คํฐํ(Rasterization)
๋์คํฐํ๋ ํฌ์๋ 2D ์ขํ๋ฅผ ์ค์ ํฝ์ ๋ก ๋ณํํ๋ ๊ณผ์ ์ ๋๋ค. ๊ฐ ํฝ์ ์ ์์๊ณผ ๊น์ด๋ฅผ ๊ฒฐ์ ํ์ฌ ์ด๋ฏธ์ง๋ฅผ ์์ฑํฉ๋๋ค.
์์ด๋ฉ(Shading)
์์ด๋ฉ์ ๊ฐ ํฝ์ ์ ์ต์ข ์์์ ๊ณ์ฐํ๋ ๊ณผ์ ์ ๋๋ค. ์ฃผ๋ก ๋ค์ ์ธ ๊ฐ์ง ์ข ๋ฅ๊ฐ ์์ต๋๋ค:
- Flat Shading: ๊ฐ primitive์ ๋ํด ํ๋์ ์์์ ์ฌ์ฉํฉ๋๋ค.
- Gouraud Shading: primitive์ ๊ฐ ์ ์ ์์ ์์์ ๊ณ์ฐํ๊ณ , ์ด๋ฅผ ์ ํ ๋ณด๊ฐํ์ฌ ๋ด๋ถ ํฝ์ ์ ์์์ ๊ฒฐ์ ํฉ๋๋ค.
- Phong Shading: primitive์ ๊ฐ ํฝ์ ์์ ์์์ ๊ณ์ฐํฉ๋๋ค. ๋ ์ ๋ฐํ ์กฐ๋ช ํจ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
๊ฐ Primitive์ ํน์ง ์ ๋ฆฌ
- Point: ๋จ์ํ์ง๋ง ๋ณต์กํ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๊ธฐ ์ด๋ ต์ต๋๋ค.
- Line: ์์ด์ดํ๋ ์ ๋ชจ๋ธ์ ์ ์ฉํฉ๋๋ค.
- Triangle: ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ฉฐ, ๋ชจ๋ 3D ๋ชจ๋ธ์ ์ผ๊ฐํ์ผ๋ก ๋ถํ ๋ ์ ์์ต๋๋ค.
- Quad: ๋ค๋ฃจ๊ธฐ ์ฌ์ฐ๋, ์ผ๊ฐํ์ผ๋ก ๋ณํ ํ ์ฒ๋ฆฌ๋ฉ๋๋ค.
- Polygon: ๋ณต์กํ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค ์ ์์ผ๋, ์ต์ข ์ ์ผ๋ก ์ผ๊ฐํ์ผ๋ก ๋ถํ ๋ฉ๋๋ค.
- Diamond: ๋ ๊ฐ์ ์ผ๊ฐํ์ ๊ฒฐํฉํ์ฌ ๋ค์ด์๋ชฌ๋ ํํ๋ฅผ ์ด๋ฃน๋๋ค. ์ฃผ๋ก ํน์ํ ๊ทธ๋ํฝ์ค ์๊ณ ๋ฆฌ์ฆ์ด๋ ๋ ๋๋ง ๊ธฐ๋ฒ์์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ณต์กํ ํ๋ฉด์ ์ธ๋ถ ์ฌํญ์ ๋ ์ ๋ฐํ๊ฒ ํํํ ์ ์์ต๋๋ค.
Leave a comment