2 minute read

Polygon (ํด๋ฆฌ๊ณค)

  • ์ •์˜: ๋‹ค๊ฐํ˜•์œผ๋กœ, ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค์—์„œ๋Š” ์ฃผ๋กœ ์‚ผ๊ฐํ˜•์ด๋‚˜ ์‚ฌ๊ฐํ˜• ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋œ 3D ๋ชจ๋ธ์˜ ๊ธฐ๋ณธ ๋‹จ์œ„.
  • ํŠน์ง•: ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„ ๋ถ„์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹ซํžŒ ๋„ํ˜•. ๊ฐ ํด๋ฆฌ๊ณค์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ •์ (vertex)๊ณผ ๋ณ€(edge)์œผ๋กœ ๊ตฌ์„ฑ๋จ.
  • ์‚ฌ์šฉ์ฒ˜: 3D ๋ชจ๋ธ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋ณธ ๋‹จ์œ„๋กœ, ๋ณต์žกํ•œ ํ˜•์ƒ์„ ๋‹จ์ˆœํ•œ ํด๋ฆฌ๊ณค์˜ ์ง‘ํ•ฉ์œผ๋กœ ํ‘œํ˜„ํ•จ.

Face (ํŽ˜์ด์Šค)

  • ์ •์˜: ํด๋ฆฌ๊ณค์˜ ํ•œ ๋ฉด.
  • ํŠน์ง•: 3D ๋ชจ๋ธ์˜ ์™ธํ˜•์„ ๊ตฌ์„ฑํ•˜๋Š” ๋‹จ์œ„๋กœ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŽ˜์ด์Šค๊ฐ€ ๋ชจ์—ฌ ํด๋ฆฌ๊ณค ๋ฉ”์‰ฌ๋ฅผ ์ด๋ฃธ. ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ผ๊ฐํ˜•์ด๋‚˜ ์‚ฌ๊ฐํ˜• ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋จ.
  • ์‚ฌ์šฉ์ฒ˜: 3D ๋ชจ๋ธ์„ ๊ตฌ์„ฑํ•˜๋ฉฐ, ๊ฐ ํŽ˜์ด์Šค๋Š” ํ‘œ๋ฉด ๋…ธ๋ง๊ณผ ํŽ˜์ด์Šค ๋…ธ๋ง์„ ๊ฐ€์ง.

Normal (๋…ธ๋ง)

  • ์ •์˜: ํ‘œ๋ฉด์˜ ๋ฐฉํ–ฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฒกํ„ฐ.
  • ํŠน์ง•: ๋ณดํ†ต ๊ธธ์ด๊ฐ€ 1์ธ ์œ ๋‹› ๋ฒกํ„ฐ(unit vector)๋ฅผ ์‚ฌ์šฉ. ํ‘œ๋ฉด์˜ ๊ธฐ์šธ๊ธฐ๋‚˜ ๋ฐฉํ–ฅ์„ ๋‚˜ํƒ€๋ƒ„.
  • ์‚ฌ์šฉ์ฒ˜: ์กฐ๋ช… ๊ณ„์‚ฐ, ์ถฉ๋Œ ๊ฐ์ง€, ํ…์Šค์ฒ˜ ๋งคํ•‘ ๋“ฑ์—์„œ ์‚ฌ์šฉ๋จ.

Surface Normal๊ณผ Face Normal์˜ ์ฐจ์ด์ 

Surface Normal (ํ‘œ๋ฉด ๋…ธ๋ง)

  • ์ •์˜: ์–ด๋–ค ์ ์—์„œ ํ‘œ๋ฉด์— ์ˆ˜์ง์ธ ๋ฒกํ„ฐ.
  • ํŠน์ง•: ๋ณดํ†ต ๊ธธ์ด๊ฐ€ 1์ธ ์œ ๋‹› ๋ฒกํ„ฐ(unit vector)๋ฅผ ์‚ฌ์šฉ. ๋””ํ“จ์ฆˆ ๋ฐ˜์‚ฌ(diffuse reflection)์™€ ์ŠคํŽ˜ํ˜๋Ÿฌ ๋ฐ˜์‚ฌ(specular reflection)์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•จ.
  • ์‚ฌ์šฉ์ฒ˜: ๊ฐœ๋ณ„ ์ ์—์„œ์˜ ํ‘œ๋ฉด ๋ฐฉํ–ฅ์„ ์ •์˜ํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”ฝ ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋จ.

