Пишу сюда а не в "Програмирование в среде .нет", т.к. вопрос больше про DirectX чем про .net....
Есть код на vb.net использующий direct3d. Обозначим условно
Public sub InitializeDevice
----
End sub
Public sub Render_loop
While not end_loop
device.beginScene
-------------
тут до фига всего рендериться\
--------------
device.endscene
end while
end sub
Нужно на одной из текстур показывать видеофайл.
От класса AudioVideoPlayback после долгих мучений пришлось отказаться: он рендерит в текстуру, но пользоваться ей можно только когда он райзит свой собственный эвент. Между эвентами текстура пустая, так что в основной цикл её не засунешь. Копирование и передача через surface не помогла....
Сейчас пробую DirectShow.
Главная проблема - нет примеров на VB, а С++ я не знаю...
Кое как нашёл пример аллокатора на с#. Переконвертировал как мог на VB. Класс подключился.
Как теперь им воспользоваться???
Из описания на с++ (мсдн), видно, что надо:
- Создать фильтр VMR9
- Запросить егойный интерфейс IVMRFilterConfig9
- Установить режим рендеринга RENDERLESS
- Уведомить (notify) фильтр VMR9 о моём custom аллокаторе, и наоборот.
- Вызвать процедуру RenderFile.
Вот как это всё сделать???
Помогите кто чем может.
Заранее спасибо!!!
И с Наступившим!!!!!
Есть код на vb.net использующий direct3d. Обозначим условно
Public sub InitializeDevice
----
End sub
Public sub Render_loop
While not end_loop
device.beginScene
-------------
тут до фига всего рендериться\
--------------
device.endscene
end while
end sub
Нужно на одной из текстур показывать видеофайл.
От класса AudioVideoPlayback после долгих мучений пришлось отказаться: он рендерит в текстуру, но пользоваться ей можно только когда он райзит свой собственный эвент. Между эвентами текстура пустая, так что в основной цикл её не засунешь. Копирование и передача через surface не помогла....
Сейчас пробую DirectShow.
Главная проблема - нет примеров на VB, а С++ я не знаю...
Кое как нашёл пример аллокатора на с#. Переконвертировал как мог на VB. Класс подключился.
Как теперь им воспользоваться???
Из описания на с++ (мсдн), видно, что надо:
- Создать фильтр VMR9
- Запросить егойный интерфейс IVMRFilterConfig9
- Установить режим рендеринга RENDERLESS
- Уведомить (notify) фильтр VMR9 о моём custom аллокаторе, и наоборот.
- Вызвать процедуру RenderFile.
Вот как это всё сделать???
Помогите кто чем может.
Заранее спасибо!!!
И с Наступившим!!!!!