ID3D10Texture1D::Map-Methode (d3d10.h)
Rufen Sie einen Zeiger auf die Daten ab, die in einer Unterressource enthalten sind, und verweigern Sie der GPU den Zugriff auf diese Unterressource.
Syntax
HRESULT Map(
[in] UINT Subresource,
[in] D3D10_MAP MapType,
[in] UINT MapFlags,
[out] void **ppData
);
Parameter
[in] Subresource
Typ: UINT
Indexnummer der Unterressource. Weitere Informationen finden Sie unter D3D10CalcSubresource .
[in] MapType
Typ: D3D10_MAP
Gibt die Lese- und Schreibberechtigungen der CPU für eine Ressource an. Mögliche Werte finden Sie unter D3D10_MAP.
[in] MapFlags
Typ: UINT
Flag , das angibt, was die CPU tun soll, wenn die GPU ausgelastet ist. Dieses Flag ist optional.
[out] ppData
Typ: void**
Zeiger auf die Texturressourcendaten.
Rückgabewert
Typ: HRESULT
Wenn diese Funktion erfolgreich ist, gibt sie S_OK zurück. Weitere Einschränkungen und eine Auflistung der Fehlerwerte, die von einer der Map-Methoden zurückgegeben werden können, finden Sie unter Hinweise.
Hinweise
Durch die Zuordnung einer Textur kann die CPU direkt auf die zugrunde liegenden Daten in der Unterquelle einer Textur zugreifen. Damit die Methode erfolgreich ist, muss die zugeordnete Textur mit den entsprechenden Flags (siehe D3D10_CPU_ACCESS_FLAG) erstellt werden, und die angegebene Verwendung (siehe D3D10_USAGE) muss entweder D3D10_USAGE_DYNAMIC oder D3D10_USAGE_STAGING sein.
Häufige Fehler von Map-Methoden werden durch die folgenden Rückgabewerte angezeigt:
Weitere Informationen zu den vorherigen Rückgabewerten finden Sie unter DXGI_ERROR.
Map weist die folgenden Einschränkungen auf:
- Eine einzelne Unterquelle kann nicht mehrmals zugeordnet werden. Mit anderen Worten: Rufen Sie Map nicht für eine Bereits zugeordnete Unterressource auf.
- Alle An die Pipeline gebundenen Unterressourcen müssen aufgehoben werden, bevor ein Rendervorgang (also vor ID3D10Device::D raw) ausgeführt werden kann.
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
}
Unterschiede zwischen Direct3D 9 und Direct3D 10: Die Zuordnung in Direct3D 10 entspricht der Ressourcensperre in Direct3D 9. |
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3d10.h |
Bibliothek | D3D10.lib |