DirectX49 30. Tessellation Tessellation Stages란? - Hull Shader, Tessellator, Domain Shader 단계를 묶어서 Tessellation Stages라고 한다. - 지오메트리와 동일하게 정점을 추가하는 개념 - 지오메트리와 비교하면 테셀레이션은 좀 더 큰 규모에 적용이 된다. 동적 LOD란? - LOD란 Level of detail이라는 의미로 디테일의 정도를 의미하며 로우폴리, 하이폴리같은 디테일의 정도에 따른 메쉬의 분류를 생각하면 이해가 쉽다. - 동적 LOD란 이런 디테일이 실시간으로 변화하는 것 - 예를 들어 카메라 멀리 있는 물체는 정점의 개수를 줄여서 대충 그리고, 가까이 있는 물체는 디테일 하게 그리는 것 - 이런 작업은 렌더링 성능 향상에 도움이 된다. 물론 로우폴리와 하이.. 2023. 2. 19. 29. Shadow Mapping 그림자 매핑이란? - 빛에 의해 물체에 드리우는 그림자를 그리는 것 그림자가 나타나는 이유는 앞의 물체가 빛을 가리고 있기 때문이다. 그럼 그림자를 그리기 위해서는 앞에 물체가 있는지 없는지를 판별해야 한다. 이를 위해 빛의 위치에서 물체를 찍어서 깊이 값을 기록한 텍스쳐를 만들고, 그 텍스쳐를 이용해 실제 물체를 그릴 때 그림자를 같이 그려주는 것. 어떤 픽셀을 그려야 할 때 그 위치에 그림자가 있는지 없는지를 판별하려면 이 깊이 맵을 이용해야 한다. 그래서 라이팅이 들어가기 전 빛 위치의 카메라로 먼저 찍어서 깊이 값이 기록된 텍스쳐를 만든 후, 우리 실제 카메라로 찍어서 그 깊이값과 실제 깊이값을 비교해서 우리 물체가 더 깊이 있으면 그림자를 그려주는 것. - 빛 위치의 카메라를 LC라고 부르기로 .. 2023. 2. 18. BLEND 상태 값에 관한 정리 D3D11_BLEND는 현재 픽셀의 색상과 블렌딩 대상 픽셀의 색상 값을 조합하여 최종 색상을 생성하는 방법을 결정하는데 사용된다. 블렌딩이 적용되는 경우, 현재 픽셀과 블렌딩 대상 픽셀의 색상 값은 결합되어 최종 색상 값이 생성된다. 이 때 D3D11_BLEND에서 지정한 방식에 따라 블렌딩이 수행되며, 최종 색상 값이 결정된다. 따라서 D3D11_BLEND는 현재 픽셀과 같은 위치에 다른 픽셀이 존재할 때, 두 픽셀을 조합하여 최종 색상을 생성하는 방식을 결정하는 역할을 한다. 용어 정리 - 현재 픽셀 : 블렌딩을 적용하는 대상 픽셀 - 블렌딩 대상 픽셀 : 현재 픽셀과 결합되어 새로운 색상을 만들어내는 대상 픽셀 - 블렌딩 소스 : 블렌딩 대상 픽셀에 적용되는 색상값 (텍스쳐나 다른 렌더타겟의 결과.. 2023. 2. 17. 28. Instancing 붓 그리기로 치면, 전체적인 그림을 알고 있으면 빨간 붓을 들었을 때 이 참에 빨간 색이 들어간 모든 부분을 칠하는 것 이전에 DrawIndexedInstanced 함수에서 인스턴싱하는 방법과 별개로 IASetVertexBuffers에 여러 개의 버텍스 버퍼를 넣어줄 수 있다. 인스턴싱이란 하나의 정점 정보로 여러개의 물체를 그린다는 것. 어떤 물체가 인덱스 버퍼, 버텍스 버퍼가 같고, 머테리얼조차 같아서 동일한 쉐이더를 사용한다면 그 물체는 위치값만 바꿔서 여러 개로 찍어낼 수 있다. InstancingBuffer 클래스 - 헤더에 구조체 InstancingParams를 선언하고, 이 구조체의 멤버는 월드행렬, 월드뷰행렬, 월드뷰프로젝션행렬이 있다. - Init 함수에서 구조체의 개수를 받아서 Inst.. 2023. 2. 14. 이전 1 2 3 4 5 6 ··· 13 다음