본문 바로가기

전체 글330

230112_D2D 렌더링 파이프라인 개요_2 월드 변환의 순서 : 크기 -> 회전 -> 위치 (크자위) * 행렬은 곱셈의 순서가 바뀌면 결과가 달라진다 (교환법칙이 성립하지 않기 때문) 원근감 = 투영 변환 크기변환이 이뤄지지 않는 경우 직교투영을 쓰기도 함 투영 변환이 끝나면 파란색 네모 안에 모든 물체가 들어감 * NDC 좌표계란? x, y는 -1~1 범위, z는 0~1 범위로 이루어진 좌표계를 의미함 * NDC 좌표계를 쓰는 이유? 여러 해상도에 대응하기 위해서임 이렇게 비율 좌표로 바뀌어 있는 상태를 클립공간이라고도 한다. 정점처리단계를 지난 정점은 레스터라이저단계로 넘어간다 레스터라이저단계에서는 화면상에 나와야 하는 픽셀들을 계산해서 만들어줌 레스터라이저를 거치면서 각각 픽셀 위치에 맞는 정점을 넣어준다. *UV좌표란? 정점에서 어디서 픽.. 2023. 1. 12.
1. 행렬 1. 행렬의 전치연산 위 행렬에서 a와 f를 중심축으로 뒤집는 연산을 전치연산이라고 한다. * 정방행렬이란? 전치행렬로 뒤집어도 모습이 같은(성분은 달라지지만 모양은 같음) 행렬 2. 행렬의 곱연산 행과 열을 대응시켜 곱하고 그 결과를 더한다 * 행렬은 교환법칙을 만족하지 않고 결합법칙을 만족한다 - A * B != B * A - A * (B * C) = (A * B) * C 3. 행렬곱의 전치연산 (A * B)^T = B^T * A^T 열 기반 행렬과 행 기반 행렬 벡터를 열로 사용하는지 행으로 사용하는지에 따라 열 기반, 행 기반으로 나뉨 또한 열 기반, 행 기반을 어떤 벡터와 2X2 행렬의 곱을 나타낼 때 벡터를 어느 한 상태에서 다른 상태로 변경했을 경우 (EX 열기반 -> 행기반) 2X2행렬은 .. 2023. 1. 12.
230111_D2D 렌더링 파이프라인 개요 이전까지 화면에 있는 픽셀 데이터만으로 화면에 그려주었음 그러나 이제부터 앞으로 다룰 데이터는 3차원 데이터임. 모니터는 x, y좌표 즉 2차원인데 데이터는 3차원이면 출력은 어떻게? 3d 데이터가 2d 데이터로 바뀌어서 출력되는 과정을 렌더링 파이프라인이라고 한다. 정점 데이터 : 점 하나 하나를 의미함 레스터라이저 : 정점데이터를 GPU가 받았으면 화면에 보이는 픽셀들을 계산해서 넘겨주는 과정 픽셀 데이터 : 무슨 색깔로 할래? 색깔을 정하는 부분 1. Input Assembler 단계 - 입력 데이터를 읽어오는 단계 - 정점 데이터와 인덱스 데이터를 읽어들여 그리는 순서 결정 - 그래픽 카드가 정점 데이터를 읽을 수 있도록 정렬 - 인덱스 데이터로 그리는 순서 결정 2. Vertex Shader 단.. 2023. 1. 11.
파트1-Chapter-01. 벡터의 외적 외적 벡터곱셈이라고 하고 가위곱 또는 외적이라고 함 결과값으로 벡터가 나옴 3차원 벡터에 대해서만 정의됨 두 3차원 벡터 u, v와의 외적을 취하면 u와 v 모두에게 직교인 w 벡터가 나온다. u = (ux, uy, uz), v = (vx, vy, vz)가 있을 때 둘의 외적은 다음과 같다 w = u x v = (uyvz - uzvy, uzvx - uxvz, uxvy - uyvx) u = (2, 1, 3) v = (2, 0, 0) w = u x v를 계산해보면 = (1*0 - 3*0, 3*2 - 2*0, 2*0 - 1*2) = (0, 6, -2) 외적으로 얻은 벡터가 어떤 방향인지는 왼손 엄지 법칙으로 알 수 있음 w에 u가 직교인지, v가 직교인지 확인하려면 w * u = 0, w * v = 0이면 직.. 2022. 10. 21.