Ich bin sehr neu in Direct X 11. Ich möchte eine einfache 2D-Textur (vom Typ ID3D11Texture2D) erstellen. Ich habe das Dokument über CreateTexture2D gelesen und ich verstehe, dass:DirectX 11 - So erstellen Sie eine sehr einfache 2D-Textur
pDesc ist, wie wir das Bild definieren.
pInitialData das Array von Bytes enthält
jedes Pixel des Bildes Textur präsentiertppTexture2D ist unser Ergebnis - die 2D-Textur für DirectX 11.
ich eine sehr einfache 2D-Textur erstellt werden soll : ein rosa Rechteck. Aber ich weiß nicht, wie man das Array von Bytes für das rosa Rechteck erstellt. Ich habe den Code unten:
D3D11_TEXTURE2D_DESC Desc;
D3D11_SUBRESOURCE_DATA InitialData;
ID3D11Texture2D* pTexture2D;
Desc.Usage = D3D11_USAGE_DEFAULT;
BYTE* array;//How to have an array of Pink rectangle?
InitialData.pSysMem = array;
InitialData.SysMemPitch = 0;
InitialData.SysMemSlicePitch = 0;
m_device->CreateTexture2D(&Desc, &InitialData, &pTexture2D);//ID3D11Device m_device has been created before.
Thank you very much.
Beachten Sie, dass das Erstellen von einzelnen Pixel-Texturen nützlich sein kann, um die Anzahl der Shader zu verringern, indem Sie nicht zwischen Shadern mit und ohne Texturen unterscheiden. – Matthias