Método ID3D11Device3::WriteToSubresource (d3d11_3.h)
Copia los datos en una textura de D3D11_USAGE_DEFAULT que se asignó mediante ID3D11DeviceContext3::Map al proporcionar un parámetro D3D11_MAPPED_SUBRESOURCE NULL.
Sintaxis
void WriteToSubresource(
[in] ID3D11Resource *pDstResource,
[in] UINT DstSubresource,
[in, optional] const D3D11_BOX *pDstBox,
[in] const void *pSrcData,
[in] UINT SrcRowPitch,
[in] UINT SrcDepthPitch
);
Parámetros
[in] pDstResource
Tipo: ID3D11Resource*
Puntero al recurso de destino ( id3D11Resource).
[in] DstSubresource
Tipo: UINT
Índice de base cero, que identifica el subrecurso de destino. Para obtener más información, consulte D3D11CalcSubresource.
[in, optional] pDstBox
Tipo: const D3D11_BOX*
Puntero a un cuadro que define la parte del subrecurso de destino en el que se van a copiar los datos del recurso. Si es NULL, los datos se escriben en el subrecurso de destino sin desplazamiento. Las dimensiones del origen deben ajustarse al destino (consulte D3D11_BOX).
Un cuadro vacío da como resultado una operación sin operación. Un cuadro está vacío si el valor superior es mayor o igual que el valor inferior, o el valor izquierdo es mayor o igual que el valor derecho, o el valor frontal es mayor o igual que el valor atrás. Cuando el cuadro está vacío, este método no realiza ninguna operación.
[in] pSrcData
Tipo: const void*
Puntero a los datos de origen en memoria.
[in] SrcRowPitch
Tipo: UINT
Tamaño de una fila de los datos de origen.
[in] SrcDepthPitch
Tipo: UINT
Tamaño de un segmento de profundidad de los datos de origen.
Valor devuelto
None
Observaciones
El recurso proporcionado debe ser una textura D3D11_USAGE_DEFAULT que se asignó para escribirla mediante una llamada anterior a ID3D11DeviceContext3::Map al proporcionar un parámetro D3D11_MAPPED_SUBRESOURCE NULL.
Esta API está pensada para llamar a con alta frecuencia. Los autores de llamadas pueden reducir la memoria realizando llamadas iterativas que actualizan regiones progresivas de la textura, al tiempo que proporcionan un pequeño búfer durante cada llamada. Sin embargo, es más eficaz especificar regiones lo suficientemente grandes, ya que esto permite a D3D rellenar líneas de caché completas en la textura antes de devolver.
Para mejorar la eficacia, asegúrese de que los límites y la alineación de las extensiones dentro del cuadro son ( 64 /[bytes por píxel] ) píxeles horizontalmente. Los límites verticales y la alineación deben ser 2 filas, excepto cuando se usan formatos de 1 byte por píxel, en cuyo caso se recomiendan 4 filas. Los segmentos de profundidad única por llamada se controlan de forma eficaz. Se recomienda, pero no es necesario proporcionar punteros y pasos que estén alineados con 128 bytes.
Al escribir en niveles de mapa mip secundarios, se recomienda usar un ancho y un alto mayores que los descritos anteriormente. Esto se debe a que los niveles de mapas mip pequeños pueden almacenarse realmente dentro de un bloque de memoria mayor, con una cantidad opaca de desplazamiento que puede interferir con la alineación con las líneas de caché.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | d3d11_3.h |
Library | D3D11.lib |