Face Normal (ํŽ˜์ด์Šค ๋…ธ๋ง)

  • ์ •์˜: ํ•˜๋‚˜์˜ ํด๋ฆฌ๊ณค(face)์—์„œ์˜ ํ‘œ๋ฉด ๋…ธ๋ง.
  • ํŠน์ง•: ํด๋ฆฌ๊ณค์˜ ๋ชจ๋“  ์ •์ ์ด ๊ณต์œ ํ•˜๋Š” ๋™์ผํ•œ ๋…ธ๋ง ๋ฒกํ„ฐ๋กœ, ๊ฐ ํด๋ฆฌ๊ณค์˜ ์ค‘์‹ฌ์—์„œ ์™ธ๋ถ€๋กœ ํ–ฅํ•จ. ์ ์˜ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋…ธ๋ง์˜ ๋ฐฉํ–ฅ์ด ๋‹ฌ๋ผ์ง€๋ฏ€๋กœ ์ ์˜ ์ˆœ์„œ๊ฐ€ ์ค‘์š”. ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ์ ์˜ ์ˆœ์„œ๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๋…ธ๋ง์ด ์•ž๋ฉด(ํ‘œ๋ฉด์˜ ๋ฐ”๊นฅ ๋ฐฉํ–ฅ)์„ ๋‚˜ํƒ€๋ƒ„.
  • ์‚ฌ์šฉ์ฒ˜: ์ฃผ๋กœ ํ‰๋ฉด ์…ฐ์ด๋”ฉ(flat shading) ๊ธฐ๋ฒ•์—์„œ ์‚ฌ์šฉ๋จ. ํด๋ฆฌ๊ณค์˜ ํ‰๋ฉด์  ํŠน์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์กฐ๋ช… ๊ณ„์‚ฐ์— ์‚ฌ์šฉ๋จ. image

์ฐจ์ด์ 

  • ์ ์šฉ ๋ฒ”์œ„: Surface Normal์€ ํŠน์ • ์ ์—์„œ์˜ ๋…ธ๋ง์„ ์˜๋ฏธํ•˜๋ฉฐ, Face Normal์€ ํด๋ฆฌ๊ณค ์ „์ฒด์—์„œ์˜ ๋…ธ๋ง์„ ์˜๋ฏธํ•จ.
  • ๊ณ„์‚ฐ ๋ฐฉ์‹: Surface Normal์€ ๊ฐ ์ •์ ์ด๋‚˜ ๋ฉด์—์„œ ์ˆ˜์ง์œผ๋กœ ๊ณ„์‚ฐ๋˜๋ฉฐ, Face Normal์€ ํด๋ฆฌ๊ณค์˜ ๋ชจ๋“  ์ •์ ์ด ๊ณต์œ ํ•˜๋Š” ๋…ธ๋ง๋กœ ํด๋ฆฌ๊ณค์˜ ํ‰๋ฉด์— ์ˆ˜์ง์ž„.
  • ์‚ฌ์šฉ ๋ชฉ์ : Surface Normal์€ ์„ธ๋ถ€์ ์ธ ๊ณก๋ฉด์˜ ๋ฐฉํ–ฅ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, Face Normal์€ ํด๋ฆฌ๊ณค์˜ ์ „๋ฐ˜์ ์ธ ๋ฐฉํ–ฅ์„ ๋‚˜ํƒ€๋ƒ„.

Shading (์…ฐ์ด๋”ฉ)

  • ์ •์˜: ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค์—์„œ ํด๋ฆฌ๊ณค์ด ์ฐจ์ง€ํ•˜๋Š” ๊ฐ ํ”ฝ์…€์˜ ์ƒ‰์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ณผ์ •.
  • ์‚ฌ์šฉ์ฒ˜: ์กฐ๋ช…์„ ์ ์šฉํ•˜์—ฌ ์ƒ‰๊ณผ ๋ช…์•”์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋จ.
  • ์ข…๋ฅ˜:
    • Flat Shading,
    • Smooth Shading
      • Gouraud Shading
      • Phong Shading

