D3DUSAGE

Opciones de uso que identifican cómo se usarán los recursos.

En la tabla siguiente se resumen las opciones de uso disponibles.

Constante Descripción
D3DUSAGE_AUTOGENMIPMAP
El recurso generará automáticamente mapas mip. Consulte Generación automática de mapas Mip (Direct3D 9). No se admite la generación automática de mapas mip para texturas de volumen y superficies de galería de símbolos de profundidad o texturas. Este uso no es válido para un recurso en memoria del sistema (D3DPOOL_SYSTEMMEM).
D3DUSAGE_DEPTHSTENCIL
El recurso será un búfer de galería de símbolos de profundidad. D3DUSAGE_DEPTHSTENCIL solo se puede usar con D3DPOOL_DEFAULT.
D3DUSAGE_DMAP
El recurso será un mapa de desplazamiento.
D3DUSAGE_DONOTCLIP
Establézcalo para indicar que el contenido del búfer de vértices nunca requerirá recorte. Al representar con búferes que tienen esta marca establecida, el D3DRS_CLIPPING estado de representación debe establecerse en false.
D3DUSAGE_DYNAMIC
Se establece para indicar que el búfer de vértices requiere el uso de memoria dinámica. Esto es útil para los controladores porque les permite decidir dónde colocar el búfer. En general, los búferes de vértices estáticos se colocan en memoria de vídeo y los búferes dinámicos de vértices se colocan en memoria AGP. Tenga en cuenta que no hay ningún uso estático independiente. Si no especifica D3DUSAGE_DYNAMIC, el búfer de vértices se convierte en estático. D3DUSAGE_DYNAMIC se aplica estrictamente a través de los D3DLOCK_DISCARD y D3DLOCK_NOOVERWRITE marcas de bloqueo. Como resultado, D3DLOCK_DISCARD y D3DLOCK_NOOVERWRITE solo son válidos en los búferes de vértices creados con D3DUSAGE_DYNAMIC. No son marcas válidas en búferes de vértices estáticos. Para obtener más información, vea Managing Resources (Direct3D 9) (Administrar recursos [Direct3D 9]).
Para obtener más información sobre el uso de búferes de vértices dinámicos, vea Optimizaciones de rendimiento (Direct3D 9).
D3DUSAGE_DYNAMIC y D3DPOOL_MANAGED no son compatibles y no deben usarse juntos. Consulte D3DPOOL.
Las texturas pueden especificar D3DUSAGE_DYNAMIC. Sin embargo, las texturas administradas no pueden usar D3DUSAGE_DYNAMIC. Para obtener más información sobre las texturas dinámicas, consulte Uso de texturas dinámicas.
D3DUSAGE_NONSECURE
Permitir que una superficie compartida creada por una aplicación segura se abra mediante una aplicación no segura que tenga el identificador compartido.
Diferencias entre Direct3D 9 y Direct3D 9Ex: Esta marca solo está disponible en Direct3D 9Ex.
D3DUSAGE_NPATCHES
Se establece para indicar que el búfer de vértices se va a usar para dibujar N revisiones.
D3DUSAGE_POINTS
Se establece para indicar que el búfer de vértices o índices se usará para sprites de punto de dibujo. El búfer se cargará en la memoria del sistema si se necesita procesamiento de vértices de software para emular sprites de punto.
D3DUSAGE_RENDERTARGET
El recurso será un destino de representación. D3DUSAGE_RENDERTARGET solo se puede usar con D3DPOOL_DEFAULT.
D3DUSAGE_RTPATCHES
Se establece para indicar que el búfer de vértices se va a usar para dibujar primitivos de orden alto.
D3DUSAGE_SOFTWAREPROCESSING
Si se usa esta marca, el procesamiento de vértices se realiza en software. Si no se usa esta marca, el procesamiento de vértices se realiza en hardware.
La marca de D3DUSAGE_SOFTWAREPROCESSING se puede establecer cuando el procesamiento de vértices de software o modo mixto (D3DCREATE_MIXED_VERTEXPROCESSING / D3DCREATE_SOFTWARE_VERTEXPROCESSING) está habilitado para ese dispositivo. D3DUSAGE_SOFTWAREPROCESSING debe establecerse para que los búferes se usen con el procesamiento de vértices de software en modo mixto, pero no debe establecerse para obtener el mejor rendimiento posible al usar el procesamiento de índices de hardware en modo mixto (D3DCREATE_HARDWARE_VERTEXPROCESSING). Sin embargo, establecer D3DUSAGE_SOFTWAREPROCESSING es la única opción cuando se usa un único búfer con el procesamiento de vértices de hardware y software. D3DUSAGE_SOFTWAREPROCESSING se permite para dispositivos mixtos y de software.
D3DUSAGE_SOFTWAREPROCESSING se usa con CheckDeviceFormat para averiguar si se puede usar un formato de textura determinado como textura de vértice durante el procesamiento de vértices de software. Si es posible, la textura debe crearse en D3DPOOL_SCRATCH.
D3DUSAGE_TEXTAPI
Esta marca de uso debe especificarse para los búferes de vértices y las superficies de origen, que se usan en llamadas a ComposeRects. Las extures T creadas con esta marca de uso no se pueden usar para el filtrado de texturas. Los búferes de vértices, creados con esta marca de uso, no se pueden usar como orígenes de flujo de entrada.
Diferencias entre Direct3D 9 y Direct3D 9Ex: Esta marca solo está disponible en Direct3D 9Ex.
D3DUSAGE_WRITEONLY
Informa al sistema de que la aplicación escribe solo en el búfer de vértices. El uso de esta marca permite al controlador elegir la mejor ubicación de memoria para las operaciones de escritura y la representación eficaces. Se producirá un error en los intentos de lectura desde un búfer de vértices creado con esta funcionalidad. Los búferes creados con D3DPOOL_DEFAULT que no especifican D3DUSAGE_WRITEONLY pueden sufrir una penalización grave del rendimiento. D3DUSAGE_WRITEONLY solo afecta al rendimiento de los búferes de D3DPOOL_DEFAULT .
D3DUSAGE_RESTRICTED_CONTENT
Si se establece esta marca, se indica que el recurso puede contener contenido protegido.
Diferencias entre Direct3D 9 y Direct3D 9Ex: Esta marca solo está disponible en Direct3D 9Ex.
D3DUSAGE_RESTRICT_SHARED_RESOURCE
Establecer esta marca indica que se debe restringir el acceso al recurso compartido.
Diferencias entre Direct3D 9 y Direct3D 9Ex: Esta marca solo está disponible en Direct3D 9Ex.
D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER
Al establecer esta marca, se indica que el controlador debe restringir el acceso al recurso compartido. El autor de la llamada debe crear un canal autenticado con el controlador. A continuación, el controlador debe permitir el acceso a los procesos que intentan abrir ese recurso compartido.
Diferencias entre Direct3D 9 y Direct3D 9Ex: Esta marca solo está disponible en Direct3D 9Ex.

