다음을 통해 공유


Mipmap 자동 생성(Direct3D 9)

이제 각각 다른 해상도로 필터링된 일련의 텍스처인 Mipmap을 자동으로 만들 수 있습니다. Mipmap은 렌더링할 때 다양한 수준의 세부 정보를 제공하는 데 일반적으로 사용됩니다. 텍스처 생성 시 Mipmap을 자동으로 생성하면 mipmap이 비디오 메모리에 있기 때문에 하드웨어 필터링을 활용할 수 있습니다.

mipmap을 자동으로 생성하려면 CreateTexture호출하기 전에 새 사용량 D3DUSAGE_AUTOGENMIPMAP 설정합니다. 이 시점부터 구부러지는 생성은 애플리케이션에 완전히 투명합니다. 최상위 텍스처 수준만 애플리케이션에서 액세스할 수 있습니다. 텍스처 구슬은 드라이버에서 필요한 경우에만 만들어지므로 액세스할 수 없습니다. sublevel 생성에 많은 시간이 걸릴 수 있는 경우 GenerateMipSubLevels 사용하여 애플리케이션에 적합한 시간에 sublevel을 생성해야 한다는 것을 드라이버에 암시합니다.

Mipmap 필터링

SetAutoGenFilterType 자동 생성 중에 필터링 품질을 제어합니다. 필터 유형을 변경하면 Mipmap이 더러워지고 다시 생성됩니다. GetAutoGenFilterType 사용하여 현재 필터 형식을 가져옵니다. 기본 필터 형식은 D3DTEXF_LINEAR. 드라이버가 선형 필터를 지원하지 않으면 필터 형식이 D3DTEXF_POINT 설정됩니다.

이러한 메서드는 텍스처가 D3DUSAGE_AUTOGENMIPMAP 생성되지 않은 경우 영향을 주지 않으며 오류가 반환되지 않습니다. 일반 텍스처 필터링을 위해 드라이버에서 지원하는 모든 필터 형식은 D3DTEXF_NONE 제외한 자동 생성에 대해 지원됩니다. 각 리소스 종류에 대해 드라이버는 해당 텍스처, CubeTexture 및 volumetexture 필터 캡에 보고된 모든 필터 형식을 지원해야 합니다.

지원되는 필터 형식을 확인하려면 D3DCAPS9TextureFilterCaps 및/또는 CubeTextureFilterCaps 멤버가 지원하는 대문자를 확인합니다.

Mipmap 지원

D3DUSAGE_AUTOGENMIPMAP 힌트일 뿐이며 텍스처를 만드는 동안 또는 CheckDeviceFormat 호출할 때 이를 지정해도 DDI(디바이스 드라이버 인터페이스) 형식에 오류가 발생하지 않습니다.

UpdateTexture 호출하는 것은 원본이 자동으로 생성된 mipmap이지만 대상이 아닌 경우 불법입니다. 원본은 자동으로 생성되지 않는 Mipmap일 수 있으며 대상은 자동으로 생성된 mipmap일 수 있습니다. 이 경우 최상위 일치 수준만 업데이트됩니다. 다른 모든 원본 구슬은 무시됩니다. 마찬가지로 원본과 대상이 모두 자동으로 생성되면 가장 일치하는 최상위 수준만 업데이트됩니다. 원본의 sublevel은 무시되고 대상 구슬은 다시 생성됩니다.

mipmap 자동 생성에 대한 지원을 확인하려면 D3DCAPS2_CANAUTOGENMIPMAP 설정되어 있는지 확인합니다. 이 경우 D3DUSAGE_AUTOGENMIPMAP사용하여 CheckDeviceFormat 호출합니다. 반환 값이 D3D_OK 경우 mipmap이 자동으로 생성됩니다. 반환 값이 D3DOK_NOAUTOGEN 경우 만들기 호출이 성공하지만 밉맵이 생성되지 않습니다.

Direct3D 텍스처