Flat Shading (ํ”Œ๋žซ ์…ฐ์ด๋”ฉ)

  • ์ •์˜: ๊ฐ ํด๋ฆฌ๊ณค์˜ ํ•˜๋‚˜์˜ face normal์„ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ฆฌ๊ณค ์ „์ฒด์˜ ์ƒ‰์„ ๋™์ผํ•˜๊ฒŒ ๊ณ„์‚ฐํ•˜๋Š” ์…ฐ์ด๋”ฉ ๊ธฐ๋ฒ•.
  • ํŠน์ง•: ๊ฐ ํ”ฝ์…€๋ณ„๋กœ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํด๋ฆฌ๊ณค ํ•˜๋‚˜์— ๋Œ€ํ•ด ํ•œ ๋ฒˆ๋งŒ ์กฐ๋ช… ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•จ. ๋”ฐ๋ผ์„œ ๊ณ„์‚ฐ์ด ์ ์–ด ๋น ๋ฅด์ง€๋งŒ, ๊ณก๋ฉด(mesh)์—์„œ๋Š” ๊ฐ์ ธ ๋ณด์ด๋Š” ๋‹จ์ ์ด ์žˆ์Œ.
  • ์‚ฌ์šฉ์ฒ˜: ๋‹จ์ˆœํ•œ ํ˜•ํƒœ์˜ ๋ฌผ์ฒด๋‚˜ ๋น ๋ฅธ ๋ Œ๋”๋ง์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์ ํ•ฉ. image

Smooth Shading (์Šค๋ฌด์Šค ์…ฐ์ด๋”ฉ)

  • ์ •์˜: ์ธ์ ‘ํ•œ ํด๋ฆฌ๊ณค(i.e. ์ธ์ ‘ํ•œ ์‚ผ๊ฐํ˜•) ์‚ฌ์ด์˜ color transition(์ƒ‰์ƒ ์ „์ด)๋ฅผ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ํ•˜๋Š” ์…ฐ์ด๋”ฉ ๊ธฐ๋ฒ•.
  • ํŠน์ง•: face normal ๋Œ€์‹  ์ •์ (vertex) ๋…ธ๋ง์„ ์‚ฌ์šฉํ•จ. vertex normal ์ธ์ ‘ํ•œ ํด๋ฆฌ๊ณค๋“ค์˜ ํŽ˜์ด์Šค ๋…ธ๋ง์˜ ํ‰๊ท  ๋ฒกํ„ฐ. ๊ณ„์‚ฐ๋Ÿ‰์ด ๋งŽ์ง€๋งŒ ๊ณก๋ฉด ํ‘œํ˜„์— ์ ํ•ฉํ•จ.

    image

  • ์ข…๋ฅ˜:
    • Gouraud Shading
    • Phong Shading

Gouraud Shading (๊ตฌ๋กœ ์…ฐ์ด๋”ฉ)

  • ์ •์˜: ๊ฐ ์ •์ ์—์„œ ์กฐ๋ช…์„ ๊ณ„์‚ฐํ•œ ํ›„ ํด๋ฆฌ๊ณค ๋‚ด๋ถ€๋ฅผ ๋ณด๊ฐ„(interpolation)ํ•˜์—ฌ ์…ฐ์ด๋”ฉํ•˜๋Š” ๊ธฐ๋ฒ•.
  • ํŠน์ง•: ๊ฐ ์ •์ ์—์„œ ์ƒ‰์„ ๊ณ„์‚ฐํ•˜๊ณ , ํด๋ฆฌ๊ณค ๋‚ด๋ถ€๋Š” vertex๋“ค์˜ ์ƒ‰์„ ๋ณด๊ฐ„(interpolation)ํ•˜์—ฌ ์ƒ‰์„ ์ฑ„์›€. ์ด ๊ณผ์ •์—์„œ Barycentric interpolation์„ ์ด์šฉํ•จ. interpolation์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ‰์ƒ์ด ๋ถ€๋“œ๋Ÿฌ์›Œ์ง€์ง€๋งŒ, specular highlight๊ฐ€ ํ‰๊ท ํ™”๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€์ •ํ™•ํ•ด์งˆ ์ˆ˜ ์žˆ์Œ. ํด๋ฆฌ๊ณค์˜ ๊ฐœ์ˆ˜๋ฅผ ๋Š˜๋ ค์„œ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ณ„์‚ฐ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•จ.

    image

  • ์‚ฌ์šฉ์ฒ˜: ์‹ค์‹œ๊ฐ„ ๋ Œ๋”๋ง์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋‚˜ ๋ถ€๋“œ๋Ÿฌ์šด ์ƒ‰ ์ „ํ™˜์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์ ํ•ฉ.