Observaciones

Combinaciones de uso y recursos

Los usos se especifican cuando se crea un recurso o se especifican con CheckDeviceType para probar la funcionalidad de un recurso existente. En la tabla siguiente se identifican los usos que se pueden aplicar a los tipos de recursos.

Uso Creación del búfer de vértices Creación del búfer de índice Creación de texturas Creación de texturas de cubo Creación de texturas de volumen Creación de Surface Comprobación del formato del dispositivo
D3DUSAGE_AUTOGENMIPMAP x x x
D3DUSAGE_DEPTHSTENCIL x x x x
D3DUSAGE_DMAP x x
D3DUSAGE_DONOTCLIP x x
D3DUSAGE_DYNAMIC x x x x x x
D3DUSAGE_NONSECURE x x x x x x x
D3DUSAGE_NPATCHES x x
D3DUSAGE_POINTS x x
D3DUSAGE_RTPATCHES x x
D3DUSAGE_RENDERTARGET x x x x
D3DUSAGE_SOFTWAREPROCESSING x x x x x x
D3DUSAGE_TEXTAPI x x
D3DUSAGE_WRITEONLY x x

 

Use CheckDeviceFormat para comprobar la compatibilidad de hardware con estos usos.

Cada uno de los métodos de creación de recursos se muestra aquí.

Las funciones de texturing D3DXCreatexxx también usan algunos de estos valores constantes para la creación de recursos.

Para más información sobre los tipos de grupo y sus restricciones con determinados usos, consulte D3DPOOL.

Requisitos

Requisito Value
Encabezado
D3d9types.h

Vea también

Constantes de Direct3D

D3DUSAGE_QUERY

D3DDECLUSAGE

D3DPOOL