깊이로 나누면 3D가 즉시 완성

“3D 그래픽의 핵심 원리는 3D 좌표 (x, y, z)를 x'=x/z, y'=y/z로 나눠 2D로 투영하는 단순한 나눗셈이다. 깊이(z)가 2, 4, 8로 커질수록 투영 좌표는 (1, 0.5), (0.5, 0.25), (0.25, 0.125)로 소실점 (0,0)에 가까워진다. 이 원리를 셰이더에 적용하면 공 하나와 12개 모서리로 구성된 정육면체 같은 복잡한 도형도 즉시 그릴 수 있다.”

AI 요약

3D 그래픽의 원리를 단 하나의 공식으로 설명하는 글이다. 핵심은 3D 좌표 (x, y, z)를 x'=x/z, y'=y/z로 나누면 2D 화면 좌표로 투영된다는 것. 깊이(z)가 커질수록 투영점이 소실점 (0,0)에 가까워지는 원리를 표와 셰이더 코드로 시연한다. 같은 원리로 공전하는 공, 회전하는 큐브의 12개 모서리까지 그려내며, 복잡한 카메라 행렬 없이도 3D 장면을 구성할 수 있음을 보여준다.

핵심 포인트

  • 투영 공식: (x, y, z) → (x/z, y/z), z는 전방 깊이
  • 예시: (2,1,2)→(1,0.5), (2,1,4)→(0.5,0.25), (2,1,8)→(0.25,0.125)
  • GLSL 셰이더에서 camera_pos.xy / camera_pos.z로 투영, 반지름은 0.5 / camera_pos.z로 스케일
  • 8개 정점·12개 모서리 큐브를 회전 행렬과 함께 동일 원리로 렌더링

향후 전망

  • 게임·그래픽 입문자가 카메라 개념을 수식 수준에서 이해하는 교육 자료로 활용 가능
  • 셰이더 기반 미니멀 3D 렌더링 기법의 실험적 확장 기대
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...