Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Создание текстуры |
Автор: Mastkir 17.11.2008, 15:48 |
Доброго Дня! ![]() Для увеличения быстродействия, рисую на текстурах средствами 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 взять можно было), а мне нужно чтобы фон у текстуры был прозрачным. Как можно этого добиться? ![]() |