Я очень новичок в Direct X 11. Я хочу создать простую 2d-текстуру (типа ID3D11Texture2D). Я прочитал документ о CreateTexture2D, и я это понимаю:DirectX 11 - Как создать очень простую 2D-текстуру
pDesc как мы определяем изображение.
pInitialData содержит массив байтов представляет каждый пиксель изображения текстуры
ppTexture2D наш результат - 2D текстуры для DirectX 11.
Я хочу создать очень простой 2D текстуры : розовый прямоугольник. Но я не знаю, как создать массив байтов для розового прямоугольника. У меня есть код ниже:
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.
Спасибо очень много.
Обратите внимание, что создание одиночных пиксельных текстур может быть полезно для уменьшения количества шейдеров, не дифференцируя шейдеры с текстурами и без них. – Matthias