(x, y, z)처럼 위치나 방향을 나타냄
여러 점을 한 번에 변환하는 규칙표, DX에서는 보통 4x4를 사용
회전 후 이동과 이동 후 회전은 결과가 다름Local/Object -> World -> View -> Projection -> Screen
면에 수직인 방향 이 면이 어디를 향하는가를 알려줌
| 두 방향이 얼마나 같은 쪽을 보는지를 숫자 하나로 만드는 연산, 조명 계산의 핵심
내적은 두 벡터를 받아 숫자 하나를 돌려주는 연산으로, 그 숫자는 두 방향이 얼마나 같은 쪽을 보는지를 나타냄, 두 벡터가 정규화 되어있다면 두 방향 사이 각도의 코사인값(-1 ~ 1)과 같다.
렌더러는 이면이 얼마나 빛을 받는가를 매 프레임 계산해야 하는데 내적은 이 마주보는 정도를 숫자하나로 압축해주므로 각도를 구하지 않고도 밝기를 바로 계산할 수 있다.
머티리얼 에디터의 Dot Product노드가 그대로 이 연산, FVector::DotProduct도 이 연산
| 표면이 어느쪽을 향하는지 나타내는 수직 방향 벡터, 조명 계산의 재료
노멀은 표면에 수직으로 꽂힌 방향 벡터로 '이 표면이 어느쪽을 향해 있는가'를 나타냄, 보통 길이1로 정규화
빛이 얼마나 밝게 비추는지는 빛의 방향과 노멀 사이의 각도로 결정
| 두 값 사이를 비율로 메우는 것, 애니메이션/블렌딩/네트워크 보정 어디에나 쓰임
보간은 두 값 A와 B 사이를 비율 t(0 ~ 1)로 잇는 계산
게임에서는 값을 부드럽게 바꿔야 할때 사용하고, 그래픽스에서는 래스터화 단계가 삼각형 세 정점의 값(색/UV/노멀)을 픽셀/프래그먼트 위치에 맞춰 자동 보간해 픽셀 셰이더에 넘겨줌
| 두 방향에 동시에 수직인 새 방향을 구하는 연산 노멀/기준축을 만들 때 사용
외적은 두 벡터를 받아 새 벡터 하나를 돌려주는 연산, 결과 벡터는 두 입력이 만드는 평면에 수직. 숫자 하나가 나오는 내적과 달리 결과가 방향
삼각형 두 변으로 표면의 노멀을 구하거나 카메라의 오른쪽/위쪽 방향을 서로 수직으로 맞춰 기준축(좌표공간)을 만들 때 핵심적으로 사용
| 벡터의 방향은 그대로 두고 길이만 1로 맞추는 작업
길이가 1인 벡터는 단위벡터라고 하는데 방향은 그대로 두고 단위벡터로 만듬
그래픽스에서 벡터는 어느쪽을 향하는가만 필요한 경우가 많다. 길이가 제각각이면 계산 결과가 길이에 따라 커지거나 작아져 버림
| 정점이 화면 픽셀이 되기까지 갈아타는 4개의 기준, 각 단계마다 행렬을 하나씩 곱합니다.
좌표공간은 어디를 원점으로, 어느 방향을 축으로 삼아 좌표를 읽는가 라는 기준. 같은 정점도 기준이 바뀌면 좌표값이 달라지며, 렌더링은 이 기준을 모델->월드->뷰->클립 순서로 갈아타는 과정
이번주 진행
노션 개념사전 공부(게임수학, 라이팅/텍스처, 셰이더 등), RasterTek 튜토리얼 2까지 진행
막힌 것 & 배운 것
개념사전을 읽어보면서 잘 모르거나 헷갈리던 개념들에 대해서 공부
RasterTek 튜토리얼 전반의 구조 익히기