테셀레이션
메시의 삼각형들을 세분 하게 새로운 삼각형들을 만드는 과정
새 삼각형들은 새로운 위치에 이동 하고 세부적인 특징(Detail)을 만들어 낼 수있다.
장점
카메라에 가까운 삼각형들에게는 테셀레이션 적용 세부도 높이고, 멀리 있는 삼각형은 비 적용
메모리에 저 다각형 (low- poly) 를 즉석에서 추가함으로써 메모리 절약
애니메이션 및 물리 처리는 같은 연산은 단순한 저다각형 메시로 수행
렌더링 시에 테셀레이션 적용 해서 고 다가가형 메시를 렌더링
단점
위 단계 처럼 새 기하구조를 CPU 메모리에서 GPU 메모리로 올리는 것은 느린 연산
CPU 에서 테셀레이션 계산은 CPU 부담
Directx 11버전에서 도입
테셀레이션 구현 순서
- CPU에서 삼각형 분할 새 기하구조 생성
- 새 기하구조를 GPU 올려 렌더링
기하 셰이더 단계
기하 셰이더 : 하나의 온전한 기본도형 을 입력 시 정점 대해 수정,추가 및 삭제
삼각형 목록을 그리는 경우 기하 셰이더 에는 삼각형을 정의하는 정점 세 개 입력
사용 이유
기하 구조 를 GPU에서 생성 및 파괴, 확장
조건에 따라 입력 기하 구조 폐기
용도 예시 : 점이나 선분을 사각형으로 확장
입력 정점 : 정점 셰이더 처리 후 입력
출력 정점 : 정점 위치 들은 반드시 동차 절단 공간으로 변환 된 것
기하 셰이더의 출력을 스트림 출력 단계를 총해 메모리 버퍼에 저장 및 활용
절단
시야 절두체 바깥에 있는 기하구조는 폐기
절두체의 경계면과 교차는 기하구조는 잘라내는 과정을 절단(clipping) 연산
상하좌우 평면 과 가까운 평면, 먼 평면 기준으로 다각형을 절단
삼각형을 평면으로 자르면 사각형이 나온다 그걸 다시 삼각화
이런 연산은 하드웨어에서 지원
원근 나누기의 이후 점을 NDC 좌표로 표현
NDC 좌표 : $(\frac{x}{w}, \frac{y}{w}, \frac{z}{w}, 1)$
NDC 좌표를 부등식 으로 표현
$$ -1\leq\frac{x}{w}\leq1
\\-1\leq\frac{y}{w}\leq1 \\0\leq\frac{z}{w}\leq1 $$
동차 절단 공간에서 4차원 점은 시야 절두체 안에 존재 할려면 다음 조건에 만족
$$ \\ -w\leq x\leq w\\ -w \leq y\leq w\\ 0\leq z \leq w $$
시야 절두체 안의 점 들은 4차원 평면들로 이루어진 영역 안에 존재
왼쪽 평면 w = -x, 오른쪽 평면 : w = x, 아래 평면 w = -y
위쪽 평면 w = y, 가까운 평면 w = 0, 먼 평면 w = z
참고 및 내용 인용
프랭크 D 루나 지음, 류광 옮김
한빛 미디어
Directx 12를 이용한 3D 게임 프로그래밍 입문(2017)
'Directx12 3D 프로그래밍 입문 > 5. 렌더링 파이프 라인' 카테고리의 다른 글
5.14 1 ~ 8번 연습문제 (1) | 2024.02.08 |
---|---|
5.11 렌더링 파이프 라인 요약 (1) | 2024.02.08 |
5.10 래스터화, 뷰포트, 후면 선별 (0) | 2024.02.08 |
5.1 렌더링 파이프 라인의 개요 (1) | 2023.11.13 |
5. 렌더링 파이프 라인 (1) | 2023.11.12 |