Вопрос c++ и b3d
Хочу попробовать написать эффект glow для б3д на си, мне интересны две вещи:
1) как получить содержимое заднего (экранного, текстурного) буффера блица для последующей обработки? 2)как его вернуть блицу? Извините, если тема повторная, я с мобильного, искать неудобно :-) |
Re: Вопрос c++ и b3d
ну перехватываеш хендл DX7 Device и копаеш дальше в C++ как с DX7 :)
|
Re: Вопрос c++ и b3d
Хендл_буфера + 4 = указатель на содержимое буфера. Чтобы передать его в длл, надо в decls-файле в качестве типа параметра указать *, например
Код:
MyFunc(buffer_ptr*):"_MyFunc@4" Можно просто передать как целочисленный параметр. В С нужно будет сделать преобразование типа тогда. Тут инфа про необходимые смещения http://blitz.pp.ru/forum/showthread.php?s=&threadid=203 |
Re: Вопрос c++ и b3d
можеш reinterpret_cast<>() заюзать, для перевода простой смертной переменной в указатель на чтолибо.
|
Ответ: Вопрос c++ и b3d
А можно и просто получить указатель на устройство, и использовать функцию IDirect3DDevice7::GetBackBuffer().
>как его вернуть блицу? никак не надо. Ты получаешь указатель на буфер, а не его копию. Тоесть ты блокируешь его, делаешь своё дело, разблокируешь и данные уже записаны в бэк-буфер. |
Ответ: Вопрос c++ и b3d
-=Jack=-, полезно !
|
Часовой пояс GMT +4, время: 15:14. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot