@Recardo_Recoly

Как отрендерить буфер unsigned char* в D3D9 C++?

Есть у меня приложение которое использует рендер с помощью d3d9 и есть массив rgba пиксилей (каждые 4 ячейки = писель).
Так вот... Как это превратить в d3d текстуру ?
PS: Использую Awesomium. И хочу как то рендерить его в окне игры скажем так.
А рендерить мне нужно через d3d.
  • Вопрос задан
  • 163 просмотра
Решения вопроса 1
@tomatho
Я знаю два варианта.

Первый - динамическая текстура. Ключевые слова:

Теперь немного деталей:
Usage: D3DUSAGE_DYNAMIC. Если нельзя - то обычная. Как проверить можно или нет - вторая ссылка.
Формат: D3DFMT_X8R8G8B8 либо D3DFMT_A8R8G8B8 либо конвертируя на лету в D3DFMT_R8G8B8.
Мипмапы: нет. Объяснение по второй ссылке.

Чтобы разобраться - берешь любой сэмпл с текстурированым квадратом/треугольником и в нём просто меняешь текстуру на свою и тестишь. Затем уже меняешь формат, и usage (использование).

Второй вариант - blt прям на surface. Теоретически можно. Практически - не проверял.
Минусы - нельзя крутить вертеть, и так как это не текстура - соответственно нельзя наложить на мэш. (например нельзя отобразить как в экране некоторого виртуального монитора)
Возможно и плюсов нет, но посмотреть в эту сторону тоже можно.
Ключевое:


PS: Ах да, забыл сказать. Даже не спрашивай меня про DX10+
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы