C++ Algorithm & Study/Game Math & DirectX 11

    [Direct11] 24. Direct3D Geometry Shader

    1. Direct3D 1.1 Geometry Shader 1.1.1 Geometry Shader - 테셀레이션 단계를 사용하지 않는다고 할 때, Vertex & Pixel Shader 단계 사이에 있는 생략 가능 단계 - 정점 셰이더는 개별 정점들을 입력받는 반면 기하 셰이더는 온전한 기본 도형을 입력 받음 - 한 삼각형의 정점 세 개를 입력받아 기본도형들의 목록을 출력, 기하구조를 새로 생성 및 파괴 가능 - 하나의 입력 기본도형을 여러 개의 다른 기본도형들로 확장, 주어진 조건에 따라 특정 기본 도형 폐기 - 하나의 점으로부터 사각형으로 확장 - 기하 셰이더의 프로그램을 작성할 때 기하 셰이더의 한 실행에서 출력할 정점들의 최대 개수를 지정 - 최대 정점 개수 특성을 지정, 숫자의 의미는 한 번의 실..

    [Direct11] 23. EX App Program - Mirror

    1. EX App Program 1.1 Mirror 1.1.1 Mirror System - 물체의 반사상을 그리려면 거울 평면에 대해 그 물체를 반사시켜 렌더링 - 위의 방식만 할 경우 장면의 또 다른 물체일 뿐 다른 물체가 가리지 않는 이상 전체가 눈에 보임 - 거울 바깥의 영역이 물체를 가릴 수 있어야 함 - 후면 버퍼의 특정 영역에 픽셀들이 그려지지 않게 하는 스텐실 버퍼를 사용하여 해결 - 반사된 두개골의 픽셀들 중 거울 표면 영역 바깥에 있는 픽셀들은 스텐실 버퍼를 통해 폐기 /* Mirror System */ /* 벽, 거울, 두개골 */ - 바닥과 벽, 두개골을 보통의 방법으로 렌더링, 거울은 아직 그리지 않음 - 스텐실 버퍼를 0으로 지우고 거울을 스텐실 버퍼에만 렌더링 - 후면 버퍼에 색..

    [Direct11] 22. Direct3D Stencil

    1. Direct3D Stencil 1.1 Stencil 1.1.1 Stencil Buffer - 스텐실 버퍼는 어떤 특수 효과를 내는데 사용할 수 있는 화면 밖 버퍼 - 스텐실 버퍼는 후면 버퍼, 깊이 버퍼와 해상도가 같으며, 스텐실 버퍼의 픽셀은 후면 버퍼 & 깊이 버퍼 픽셀과 대응 - 스텐실 버퍼를 지정한 경우 스텐실 버퍼는 깊이 버퍼에 부착 - 포스터나 판화에 쓰이는 스텐실의 용도와 같음, 특정 픽셀 단편들이 후면 버퍼에 기록되지 못하게 만드는 데 쓰임 - 거울을 구현할 때 물체가 반사된 이미지를 거울의 평면에 그려야 함 - 거울 테두리 바깥까지 반사상이 그려져서는 안됨 1.1.2 Depth & Stencil Buffer - Depth & Stencil Buffer를 생성할 때 특정한 자료 형식을..