Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Ahora puede crear automáticamente un mapa mip, que es una serie de texturas, cada uno filtrado a una resolución diferente. Los mapas Mip se usan normalmente para proporcionar diferentes niveles de detalle al representar. La generación automática de mapas mip en el momento de la creación de texturas aprovecha el filtrado de hardware porque el mapa mip reside en la memoria de vídeo.
Para generar automáticamente un mapa mip, establezca un nuevo D3DUSAGE_AUTOGENMIPMAP de uso antes de llamar a CreateTexture. La generación de subnivel desde este punto en es completamente transparente para la aplicación. Solo se puede acceder al nivel de textura superior a la aplicación; Los subniveles de textura no son accesibles, ya que solo se crearán cuando lo necesite el controlador. En los casos en los que la generación de subniveles puede tardar mucho tiempo, use GenerateMipSubLevels para sugerir al controlador que debe generar subniveles en un momento adecuado para la aplicación.
Filtrado de mapa mip
SetAutoGenFilterType controla la calidad de filtrado durante la generación automática. El cambio del tipo de filtro sucia los subveles mipmap y hace que se vuelvan a generar. Use GetAutoGenFilterType para obtener el tipo de filtro actual. El tipo de filtro predeterminado es D3DTEXF_LINEAR. Si el controlador no admite un filtro lineal, el tipo de filtro se establecerá en D3DTEXF_POINT.
Estos métodos no tienen ningún efecto si la textura no se crea con D3DUSAGE_AUTOGENMIPMAP y no se devuelve ningún error. Todos los tipos de filtro admitidos por el controlador para el filtrado de texturas normales se admiten para la generación automática, excepto D3DTEXF_NONE. Para cada tipo de recurso, los controladores deben admitir todos los tipos de filtro notificados en la textura correspondiente, CubeTexture y los límites de filtro volumetexture.
Para comprobar qué tipos de filtro se admiten, compruebe qué límites son compatibles con los miembros TextureFilterCaps o CubeTextureFilterCaps de D3DCAPS9.
Compatibilidad con Mipmap
D3DUSAGE_AUTOGENMIPMAP es solo una sugerencia y especificar esto durante la creación de texturas o al llamar a CheckDeviceFormat no provocaría un error en ninguno de los tipos de interfaz de controlador de dispositivo (DDI).
Llamar a updateTexture no es válido cuando el origen es un mapa mip generado automáticamente, pero el destino no lo es. El origen puede ser un mapa mip no generado automáticamente y el destino puede ser un mapa mip generado automáticamente. En este caso, solo se actualiza el nivel de coincidencia superior. Se omiten todos los demás subveles de origen. Del mismo modo, cuando se generan automáticamente tanto el origen como el destino, solo se actualiza el nivel de coincidencia superior. Los subniveles del origen se omiten y se vuelven a generar los subveles de destino.
Para comprobar la compatibilidad con la generación automática de mapas mip, compruebe que D3DCAPS2_CANAUTOGENMIPMAP está establecido. Si es así, llame a checkDeviceFormat con D3DUSAGE_AUTOGENMIPMAP. Si el valor devuelto es D3D_OK, se garantiza que los mapas mip se generen automáticamente. Si el valor devuelto es D3DOK_NOAUTOGEN, significa que la llamada de creación se realizará correctamente, pero no se generarán mapas mip.
Temas relacionados