Metaverse/DirectX

기본 용어 정리

onenewkong 2023. 7. 24. 00:46

모델 좌표계: 모델(메쉬) 표현하기 위한 좌표계

  • 모델마다 자체적인 별도의 좌표계를 갖고 있다고 가정
  • 객체 로컬 공간
  • 일반적으로 객체(매쉬) 중심을 원점으로 하는 좌표계
  • (좌표계의 원점과 중심이 반드시 일치해야 하는 것은 아님)

월드 좌표계

  • 게임 세계를 하나의 통일된 좌표계로 표현
  • 모든 객체(메쉬)들이 동일한 하나의 좌표계로 표현(배치)

게임 월드 단위

  • 개발자는 게임 월드의 크기와 단위를 결정하기 위해 아티스트와 협력해야
  • 실수 표현으로 인한 문제 -> 범위로 표현하기
  • 메쉬의 크기와 이동 속력을 고려해야
  • 텍스쳐 매핑을 어떻게 것인가도 고려 사항임
  • 모든 객체가 서로 상대적이면서 일관된 크기로 만들어진다면 문제 없음

은면 제거(Back Face Culling)

  • 은면 제거는 관찰자(카메라) 없는 면을 그리지 않는
  • 은면이란 다각형의 면이 관찰자를 향하지 않는 면을 의미
  • 3D 렌더링 엔진: 다각형을 그리기 전에 다각형을 구성하는 면이 은면인가를 빠르게 판단해야

정점(Vertex)

 

와인딩 순서(Winding Order)

  • 다각형의 정점들을 나열하는 순서를 와인딩 순서라고
  • 와인딩 순서는 메쉬를 구성하는 선분들이 어떻게 연결되는가를 나타냄
  • 렌더러는 와인딩 순서를 사용하여 은면 제거를 수행할 있음
  • 시계방향 와인딩 순서는 면을 정면에서 바라볼 면의 모든 정점들이 시계방향으로 나열되는 것을 의미
  • DirectX에서 다각형들은 기본적으로 시계 방향 와인딩 순서를 갖는 것으로 가정

: 바깥쪽  면이 기준, 시작 정점은 중요하지 않음

 

렌더링

 

장면(Scene)

  • 게임 월드 자체
  • 게임 월드에서 현재 화면에 그려져야 하는 부분(카메라에 현재 보이는 객체들)
  • 게임 월드 = 객체(메쉬) (배경, 이펙트 등도 객체로 취급)

렌더링

  • 장면을 렌더링하는 것은 게임 월드의 모든 객체들을 그리는
  • 결과적으로 모든 다각형들을 그리는
  • 결과적으로 모든 픽셀들을 그리는 (색칠하는 )
  • 다각형의 3D모델 좌표를 2D 화면 좌표(픽셀) 변환하는 과정
  • 변환: 모양, 크기, 방향
  • 픽셀의 색상을 결정하는 과정

 

화면 좌표계에서 그리기

: 변환 과정에서 모델의 다각형들을 구성하는 정점들을 화면의 2D 픽셀 좌표로 바꾸었다면 모델의 다각형에 대응되는 픽셀들을 선분으로 이어서 화면에 다각형을 그릴 있음

ex) 화면 좌표계에서 다각형을 그리기 위해 윈도우 API MoveTo(), LineTo() 함수를 사용할 있음

 

변환 파이프라인

  • 파이프라인: 작업이 순차적으로 수행됨
  • 변환 파이프라인: 3D 모델 좌표를 2D 화면 좌표(픽셀) 변환하는 코드(함수)
  • 기본적으로 4개의 구별되는 단계로 구성

 

 

 

'Metaverse > DirectX' 카테고리의 다른 글

윈도우 프로그램 분석  (0) 2023.08.03
DirectX12 - Project Setting  (0) 2023.08.03