본문 바로가기

전체 글64

9.12 텍스처 요약 텍스처 좌표 : 3차원 공간의 삼각형에 입혀질 텍스처 이미지의 상의 좌표를 말한다 $[0,1]^2$ 게임 시작 시점에서 이미지 자료를 ID3D12Resource 객체로 로드 후 사용 하는데 그래픽 응용 프로그램에서는 GPU 가 직접 이해 하고 다양한 이미지 형식을 지원하는 DDS 자주 쓴다 DDS 는 GPU가 직접 압축 해제 할 수 있는 이미지 압축 형식을 지원 CreateDDSTextureFromFile12 함수로 디스크에 저장된 이미지를 DDS 로 텍스처로 변환 가능 하다 카메라 의 위치에 따라 확대 및 축소가 발생 하며 텍스처 필터로 확대를 처리하고 밉맵으로 축소를 처리 하고 한다 텍스처 필터 : 256 x 256 -> 1024 x 1024 변환 시 큰 텍스처 좌표를 연산(상수 보간, 선형 보간을 .. 2023. 9. 21.
9.11 언덕 과 파도 예제 1. 땅 매쉬에 풀 텍스처를 타일 방식으로 입힌다 2. 물 텍스처가 시간 함수에 따라 스크롤 기능 풀 텍스처를 땅 매쉬에 확대해서 입히면 결함이 생기기 때문에 타일 방식으로 입힘 저 해상도 텍스처를 사용해도 확대에 의한 결함이 생기지 않게 하기 위해서 타일 방식 사용 격차 텍스처 좌표 생성 그림을 보면 xz 평면의 정점에서의 격자 정점$v_{ij}$ 텍스처 좌표어서 보면 텍스처 공간에서 ij 번째 격자 정점 좌표에 대응 실제 코드로 적용 GeometryGenerator::MeshData GeometryGenerator::CreateGrid(float width, float depth, uint32 m, uint32 n) { MeshData meshData; uint32 vertexCount = m*n; .. 2023. 9. 21.
9.9 나무 상자 예제 텍스처 좌표의 지정 입방체의 면마다 텍스처 이미지 전체가 입혀지도록 텍스처 좌표(u, v) 지정 //맨뒤에 있는 매개변수가 u, v 값 // u, v 값은 0 ~ 1 사이 값으로 설정 한다, v[0] = Vertex(-w2, -h2, -d2, 0.0f, 0.0f, -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f); v[1] = Vertex(-w2, +h2, -d2, 0.0f, 0.0f, -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f); v[2] = Vertex(+w2, +h2, -d2, 0.0f, 0.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f); v[3] = Vertex(+w2, -h2, -d2, 0.0f, 0.0f, -1.0f, 1.0f, .. 2023. 9. 18.
3. 변환 선형 변환 함수에 3차원 벡터를 입력 하면 새로운 벡터 하나를 출력 선형 변환의 성질에 성립 시 이 함수를 선형 변환 이라고 한다. 선형 변환의 성질 : t(u+v) = t(u) + t(v), t(ku) = kt(u) 선형 변환을 행렬 표현 예시 표준 기저 벡터 : 현재 좌표계 축의 단위 벡터들 ex) i = (1,0,0), j = (0,1,0), k = (0,0,1) $$t(u) = t(xi+yi+zk) = xt(i) + yt(j) + zt(k)$$ $$uA = [x,y,z] \begin{bmatrix} A_{11} & A_{12} & A_{13} \\ A_{21} & A_{22} & A_{23} \\ A_{31} & A_{32} & A_{33} \\ \end{bmatrix}$$ 비례 물체의 크기를 조.. 2023. 9. 17.