Phong Shading (ํ ์…ฐ์ด๋”ฉ)

  • ์ •์˜: ๊ฐ ํ”ฝ์…€์—์„œ ๋…ธ๋ง ๋ฒกํ„ฐ๋ฅผ ๋ณด๊ฐ„ํ•˜์—ฌ ์กฐ๋ช…์„ ๊ณ„์‚ฐํ•˜๋Š” ์…ฐ์ด๋”ฉ ๊ธฐ๋ฒ•.
  • ํŠน์ง•: ๊ฐ ์ •์ ์˜ ๋…ธ๋ง(vertex normal)์„ ๋ณด๊ฐ„ํ•˜์—ฌ ํด๋ฆฌ๊ณค ๋‚ด๋ถ€์˜ ๊ฐ ํ”ฝ์…€๋ณ„๋กœ ์กฐ๋ช…์„ ๊ณ„์‚ฐํ•จ. interpolate๋œ normal์ด ์‹ค์ œ surface normal์— ์ธ์ ‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ›จ์”ฌ ๋” ์ž์—ฐ์Šค๋Ÿฌ์šด ํ•˜์ด๋ผ์ดํŠธ ํ‘œํ˜„์ด ๊ฐ€๋Šฅ. ๊ทธ๋Ÿฌ๋‚˜ ํด๋ฆฌ๊ณค(์ฆ‰, ์‚ผ๊ฐํ˜•) ๋‚ด๋ถ€์˜ ๊ฐ ํ”ฝ์…€์— ๋Œ€ํ•ด ์กฐ๋ช… ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณ„์‚ฐ๋Ÿ‰์ด ๋งŽ์Œ.

    image

  • ์‚ฌ์šฉ์ฒ˜: ๊ณ ํ’ˆ์งˆ์˜ ๊ทธ๋ž˜ํ”ฝ ํ‘œํ˜„์ด ํ•„์š”ํ•  ๋•Œ ์ ํ•ฉ.

Gouraud Shading vs. Phong Shading

  • Gouraud Shading: ์‚ผ๊ฐํ˜• ํ•˜๋‚˜๋‹น 3๋ฒˆ์˜ ์กฐ๋ช… ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰. ๊ณ„์‚ฐ๋Ÿ‰์ด ์ ๊ณ  ๋น ๋ฅด์ง€๋งŒ, specular highlight๊ฐ€ ๋ถ€์ •ํ™•ํ•  ์ˆ˜ ์žˆ์Œ.
  • Phong Shading: ๊ฐ ํ”ฝ์…€์—์„œ ์กฐ๋ช… ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋งค์šฐ ๋ถ€๋“œ๋Ÿฌ์šด ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Œ. ํด๋ฆฌ๊ณค(์ฆ‰, ์‚ผ๊ฐํ˜•) ๋‚ด๋ถ€์˜ ๊ฐ ํ”ฝ์…€์— ๋Œ€ํ•ด ์กฐ๋ช… ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณ„์‚ฐ๋Ÿ‰์ด ๋งŽ์•„์ง€์ง€๋งŒ, ์ž์—ฐ์Šค๋Ÿฌ์šด ํ•˜์ด๋ผ์ดํŠธ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Œ.

    image

Reference

ํ˜ผ์žํ•˜๋Š” ์ฝ”๋”ฉ ๋‹˜์˜ Shading ์ •๋ฆฌ ๋ธ”๋กœ๊ทธ

Leave a comment