Как создать PDIRECT3DTEXTURE9 из OPENCV Mat на C ?

#c #directx #directx-9

Вопрос:

Я хочу создавать PDIRECT3DTEXTURE9 , но не знаю как. У меня есть данные моего изображения в памяти в OpenCV Mat (есть указатель на необработанные данные, в основном массив или байтовые значения [r g b, r g b, r g b, ….], что-то подобное). Я нашел эту функцию:

  `HRESULT D3DXCreateTextureFromFileInMemory(
  _In_  LPDIRECT3DDEVICE9  pDevice,    
  _In_  LPCVOID            pSrcData,    
  _In_  UINT               SrcDataSize,
  _Out_ LPDIRECT3DTEXTURE9 *ppTexture
);
 

но я не знаю, какой формат ожидает LPCVOID pSrcData . Есть информация, что он ожидает файл, такой как bmp или png, но я не уверен, что это означает. Должен ли я сделать в памяти массив с заголовком файла BMP и данными? Это звучит довольно сложно…

Я даже не уверен, что эта функция-лучший способ достичь того, чего я хочу. Я почти ничего не знаю о directx и текстурах, поэтому буду признателен за любую помощь.