3차원 그래픽스
-
Chapter 1.3 Coordinate3차원 그래픽스/Polygon mesh 2019. 2. 11. 23:29
이 문서는 개인 공부용으로 쓰였습니다.- 게임 프로그래밍을 위한 3차원 그래픽스 (한정현) Chapter 1.3 Coordinate 카테시안 좌표계는 오른손 좌표계일 수도 있고 왼손 좌표계일 수도 있다.이전 장에서는 오른손 좌표계로 가정하였다. (오른손 좌표계) (왼손 좌표계) 하나의 폴리곤 메쉬를 오른손 좌표계와 왼손 좌표계 사이에서 포팅할 때는 리모델링 작업이 필요하다._정점의 정렬 순서가 변해야한다. (노멀이 물체 바깥으로 향하기 위해) _z 좌표 부호 변경 작업을 수행해야한다. (반드시)
-
Chapter 1.2 Polygon mesh3차원 그래픽스/Polygon mesh 2019. 2. 11. 23:08
이 문서는 개인 공부용으로 쓰였습니다.- 게임 프로그래밍을 위한 3차원 그래픽스 (한정현) Chapter 1.2 Polygon mesh 0. 정의 - GPU는 폴리곤 메쉬 처리에 최적화되어 있다.폴리곤 메쉬의 정점들은 부드러운 곡면을 샘플링한 점들에 불과하다.폴리곤 메쉬는 정확한 표현법이 아닌 근사적 표현법이다. OpenGL - 볼록 폴리곤 (평면성과 볼록성) : 처리 속도를 빠르게 하기 위해Direct3D - 삼각형 폴리곤 (삼각형 메쉬) _ 메쉬의 해상도가 올라갈수록 본래의 곡면과 흡사해지지만메쉬를 처리하기 위한 시간이 증가하여 효율성은 떨어지게 된다. _ 저해상도의 메쉬를 고해상도로 변환하는 과정은 세분화_ 반대의 과정은 간략화라 한다. 1. 폴리곤 메쉬 표현 기법 - 삼각형 메쉬를 표현하는 가장 ..
-
Chapter 1.1 게임 제작 파이프라인3차원 그래픽스/Polygon mesh 2019. 2. 11. 22:03
이 문서는 개인 공부용으로 쓰였습니다.- 게임 프로그래밍을 위한 3차원 그래픽스 (한정현) Chapter 1.1 게임 제작 파이프라인 폴리곤(polygon, 다각형) 텍스쳐(texture) : 물체 표면 색상을 결정하는 비트맵 이미지 골격 (skeleton) 리깅 (rigging) : 각각의 뼈의 움직임이 폴리곤 메쉬를 어떻게 변형하는지 정의 이후 폴리곤 메쉬에 삽입된 골격을 움직여서 애니메이션을 생성한다. 각 프레임을 구성하는 모든 요소가 결정되면 렌더링 모듈이 실행된다. 렌더링은 3차원 장면에서 2차원 영상을 생성해 내는 과정을 말한다. 그리고 최종적으로, 후처리 단계가 진행된다. (모션 블러, 초점 심도 등..)
-
Chapter 9.6 Displacement mapping3차원 그래픽스/Mapping 2018. 6. 11. 16:35
이 문서는 개인 공부용으로 쓰였습니다.- 게임 프로그래밍을 위한 3차원 그래픽스 (한정현) Chapter 9.6 Displacement mapping 0. 정의 - 변위 매핑은 런타임에 매크로구조를 테쎌레이션하고 그 결과 얻어진 정점의 위치를 하이트맵을 사용해 실제로 옮긴다.- 쉐이더 모델 5에서 테쎌레이션을 하드웨어로 지원함에 따라 변위 매핑은 실시간에 구현 가능한 알고리즘이 되었다. 1. 문제점 - 적절한 테쎌레이션 인자를 결정하는 것- 과도한 테쎌레이션된 매크로구조가 화면에서 아주 작은 영역만 차지하는경우 - 비효율성 실제 화면에 차지할 영역을 고려하여 테쎌레이션 인자를 결정하여야 한다. 사전에 변위 매핑을 수행한 부분이 가시권 밖에 놓이지 안헤 가시성을 계산하는 것이 필요하다.
-
Chapter 9.5 Parallax mapping3차원 그래픽스/Mapping 2018. 6. 11. 15:56
이 문서는 개인 공부용으로 쓰였습니다.- 게임 프로그래밍을 위한 3차원 그래픽스 (한정현) Chapter 9.5 Parallax mapping 0. 정의 - 광선 추적법을 사용하여 시차 현상을 생성한다.- 다른 이름으로는 Virtual Displacement mapping이다. 1. 과정- 하이트 필드와 시선 벡터 V의 교차점을 이용하여, V의 역방향으로 광선을 발사하고 이를 추적한다. 광선이 일정한 간격으로 샘플링이 되면 각각의 점들을 방문하며, 그 점이 하이트 필드 위에 있는지 검사한다. 점이 발견되면, 그 전의 점 하이트 필드의 값과 현재 점의 하이트 필드의 값 차이를 구한다. 대개의 경우 일치하지 않기에 오차를 극복하기 위하여 새로운 점을 선택하여 다시 검사하게 된다. 2. 사용- 노멀 매핑과는 ..
-
Chapter 9.4 Object space Normal mapping3차원 그래픽스/Mapping 2018. 6. 9. 14:10
이 문서는 개인 공부용으로 쓰였습니다.- 게임 프로그래밍을 위한 3차원 그래픽스 (한정현) Chapter 9.4 Object space Normal mapping 0. 정의 - 오브젝트 좌표계 상에서의 노말을 저장함 1. 노멀맵 제작 - 저해상도 모델을 매크로구조로 이용하여, 파라미터화를 적용 시켜 모든 정점에 대해 정규화된 텍스처 좌표를 구한다. - 해상도에 맞는 노멀맵의 새 텍스처 좌표를 정의한다. - 매크로구조의 삼각형은 래스터화되어 다수의 텍셀을 포함하고, 각 정점에는 노멀 정보를 저장하고 있다. - 노멀을 저장한 텍스처 오브젝트 공간 노멀맵 2. 오브젝트 공간의 노멀 -> 탄젠트 공간으로 - 삼각형의 각 정점에 대해 탄젠트 공간의 기저 {T, B, N}을 계산 - 무게중심 좌표를 사용하여 정점별..
-
Chapter 9.3 Tangent space Normal mapping3차원 그래픽스/Mapping 2018. 6. 8. 21:13
이 문서는 개인 공부용으로 쓰였습니다.- 게임 프로그래밍을 위한 3차원 그래픽스 (한정현) Chapter 9.3 Tangent space Normal mapping 0. 정의 - 텍스처링은 텍스처를 물체의 표면에 펴 바르는 작업이므로 2차원 평면에서 탄젠트 공간의 정보를 갖는다는 의미를 갖고 있다. 즉, 노멀맵의 노멀 각각은 그 노멀이 적용될 표면 점의 탄젠트 공간에서 정의 된 것이다. 1. 탄젠트 공간 - 물체의 표면을 기준으로 법선 벡터 방향을 Z축으로 놓는 공간. * T : Tangent vector(접선 벡터) * B : Bitangent vector(종법선 벡터) * N : Normal vector(법선 벡터) 폴리곤 메쉬의 표면 노멀은 일반적으로 모델링 단게에서 정점별로 계산된다.탄젠트 공간 ..
-
Chapter 9.2 Normal Mapping3차원 그래픽스/Mapping 2018. 6. 7. 23:01
이 문서는 개인 공부용으로 쓰였습니다.- 게임 프로그래밍을 위한 3차원 그래픽스 (한정현) Chapter 9.2 Normal mapping 0. 정의 - 눈속임의 기술인 노멀 맵핑은 법선 벡터의 값을 사용하여 입체감 및 질감을 구현하는 방법. 노멀맵은 RGB 색상 대신 노멀 벡터를 저장하고 있는 텍스처를 말한다. 1. 노멀맵 - 노멀을 계산하기 위해서는 편미분 식이 필요한데, (x, y)에 인접한 네 개의 좌표{(x + 1, y), (x - 1, y), (x, y + 1), (x, y - 1)} 의 높이 값을 이용해 계산한다. 계산된 노멀은 하이트 필드 표면의 바깥쪽을 가리킨다.각 텍셀에 색상 대신 노멀이 저장된 노멀맵의 개념, 일반적으로 노멀맵은 하이트맵과 동일한 해상도를 갖는다. RGB 각 채널을 8..