video in OpenGL
От: anatoliy(zzz) Украина http://herocraft.com
Дата: 21.03.03 23:19
Оценка:
Здравствуйте!

Поделитесь секретом, кто какими методами выводт видео-данные через жль? (имееются в виду любые данные, представленные в виде набора кадров, т.е. всё уже распаковано и лежит в готовом виде — нужно его только отрисовать на экране)

Заранее спасибо!
С уважением, Анатолий. Технический директор Herocraft Ukraine
--
Главный Метод Разработки ПО:К верхнему днищу бака было приварено треугольное отверстие диаметром три на четыре.
Re: video in OpenGL
От: HeaveN Россия  
Дата: 22.03.03 22:55
Оценка:
Здравствуйте, anatoliy(zzz), Вы писали:

AZ>Поделитесь секретом, кто какими методами выводт видео-данные через жль? (имееются в виду любые данные, представленные в виде набора кадров, т.е. всё уже распаковано и лежит в готовом виде — нужно его только отрисовать на экране)


Может быть здесь: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=35
Нет такого закона, что человеку летать нельзя...
Re[2]: video in OpenGL
От: anatoliy(zzz) Украина http://herocraft.com
Дата: 23.03.03 00:24
Оценка:
Здравствуйте, HeaveN, Вы писали:

HN>Здравствуйте, anatoliy(zzz), Вы писали:


AZ>>Поделитесь секретом, кто какими методами выводт видео-данные через жль? (имееются в виду любые данные, представленные в виде набора кадров, т.е. всё уже распаковано и лежит в готовом виде — нужно его только отрисовать на экране)


HN>Может быть здесь: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=35

Ну, это второй из уже испробованных мной вариантов.
Там сделано через TexSubImage, который у меня на 512х512 снижает fps в два раза! (и это на gf4 ti4200 )

Причем не помогает даже PixelDataRangeNV.

А может можно как-то не через ЖЛь это делать? Мне по сути надо просто видеоизображение нарисовать поверх отрендеренной картинки.
С уважением, Анатолий. Технический директор Herocraft Ukraine
--
Главный Метод Разработки ПО:К верхнему днищу бака было приварено треугольное отверстие диаметром три на четыре.
Re[3]: video in OpenGL
От: HeaveN Россия  
Дата: 23.03.03 08:43
Оценка:
Здравствуйте, anatoliy(zzz), Вы писали:

AZ>А может можно как-то не через ЖЛь это делать? Мне по сути надо просто видеоизображение нарисовать поверх отрендеренной картинки.


Так, размышления вслух (сам не пробовал):
1) создаем Direct Draw Surface;
2) получаем DC (surface -> GetDC (...));
3) используем DC для создания контекста GL;
4) рендерим методами GL, а видео выводим методами DirectShow (пример есть в Platform SDK);

Может конечно туповато...
Нет такого закона, что человеку летать нельзя...
Re: video in OpenGL
От: VertexDev Россия  
Дата: 24.03.03 12:42
Оценка: 9 (1)
Здравствуйте, anatoliy(zzz), Вы писали:

()>Здравствуйте!

()>Поделитесь секретом, кто какими методами выводт видео-данные через жль? (имееются в виду любые данные, представленные в виде набора кадров, т.е. всё уже распаковано и лежит в готовом виде — нужно его только отрисовать на экране)

()>Заранее спасибо!

Вот что хочу посоветовать пользуйся DirectX. Там все намного проще
... << RSDN@Home 1.0 beta 6a >>
Re[3]: video in OpenGL
От: VertexDev Россия  
Дата: 24.03.03 18:46
Оценка:
Здравствуйте, anatoliy(zzz), Вы писали:

()>А может можно как-то не через ЖЛь это делать? Мне по сути надо просто видеоизображение нарисовать поверх отрендеренной картинки.

Вот тебе пара десятков функций по работе с видеоизображениями (AVI), может подойдет
AVIBuildFilter() 
AVICLearClipboard() 
AVIFileAddRef() 
AVIFileCreateStream() 
AVIFileEndRecord() 
AVIFileExit() 
AVIFileGetStream() 
AVIFileInfo() 
AVIFileInit() 
AVIFileOpen() 
AVIFileReadData() 
AVIFileRelease() 
AVIFileWriteData() 
AVIGetFromClipboard() 
AVIMakeCompressedStream() 
AVIMakeFileFromStream() 
AVIMakeStreamFromClipboard() 
AVIPutFileOnClipboard() 
AVISave() 
AVISaveOptions() 
AVISaveOptionsFree() 
AVISaveV() 
AVIStreamAddRef() 
AVIStreamBeginStreaming() 
AVIStreamCreate() 
AVIStreamEndStreaming() 
AVIStreamCreate() 
AVIStreamEndStreaming() 
AVIStreamFindSample() 
AVIStreamGetFrame() 
AVIStreamGetFrameClose() 
AVIStreamGetFrameOpen() 
AVIStreamInfo() 
AVIStreamLength() 
AVIStreamOpenFromFile() 
AVIStreamRead() 
AVIStreamReadData() 
AVIStreamReadFormat() 
AVIStreamRelease() 
AVIStreamSampleToTime() 
AVIStreamSetFormat() 
AVIStreamStart() 
AVIStreamTimeToSample() 
AVIStreamWrite() 
AVIStreamWriteData() 
CreateEditableStream() 
EditStreamClone() 
EditStreamCopy() 
EditStreamCut() 
EditStreamPaste() 
EditStreamSetInfo() 
EditStreamSetName() 
ICClose() 
ICCompress() 
ICCompressorChoose() 
ICCompressorFree() 
ICDecompress() 
ICDecompressEx() 
ICDecompressExBegin() 
ICDecompressExQuery() 
ICDraw() 
ICDrawBegin() 
ICDrawSuggestFormat() 
ICGetInfo() 
ICGetDisplayFormat() 
ICImageCompress() 
ICImageDecompress() 
ICInfo() 
ICInstall() 
ICLocate() 
ICOpen() 
ICOpenFunction() 
ICRemove() 
ICSendMessage() 
ICSeqCompressFrame() 
ICCompressFrameEnd() 
ICCompressFrameStart() 
ICGetStatusProc() 
MyStatusProc()
... << RSDN@Home 1.0 beta 6a >>
Re[3]: video in OpenGL
От: Front Россия  
Дата: 07.04.03 11:40
Оценка:
Здравствуйте, anatoliy(zzz), Вы писали:

AZ>Причем не помогает даже PixelDataRangeNV.

А Вы не могли бы пример использования PixelDataRangeNV опубликовать?

Алексей
Front
Re[4]: video in OpenGL
От: anatoliy(zzz) Украина http://herocraft.com
Дата: 07.04.03 22:08
Оценка:
Здравствуйте, Front, Вы писали:

F>А Вы не могли бы пример использования PixelDataRangeNV опубликовать?

К сожалению, уже нет. Он был частью большого проекта и был из него по-кускам удален.

Да там собственно никакой сложности нет в его использовании — инициализируем экстеншн, выделяем если хотим память wglAllocate..., и по размеру этой памяти ставим сам glPixelDataRangeNV с указателем на эту память.
С уважением, Анатолий. Технический директор Herocraft Ukraine
--
Главный Метод Разработки ПО:К верхнему днищу бака было приварено треугольное отверстие диаметром три на четыре.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.