ПрограммированиеФорумГрафика

Вывод видео на плоскость

#0
19:30, 27 янв 2010

Собственно как можно с помощью directX, желательно без сторонних библиотек, отрисовать видео файл(например avi), на плоскость?
желательно с примерами или хорошим алгоритмом.

#1
19:35, 27 янв 2010

Используй DirectShow. Примеры должны быть в SDK.

#2
19:36, 27 янв 2010

представляешь видео-файл ввиде последовательного набора текстур (по кардам) и на нужном материале просто меняешь текстуру.

#3
19:42, 27 янв 2010

В книге "DirectX продвинутая анимация" Джима Адамса, подробно описано.

#4
19:54, 27 янв 2010

> Примеры должны быть в SDK.
Пример DShow назывался Texture3D9 Sample. Техника заключалась в online рендеринге видеопотока в Texture3D. Он теперь deprecated и найти его можно только в старых сборках. Вру, сохранился. :) Лежит в папке: %Microsoft_SDKs_Root%\Windows\v6.1\Samples\Multimedia\DirectShow\Players\Texture3D9

> представляешь видео-файл ввиде последовательного набора текстур (по кардам) и
> на нужном материале просто меняешь текстуру.
Лучше всего предварительно нарендерить текстуры в каком нибудь редакторе и объединить их в одну Texture3D, а затем ее загружать.

XuX.programs
Если у себя не найдешь, могу выложить.

#5
21:09, 27 янв 2010

destrator
> объединить их в одну Texture3D
это ж каких размеров получица текстура!

#6
22:25, 27 янв 2010

0r@ngE
> это ж каких размеров получица текстура!
Смотря какой файл :)

#7
11:37, 28 янв 2010

destrator
выложи плиз..

#8
19:19, 28 янв 2010

0r@ngE
> это ж каких размеров получица текстура!
Обычных размеров, ширина видео х высота видео х байтнапиксель.
Кадры на ходу раскодируются и бросаются в видеопамять.

#9
22:08, 28 янв 2010

0r@ngE
> это ж каких размеров получица текстура!
нужно ж не весь файл читать. : D  А  по, скажем, 300 кадров. И ещё буфер дополнительный не помешает.

#10
23:08, 28 янв 2010

 L 
а толку? тогда проще в 2D-текстуру читать

#11
23:30, 28 янв 2010

0r@ngE
> а толку?
толку от чего? От буферизированной подгрузки видео?? : ))

а ты представляешь, сколько будет весить 5 минутное видео 1280*1024 в виде набора 2D текстур? За раз загруженных? 1 кадр будет весить 5 метров если не юзать сжатие.  предположим 24 ФПС видео.  1секунда = 120 метров! 5 минут = 36 гб : )  Это конечно по-максимуму но даже если сжать , всёравно слишком много будет.

#12
0:08, 29 янв 2010

XuX.programs
DirectShow Texture3D9 Sample

ПрограммированиеФорумГрафика

Тема в архиве.