많은 게임에서 이러한 효과에 대해 이야기하고 있습니다. 먼저, Depth of field 가 있는데,이 예제 에서처럼 카메라가 근접한 물체에만 초점을 맞추는 것처럼 먼 거리의 물체가 흐릿하게 보입니다. DirectX SDK 패키지에서 이와 관련된 더 많은 샘플을 탐색 할 수 있습니다. 샘플 코드도 있습니다. OpenGL의 경우 검색하면 인터넷에서 얻을 수 있습니다.
두 번째로보고 싶은 것은 이름에서 알 수 있듯이 텍스처 밉 매핑과 비슷하지만 지오메트리에 대한 Geometry MipMaping 또는 Progressive Mesh 로 알려져 있습니다. 객체가 카메라에서 멀어 질수록 메시의 다각형 수가 줄어 듭니다. 이것은 성능 향상에 도움이됩니다. D3D에는 프로그레시브 메시를 자동으로 생성하는 데 도움이되는 기능이 있습니다. 여기있어:
HRESULT WINAPI D3DXGeneratePMesh(
LPD3DXMESH pMesh,
const DWORD *pAdjacency,
const D3DXATTRIBUTEWEIGHTS *pVertexAttributeWeights,
const FLOAT *pVertexWeights,
DWORD MinValue,
DWORD Options,
LPD3DXPMESH *ppPMesh
);
이에 대한 예는 다음과 같습니다.
편집 :
다음 이미지를 고려하십시오
이것은 카메라의 컬링 절두체입니다. 가운데를 통과하는 선은 LookAt 벡터입니다. 이제 플레이어가 항상 화면 중앙에 초점을 맞추기를 원한다고 가정하면 각도 x를 정의합니다. 결정된 x보다 많은 각도에 배치되는 모든 객체는 저해상도 렌더링을 가지며 각도 내에있는 객체는 상세하게 렌더링됩니다. 이와 같이 화면 중앙에있는 객체는 측면에있는 객체보다 더 자세합니다. 플레이어가 중앙을보고 있지 않으면 중앙 라인을 플레이어가보고있는 방향으로 조정하십시오. (또는 전체 카메라를 해당 방향으로 회전)