HLFX.Ru Forum Страницы (8): « 1 2 3 4 [5] 6 7 8 »
Показать все 109 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Телевизор в ХЛ (https://hlfx.ru/forum/showthread.php?threadid=1040)


Отправлено CrazyRussian 11-08-2010 в 12:03:

Цитата:
fire64 писал:
в tri.cpp в функцию HUD_DrawNormalTriangles добавил:

Ага, и каждый кадр грузишь видео, когда надо один раз (из CHud::VidInit наверное)

Цитата:
fire64 писал:
И еще, что такое R_FrameTime ?

Время за которое у нас кадр отрисовался, как я помню, в халфе можно взять его из pparams->frametime.
Цитата:
fire64 писал:
ошибки в консоли:

файл с видео не найден, очевидно же, все потому что он грузиться из папки data а не из папки мода.
C++ Source Code:
avi_tex->Avi=new AVIKit(VA("data/textures/video/%s.avi",vidname));

data надо заменить на название папки мода, а еще лучше заменить вот так:
C++ Source Code:
avi_tex->Avi=new AVIKit(VA("%s/textures/video/%s.avi",gEngfunc.pfnGetGameDirectory(),vidname));


Цитата:
fire64 писал:
что в том, что ты прилепил вообще части кода не хватает.

Ой ой ой, у меня на диске файл в нормальном виде, наверное форум покорежил, вот перезалил в архиве для надежности.

__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов


Отправлено fire64 11-08-2010 в 13:38:

CrazyRussian, вот, это уже совсем другое дело.

Ладно, с этим разобрался.
В консоли теперь при загрузке карты сообщение:

Loading avi valve/media/valve.avi - 361 frames,Audio: 44100 Hz 4 bps 2 channels 16bit

но рендерить не хочет

Короче пока сделал так:

в tri.cpp в начале файла добавил

C++ Source Code:
bool g_blReplaceTexture = true;


потом в HUD_DrawTransparentTriangles добавил

C++ Source Code:
1
if( g_blReplaceTexture )
2
{
3
  model_t *world = gEngfuncs.GetEntityByIndex(0)->model;
4
 
5
  texture_t** tex = (texture_t**)world->textures;
6
 
7
  for (int i = 0; i < world->numtextures; i++)
8
  {
9
    LoadAviForTexture( tex[i] );
10
  }
11
 
12
  g_blReplaceTexture = false;
13
}


в файле view.cpp в функцию V_CalcRefdef добавил RefreshBspAvis()

гм
походу проблема в RefreshBspAvis

int f = tex->Avi->getVideoFrameNumber(tex->frame/25);

возвращает 0, хотя ( tex->frame/25 ) правильное, то есть секунды входящие в видео.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Дядя Миша 11-08-2010 в 13:42:

видео должно играться со скоростью 25 кадров в секунду.
А ресемплинг на лету - не такой уж и медленный, если видео не сильно большого разрешния, например 320х200

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено fire64 11-08-2010 в 14:17:

Ок. ну тогда скиньте мне что ли валидный Avi файл, так как valve.avi из HL2DM похоже не подходит.

Добавлено 11-08-2010 в 18:17:

Нет. видео файл нормальный, я уже хз в чем дело, но видео не работает.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено CrazyRussian 11-08-2010 в 14:19:

fire64
Лови, кусочек онемешки которой я тестировал код - http://rghost.ru/2319781

__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов


Отправлено fire64 11-08-2010 в 14:33:

CrazyRussian, ок теперь вижу результат.

Правда несколько отрицательный.

Экран стал белого цвета, при использовании моих файлов он оставался черным

int f = tex->Avi->getVideoFrameNumber(tex->frame/25);

по прежнему возвращает 0.

очень странно.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено CrazyRussian 11-08-2010 в 14:41:

fire64 дай угадаю, R_FrameTime написал вот так:

C++ Source Code:
1
int R_FrameTime()
2
{
3
  return pparams->frametime;
4
}

?

__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов


Отправлено fire64 11-08-2010 в 14:58:

хм
Так вот, эксперименты показали следующее.

если в функции LoadAviForTexture, перед glTexImage2D поставить return;

ТО изображение рендерится, НО из далека экран кажется черным, изображение видно только в близи и под определенным углом и то оно лишь частично отображается.

Если же не использовать return и дать запустить glTexImage2D. то экран становится белым.

есть подозрения на карту.

Добавлено 11-08-2010 в 18:58:

Добавил в код

C++ Source Code:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);


теперь работает, хотя опять же не все гладко, изображении двоится, хотя это возможно просто копирование текстур в самом движке.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено CrazyRussian 11-08-2010 в 15:11:

Цитата:
fire64 писал:
теперь работает, хотя опять же не все гладко, изображении двоится, хотя это возможно просто копирование текстур в самом движке.

Текстуру надо растянуть на весь браш, и перевернуть.

__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов


Отправлено Дядя Миша 11-08-2010 в 15:17:

fire64 откуда ты запускаешь рендеринг видео?
не из HUD_Redraw ли?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено fire64 11-08-2010 в 15:25:

Дядя Миша, я обновляю кадр из V_CalcRefdef

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Дядя Миша 11-08-2010 в 15:40:

Цитата:
fire64 писал:
Дядя Миша, я обновляю кадр из V_CalcRefdef

так делать нельзя ни в коем случае. Додумался.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено PLut 11-08-2010 в 15:48:

Дядя Миша А как будет по-хорошему?

__________________
Base Defense on Steam, ModDB


Отправлено Дядя Миша 11-08-2010 в 15:58:

из HUD_Redraw, я жы написал выше.
Ну вы же на весь экран видио рисуете или нет?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено CrazyRussian 11-08-2010 в 16:00:

Цитата:
Дядя Миша писал:
Ну вы же на весь экран видио рисуете или нет?

не знаю как там fire64 сделал, но в моей реализации предполагается что видео рисуется на брашах.

__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов


Временная зона GMT. Текущее время 17:07. Страницы (8): « 1 2 3 4 [5] 6 7 8 »
Показать все 109 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024