Mapas MIP
(também conhecido como
mipmaps
), são bitmaps agrupados e associados a uma textura para aumentar a qualidade e o desempenho da renderização no tempo de execução. Cada imagem bitmap no mapa MIP é uma versão da imagem bitmap principal, mas a um nível de detalhes reduzido da imagem principal.
Por exemplo, você pode ter um mapa MIP que inclui na maior qualidade uma imagem principal de 64 × 64 pixels. As imagens de qualidade inferior no mapa MIP teriam 32 × 32, 16 × 16, 8 × 8, 4 × 4, 2 × 2 e 1 × 1 pixels.
O
Fluxo de textura
e a capacidade de carrega o de menor qualidade primeiro e depois exibir progressivamente bitmaps com maior conforme são carregados. Como os bitmaps de qualidade inferior são pequenos, ele carregam mais rápido do que a imagem principal. Portanto, os usuários dos aplicativos podem visualizar imagens em um aplicativo antes do principal de alta qualidade carregar.
O Flash Player 9.115.0 e versões posteriores e o AIR implementam essa tecnologia (o processo é chamado
mipmapping
), por meio da criação de versões otimizadas de escala variável de cada bitmap (começando em 50%).
O Flash Player 11.3 e o AIR 3.3 suportam o fluxo de texturas pelo parâmetro
streamingLevels
dos métodos
Context3D.createCubeTexture()
e
Context3D.createTexture()
.
A compactação de textura permite que você armazene imagens em formato compactado diretamente na GPU, o que poupa a memória da GPU e a largura de banda da memória. Tipicamente, texturas compactadas são compactadas offline e carregadas na GPU em formato compactado. Entretanto, o Flash Player 11.4 e o AIR 3.4 oferecem suporte à a compactação de textura de tempo de execução, o que é útil em determinadas situações, como a renderização de texturas dinâmicas de arte vetorial. Para usar a compactação de textura de tempo de execução, siga as seguintes etapas:
-
Crie o objeto de textura chamando o método
Context3D.createTexture()
, fornecendo
flash.display3D.Context3DTextureFormat.COMPRESSED
ou
flash.display3D.Context3DTextureFormat.COMPRESSED_ALPHA
no terceiro parâmetro.
-
Utilizando a instância
flash.display3D.textures.Texture
retornada por
createTexture()
, chame
flash.display3D.textures.Texture.uploadFromBitmapData()
ou
flash.display3D.textures.Texture.uploadFromByteArray()
. Esses métodos carregam e compactam a textura em uma etapa.
Os mapas MIP são criados para os seguintes tipos de bitmaps:
-
um bitmap (arquivos JPEG, GIF ou PNG) exibido com a classe Loader do ActionScript 3.0
-
um bitmap na biblioteca de um documento Flash Professional
-
um objeto BitmapData
-
um bitmap exibido com a função
loadMovie()
do ActionScript 2.0
Os mapas MIP não são aplicados a objetos filtrados nem a clipes de filme em cache de bitmap. Entretanto, os mapas MIP são aplicados se você tiver transformações de bitmap em um objeto de exibição filtrado, mesmo se o bitmap estiver dentro de conteúdo mascarado.
Os mapeamentos mip ocorre automaticamente, mas você pode seguir algumas orientações para se certificar de que suas imagens usem essa otimização:
-
Para reprodução de vídeo, defina a propriedade
smoothing
como
true
para o objeto Video (consulte a classe Video).
-
Para bitmaps, a propriedade
smoothing
não tem que ser definida como
true
, mas os aprimoramentos de qualidade são mais visíveis quando os bitmaps usam suavização.
-
Use tamanhos de bitmap que podem ser divididos por 4 ou 8 para imagens de bidimensionais (como 640 x 128, que pode ser reduzido da seguinte forma: 320 x 64 > 160 x 32 > 80 x 16 > 40 x 8 > 20 x 4 > 10 x 2 > 5 x 1).
Para texturas tridimensionais, use mapas MIP nos quais cada imagem está em uma resolução que é uma potência de 2 (isto é, 2^n). Por exemplo, a imagem principal está em uma resolução de 1024 x 1024 pixels. As imagens de qualidade inferior no mapa MIP teriam 512 x 512, 256 x 256, 128 x 128 até 1 x 1 pixels, totalizando 11 imagens no MIP.
Observe que o mapeamento mip não ocorre para conteúdo bitmap com largura ou altura ímpar.