벡터와 렌더링 파이프라인

김동현·2022년 9월 8일
0

벡터


동일한 길이와 방향을 가리키는 두 개의 백터는 동일한 것으로 취급된다.

  • 위 사진 참조

벡터의 속성

  • 길이
  • 가리키는 방향

벡터의 유용성

  • 빛이 비추는 방향 을 알고싶을 때
  • 다각형의 방향 을 알고싶을 때
  • 3D 세계에서 카메라가 보고 있는 방향 을 알고싶을 때


유니티는 왼쪽의 왼손 좌표 시스템을 사용하고 있다.

포인트와 벡터의 차이

포인트트 좌표 시스템 내의 한 위치를 나타내는 데 반해, 벡터는 크기와 방향을 가지고 있다.

표준 기저 벡터

  • (1, 0, 0)
  • (0, 1, 0)
  • (0, 0, 1)

단위 벡터

  • 크기가 1인 벡터

백터 상등

기하학적으로 같은 방향과 같은 길이를 가지는 두 벡터는 동일한 것으로 보지만 대수적으로는 벡터가 동일한 차원이고 대응되는 성분이 같은 경우에 두 벡터를 동일한 것으로 본다.

벡터의 정규화

벡터의 크기를 1로 만들어 단위 벡터가 되도록 하는 것

벡터 더하기


벡터 빼기

  • 부호를 붙인다는건 방향을 바꾼다는걸 의미

내적

벡터 내부에 정의하는 두 가지 곱셈중 하나
두 벡터간의 내적이 벡터 크기 배율을 가진 벡터 간 각도의 코사인이 된다

외적

다른하는 외적
u와 v 두 벡터의 외적을 수행하면 다른 벡터인 p를 얻으며, 이는 u와 v에 서로 직각을 이룬다, 즉 p는 u에 직각이며, p는 v에 직각이다

행렬

동일한 차월을 가지고 각각의 대응되는 항목이 같은 두 개의 행렬은 같은 것으로 취급한다.

행렬 곱

행렬의 곱을 얻기 위해서는 A의 열 수와 B 의 행 수가 반드시 같아야 한다.

항등 행렬

중심 대각선을 제외하고 모든 항목이 0인 정방 행렬을 말한다.

중심 대각선의 항목들은 모두 1이다.

역행렬

행렬에는 나누기와 같은 연산은 없지만 곱하기의 반대의 의미를 가지는 역 연사이 존재한다.

행렬의 전치

행렬의 열과 행을 교환하면 행렬의 전치를 수행할 수 있다.

m n 행렬의 전치는 n m 행렬이다.

D3DX 행렬

Direct3D 애플리케이션을 프로그래밍할 때는 4*4 행렬과 1*4 행 백터만을 이용한다.


포인트인지 크기와 방향만 계산할지.

기본적인 변환

이동 행렬

4행에 이동시키고자 하는 좌표를 넣으면 된다.

회전 행렬

크기 변형 행렬


변환 조합하기

벡터의 배율을 변경하고 회전시킨 다음, 이를 원하는 위치로 이동하고자 한다면...


렌더링 파이프라인

삼각형

삼각형은 3D 물체의 기본 구성 요소로서, 물체를 구성하기 위해서는 물체의 모양과 외형을 묘사하는 삼각형 리스트를 만들어야 한다.

삼각형 리스트는 우리가 그리고자 하는 각각의 삼각형에 대한 데이터를 포함하는데, 예를 들어, 사각형을 만들기 위히서는 두 개의 삼각형으로 나누고 각각의 삼각형을 구성하는 버텍스를 지정해야 한다.

인덱스

버텍스가 중복되는 문제를 해결하기 위해 우리는 인덱스의 개념을 이용합니다.

가상 카메라

카메라는 관찰자가 볼 수 있는 세계의 부분을 지정하는 것으로, 2D 이미지를 생성하기 위해 세계의 어떤 부분이 필요한지를 결정하며, 세계 내에 위치하며 보여질 공간의 부피를 정의한다.

렌더링 파이프라인

기하학적으로 3D 장면을 구성하고 가상 카메라를 설정한 뒤에는 모니터에 2D 표현을 만들어내는 과정을 수행해야 한다. 이 과정을 렌더링 파이프라인이라 한다.

로컬 스페이스

모델링 스페이스라고도 불리는 로컬 스페이스는 우리가 물체의 삼각형 리스트를 정의하는데 이용하는 좌표 시스템이다.

모델러가 알아서 하는것이다.

버텍스와 인덱스정보를 프로그래머에게 넘겨주는 것

월드 스페이스

로컬 스페이스의 물체들은 이동, 회전, 크기 변형 등을 포함하는 월드 변환이라는 작업을 거쳐 월드 스페이스로 옮겨진다.
월드 변환은 위치와 크기, 방위를 포함하는 각 물체 간의 관계를 정의함으로서 이루어진다.

뷰 스페이스

월드 스페이스 내에서 기하물체와 카메라는 월드 좌표 시스템과 연계되어 정의된다.

이때 월드에 관점이 바뀌지 않도록 하기 위해서는 카메라에 맞추어 월드 내의 모든 기하물체를 변환해야 하는데, 이와 같은 변환을 뷰 스페이스 변환이라 한다.

투영

n차원에서 n-1차원을 얻는 과정을 투영이라 한다.

원근 투영은 원근ㄴ법을 이용하여 기하물체를 투사한다. 즉, 카메라에서 멀리 떨어진 물체는 가까운 물체에 비해 작게 나타난다.

3D 장면을 2D 이미지로 표현하는 데 가장 적합하다.

뷰포트 변환

프로젝트 윈도우의 좌표를 뷰포트라 불리는 화면의 직사각형으로 변환하는 과정을 말한다.

profile
해보자요

0개의 댓글