Решил сделать эффект взрыва, нашёл AVI файл. Теперь у меня два вопроса: Как организовать воспроизведение из AVI файла и как сделать billboard. Пожалуйста помогите решить эту проблему.
ну самое тяжелое ты уже сделал :)
если гапи OpenGL, то вот статьи:
воспроизведение AVI:
http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=35
про биллборды:
http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=19
HolyDel
> если гапи OpenGL, то вот статьи
Совсем забыл написать что использую.
Я не втыкал в эту тему, но вот, где бы я начал копать:
- DirectShow avi в текстуре (в Windows SDK вроде был пример)
- Avi перевести в последовательность изображений (с помощью Premiere к примеру) и менять текстуры в нужных кадрах
kroonk
> Как организовать воспроизведение из AVI файла
ух ты моя любимая сфера :)))
Берешь ffmpeg + шейдер yuv чтоб не грузить проц yuv->rgb - это идеальное решение - в топку этот кривой dshow - наелся им в свое время.
ЗЫ
ffmpeg - не зависишь ни от кодеков - ни от чего!
kroonk
> Решил сделать эффект взрыва, нашёл AVI файл.
Жесть какая... А почему так сурово?
П.С. Немного намекну, что обычно используется простая текстура с кадрами эффекта, но не ави это точно...
ezhickovich
> используется простая текстура с кадрами эффекта
Была такая идея но кадров я не нашёл а разделить тот AVI файл на текстуры у меня не получилось.
fsmoke
> шейдер
Вообще не нравятся мне эти шейдеры(хотя в современном мире без них похоже никак) хотелось бы бесшейдерную реализацию.
fsmoke
> Берешь ffmpeg + шейдер yuv чтоб не грузить проц yuv->rgb - это идеальное
> решение - в топку этот кривой dshow - наелся им в свое время
+100500.
kroonk
http://pmg.org.ru/nehe/nehe35.htm - здесь по воспроизведение AVI в OGL текстуру, код заливки текстуры сдандартный - можно легко переписать на DX, а код который читает AVI файл по кадрам везде одинаков.
Лучьше раздели AVI на текстурки и склей в один атласс.
PS
В упомянутой статье есть asm вставка, лучше реализуй без нее.
kroonk
> Вообще не нравятся мне эти шейдеры
мне вообще эти компы надоели -всю жизнь с ними - хочется огород вскопать штоле :))
Try
> Лучьше раздели AVI на текстурки и склей в один атласс.
это идеальный случай - особенно если кадров эдак 50 всего :))))
с учетом что идеальная скорость 25к/с ну пусть даже 24к/с(кстати 25 идеально синхронизируется его не надо размазывать по таймлайну как 24) - вашего видика хватит на 2 секунды - да если это мегашум в телевизоре :))) то этого хватит. Но если что-то осознанное - очевидно тут одним атласом не обойтись - это раз - а два подумайте нужно ли забивать этими ненужными атласами видеопамять(если конечно их очень много) - не дешевле ли просто гнать поток с цпу :)) - тем более цпу ща мощные - у меня вон 1080р на core i7 занимает 1%(ЧИСТО НА СОФТЕ - эт я на всякий случай:)).
Ведь если это игра - то там же не в каждом углу по телеку стоять будет.
ЗЫ
Так что тут 2 подхода - выбирать вам - я лишь показал разницу
fsmoke
а скорость чтения с жесткого диска?
нужна какая-то буферизация, ну это если фильм собираетесь воспроизводить (гигабайт хотя бы весом)
Try
> Лучьше раздели AVI на текстурки и склей в один атласс.
Как это сделать. Я пробовал в photoshop extended сувать но он говорит: "Невозможно выполнить запрос: поскольку требуется версия QuickTime 7.1 или более поздняя".
Удалось разрезать видео на кадры но как-то неправильно видео 2 секунды а кадров 21. А как сделать billboard?
kroonk, слушай, у тебя гугл не работает что ли? На такие нубские вопросы он более чем в состоянии ответить.
Тема в архиве.
Тема закрыта.