Método ID3D10Texture1D::Map (d3d10.h)
Obtenga un puntero a los datos contenidos en un subrecurso y deniegue el acceso de GPU a ese subrecurso.
Sintaxis
HRESULT Map(
[in] UINT Subresource,
[in] D3D10_MAP MapType,
[in] UINT MapFlags,
[out] void **ppData
);
Parámetros
[in] Subresource
Tipo: UINT
Número de índice del subrecurso. Consulte D3D10CalcSubresource para obtener más detalles.
[in] MapType
Tipo: D3D10_MAP
Especifica los permisos de lectura y escritura de la CPU para un recurso. Para obtener los valores posibles, consulte D3D10_MAP.
[in] MapFlags
Tipo: UINT
Marca que especifica lo que debe hacer la CPU cuando la GPU está ocupada. Esta marca es opcional.
[out] ppData
Tipo: void**
Puntero a los datos de recursos de textura.
Valor devuelto
Tipo: HRESULT
Si esta función se realiza correctamente, devuelve S_OK. Para otras restricciones y una lista de valores de error que cualquiera de los métodos Map puede devolver, vea Comentarios.
Comentarios
La asignación de una textura permite que la CPU acceda directamente a los datos subyacentes en el subrecurso de una textura. Para que el método se realice correctamente, la textura que se asigna debe crearse con las marcas adecuadas (vea D3D10_CPU_ACCESS_FLAG) y su uso especificado (vea D3D10_USAGE) debe ser D3D10_USAGE_DYNAMIC o D3D10_USAGE_STAGING.
Los siguientes valores devueltos indican errores comunes de los métodos Map :
Para obtener más información sobre los valores devueltos anteriores, vea DXGI_ERROR.
El mapa tiene las siguientes restricciones:
- Un único subrecurso no se puede asignar varias veces; es decir, no llame a Map en un subrecurso que ya está asignado.
- Cualquier subrecurso enlazado a la canalización debe desasignación antes de que se pueda ejecutar cualquier operación de representación (es decir, antes de que se pueda ejecutar ID3D10Device::D raw).
FLOAT* pTexels = (FLOAT*)pData;
for( UINT col = 0; col < width; col++ )
{
pTexels[col*4 + 0]; // Alpha
pTexels[col*4 + 1]; // Blue
pTexels[col*4 + 2]; // Green
pTexels[col*4 + 3]; // Red
}
Diferencias entre Direct3D 9 y Direct3D 10: El mapa en Direct3D 10 es análogo al bloqueo de recursos en Direct3D 9. |
Requisitos
Plataforma de destino | Windows |
Encabezado | d3d10.h |
Library | D3D10.lib |