Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание текстуры, проблема с прозрачностью 
:(
    Опции темы
Mastkir
Дата 17.11.2008, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 11.5.2006

Репутация: нет
Всего: нет



Доброго Дня!  smile 

Для увеличения быстродействия, рисую на текстурах средствами GDI. 
Делаю это следующим образом:

1. Создаю текстуру: 
    LPDIRECT3DTEXTURE9 texture;
    device->CreateTexture(512, 16, 1, 0, D3DFMT_X8R8G8B8, D3DPOOL_MANAGED, &texture, NULL);
2. Получаю surface:
  LPDIRECT3DSURFACE9 textureSurface;
  texture->GetSurfaceLevel(0, &textureSurface);
3. Получаю hdc:
  HDC hdc;
  textureSurface->GetDC(&hdc);
4. С помощью hdc рисую все, что мне нужно.

Все отлично. Действительно, быстрее работает, чем если рисоватть то-же средствами directX, НО!
Текстура получается без прозрачности (она была создана как D3DFMT_X8R8G8B8, а не D3DFMT_A8R8G8B8, чтобы потом GetDC взять можно было), а мне нужно чтобы фон у текстуры был прозрачным. 

Как можно этого добиться?   smile     Может быть, можно создать еще одну текстуру D3DFMT_A8R8G8B8, а затем скопировать мою текстуру туда, а заданный цвет (цвет фона) поменять на прозрачный? Пробовал использовать CreateOffscreenPlainSurface, и StretchRect, но пока без успеха :(
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0718 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.