밉매핑 이용

Flash Player 9 이상, Adobe AIR 1.0 이상

MIP 맵 ( 밉매핑 이라고도 함)은 런타임 렌더링 품질과 성능을 향상시키기 위해 함께 그룹화되고 텍스처와 연결되는 비트맵입니다. MIP 맵의 각 비트맵 이미지는 기본 비트맵 이미지의 한 버전이지만 기본 이미지보다 세부 수준이 줄어듭니다.

예를 들어 최고 품질 수준으로 64 × 64 픽셀인 기본 이미지를 포함하는 MIP 맵이 있을 수 있습니다. MIP 맵에서 품질이 더 낮은 이미지는 32 × 32, 16 × 16, 8 × 8, 4 × 4, 2 × 2, 1 × 1 픽셀이 됩니다.

텍스처 스트리밍 을 사용하면 먼저 가장 낮은 품질의 비트맵을 로드한 후, 비트맵이 로드됨에 따라 더 높은 품질의 비트맵을 점진적으로 표시할 수 있습니다. 비트맵의 품질이 낮으면 크기가 작기 때문에 기본 이미지보다 빨리 로드할 수 있습니다. 따라서 응용 프로그램 사용자는 기본 고품질 비트맵을 로드하기 전에 응용 프로그램에서 이미지를 볼 수 있습니다.

Flash Player 9.115.0 이상 버전과 AIR에서는 50%에서 시작하여 다양한 배율로 각 비트맵의 최적화된 버전을 만들어 이 기술을 구현합니다. 이 프로세스를 밉매핑 이라고 합니다.

Flash Player 11.3 및 AIR 3.3에서는 streamingLevels 매개 변수( Context3D.createCubeTexture() Context3D.createTexture() 메서드)를 통해 텍스처 스트리밍을 지원합니다.

텍스처 압축을 사용하면 GPU에서 직접 압축된 형식으로 텍스처 이미지를 저장할 수 있으므로 GPU 메모리와 메모리 대역폭이 절약됩니다. 일반적으로 압축된 텍스처는 오프라인으로 압축되며, 압축된 형식으로 GPU에 업로드됩니다. 그러나 Flash Player 11.4 및 AIR 3.4는 런타임 텍스처 압축을 지원하므로 벡터 아트에서 동적 텍스처를 렌더링하는 경우 등 특정 상황에서 유용합니다. 런타임 텍스처 압축을 사용하려면 다음 단계를 수행하십시오.

  • Context3D.createTexture() 메서드를 호출하고, 세 번째 매개 변수에서 flash.display3D.Context3DTextureFormat.COMPRESSED 또는 flash.display3D.Context3DTextureFormat.COMPRESSED_ALPHA 를 전달하여 텍스처 객체를 만듭니다.

  • flash.display3D.textures.Texture 인스턴스( createTexture() 에서 반환됨)를 사용하여 flash.display3D.textures.Texture.uploadFromBitmapData() 또는 flash.display3D.textures.Texture.uploadFromByteArray() 를 호출합니다. 이러한 메서드는 한 단계로 텍스처를 업로드하고 압축합니다.

MIP 맵은 다음 유형의 비트맵에 대해 생성됩니다.

  • ActionScript 3.0 Loader 클래스를 사용하여 표시되는 비트맵(JPEG, GIF 또는 PNG 파일)

  • Flash Professional 문서의 라이브러리에 있는 비트맵

  • BitmapData 객체

  • ActionScript 2.0 loadMovie() 함수를 사용하여 표시되는 비트맵

필터링된 객체나 비트맵 캐싱된 동영상 클립에는 MIP 맵이 적용되지 않습니다. 그러나 비트맵이 마스크 처리된 내용에 있는 경우에도 필터링된 표시 객체 내에 비트맵 변형이 있으면 MIP 맵이 적용됩니다.

밉매핑은 자동으로 수행되지만 다음 몇 가지 지침에 따라 이미지에서 이 최적화를 최대한 활용할 수 있습니다.

  • 비디오 재생의 경우 Video 객체의 smoothing 속성을 true 로 설정합니다(Video 클래스 참조).

  • 비트맵의 경우 smoothing 속성을 true 로 설정할 필요는 없지만 비트맵에 다듬기를 사용할 때 품질 향상이 보다 명확하게 나타납니다.

  • 2차원 이미지의 경우 4 또는 8로 나눌 수 있는 비트맵 크기(예: 640 x 128을 320 x 64 > 160 x 32 > 80 x 16 > 40 x 8 > 20 x 4 > 10 x 2 > 5 x 1로 줄일 수 있음)를 사용합니다.

    3차원 텍스처의 경우 각 이미지가 2의 거듭제곱(즉 2^n)인 해상도가 되는 MIP 맵을 사용합니다. 예를 들어 기본 이미지의 해상도가 1024 x 1024 픽셀인 경우, MIP 맵에서 더 낮은 품질 이미지는 512 x 512, 256 x 256, 128 x 128에서 1 x 1 픽셀까지이므로 해당 MIP 맵에 총 11개의 이미지가 있게 됩니다.

    밉매핑은 홀수 폭이나 높이를 갖는 비트맵 내용에 대해서는 발생하지 않습니다.