我对DirectX 11非常陌生。我想创建一个简单的2D纹理(ID3D11Texture2D类型)。我阅读了有关CreateTexture2D的文档,并理解:
pDesc是我们定义图像的方式。
pInitialData包含表示图像纹理每个像素的字节数组。
ppTexture2D是我们的结果-用于DirectX 11的2D纹理。
我想创建一个非常简单的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.
非常感谢您。
DirectXColors.h
头文件,其中提供了所有 .NET Colors 在 sRGB-colorspace 中的值。您可以使用XMColorSRGBToRGB
将这些常量转换为 线性颜色空间。 - Chuck Walbourn