목록전체 글 (150)
개발하는 리프터 꽃게맨입니다.
테셀레이션 단계를 사용하지 않는다고 가정하면, 지오메트리 쉐이더 단계는 정점 쉐이더와 픽셀 쉐이더 단계 사이에 위치한 선택적 단계이다. 정점 쉐이더가 정점을 입력으로 받는 반면, 지오메트리 쉐이더는 전체 프리미티브를 입력으로 받는다. 예를 들어, 삼각형 목록을 그리는 경우, 지오메트리 쉐이더 프로그램은 목록의 각 삼각형 T에 대해 실행된다.for(UINT i = 0; i 각 삼각형의 세 정점이 지오메트리 쉐이더에 입력되며, 지오메트리 쉐이더는 프리미티브 목록을 출력한다. 정점 쉐이더가 정점을 생성하거나 삭제할 수 없는 것과 달리, 지오메트리 쉐이더의 주요 이점은 기하학을 생성하거나 삭제할 수 있다는 것이다. 이는 GPU에서 흥미로운 효과를 구현할 수 있게 해준다. 예를 들어, 입력된 프리미티브는 하나 ..
스텐실 버퍼는 몇 가지 특수 효과를 구현하기 위해 사용할 수 있는 off-screen 버퍼이다.스텐실 버퍼는 백 버퍼와 깊이 버퍼와 동일한 해상도를 가지며, 스텔실 버퍼의 ij 번째 픽셀은 백 버퍼와 깊이 버퍼의 ij번째 픽셀과 대응된다. ID3D11DepthStencilView.. 등의 이름에서 보았다시피 스텐실 버퍼와 깊이 버퍼와 함께 동작한다.스텐실 버퍼는 스텐실처럼 작동하여 특정 픽셀 조각이 백버퍼로 렌더링되는 것을 차단한다. 예를 들어, 거울을 구현할 떄, 거울의 평면을 기준으로 객체를 반사해야 하지만, 반사된 이미지는 거울 안에만 그려져야 한다. 스텐실 버퍼를 사용하여 반사가 거울에 그려지는 경우가 아니면 렌더링을 차단할 수 있다. 스텐실 버퍼는 ID3D11DepthStencilState ..
1. 힙 메모리를 대량으로 미리 할당하여 어플리케이션 차원에서 메모리를 할당 해제하는 관련 매니저 클래스 필요2. STL을 대체할 새로운 컨테이너?
프레임을 렌더링할 때, 먼저 지형을 그리고 그 다음으로 나무 상자를 그리며, 지형과 나무 상자의 픽셀들이 백 버퍼에 저장된다. 그 후 Blending을 사용하여 물 표면을 back buffer에 그리면, 물의 픽셀들이 지형과 나무 상자에 적절하게 혼합되어 지형과 나무 상자가 물을 통해 보이게 된다. 이 장에서는 현재 래스터화 중인 픽셀을 이전 back buffer에 이미 래스터화된 픽셀과 혼합할 수 있게 해주는 기술을 살펴본다. 이 기술은 물과 유리 같은 반투명 객체를 렌더링할 수 있게 해준다. 논의를 위해 우리는 back buffer를 렌더 타겟을 언급한다.그러나 나중에 off screen 렌더 타겟에도 렌더링할 수 있다는 것을 보여줄 것이다. 블렌딩은 이러한 렌더 타겟에도 동일하게 적용되며, 목적지 ..
실제 세계의 물체는 보통 버텍스 단위의 색상만으로는 포착할 수 없는 더 많은 세부 사항을 가고 있다.텍스처 매핑은 삼각형 위에 이미지 데이터를 매핑할 수 있는 기법으로, 이를 통해 장면의 세부 사항과 사실감을 크게 향상시킬 수 있다. 예를 들어, 육면체를 만들고 각 면에 상자 텍스처를 매핑하여 상자처럼 보이게 만들 수 있다. 텍스처와 리소스 복습우리는 앞서 이미 텍스처를 사용해왔다. 특히, 깊이 버퍼와 백 버퍼는 ID3D11Texture2D 인터페이스로 표현되는 2D 텍스처 객체이다. 2D 텍스처는 데이터 요소들의 행렬이다. 2D 텍스처는 많은 용도로 사용될 수 있으며, 그 중 한가지 용도는 픽셀의 색상을 저장하는 것이다. 이 때 텍스처는 2D 이미지 데이터를 저장한다. 그러나 이것이 유일한 용도는 아니..