HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Телевизор в ХЛ
Помощь всех желающих
Страницы (8): [1] 2 3 4 5 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Arrow Телевизор в ХЛ

Недавно я узнал про AviKit. Эта вещь позволяет воспроизводить avi-файлы внутри игр. Есть даже мод для ХЛ, телик работает по принципу монитора в Xash. Но сорцев мода нету. Я прошу всех заинтересованных помочь в разработке исходников. [Или XaeroX'a выложить то, что он по этому поводу делал ]

Здесь можно скачать мини-мод и исходники демок авикита:
http://randomnine.wootfu.com/project.php?p=18

Сообщить модератору | | IP: Записан
Сообщение: 23469

Старое сообщение 03-12-2007 08:34
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12901
Возраст: 32

Рейтинг



>> принципу монитора в Xash

Нифига не по принципу мониторов ...
Т.к. ксаш рисует на текстуру , авкит же рисует просто плоскость .... Но впринципе можно сделать и для текстуры , сделайте в движке "второй монтор" и заставьте на него проецировать ролик ...
Кстати там демокарта глючная ... Юзайте мою ...

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | | IP: Записан
Сообщение: 23522

Старое сообщение 04-12-2007 10:04
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Итак, вопрос: как сделать, чтобы энтитя считывалась непосредственно клиентской длл и все её параметры тоже?(естественно, на сервере она уже закреплена за классом)

Сообщить модератору | | IP: Записан
Сообщение: 23556

Старое сообщение 05-12-2007 08:13
- За что?
PoD-Stas
Житель форума

Дата регистрации: Jul 2007
Проживает: Харьков
Сообщений: 586
Возраст: 34

Рейтинг



Я считаю так же как в спирите спрайты на поверхности брашей ?! Это можна присобачить впринципе, но. Есть пару "но"

Сообщить модератору | | IP: Записан
Сообщение: 23673

Старое сообщение 09-12-2007 12:40
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Вот, поднял старую тему, не плюсуйте плз, мне нужно несколько советов:

1. откуда лучше вызывать загрузку видеоролика?
(Предполагаю, что это Hud_Init)

2. откуда вызвать обновление видеотекстуры(смена кадров) и что за переменную можно использовать в качестве времени воспроизведения?(Hud_Redraw, Hud_Think, CalcRefdef)

3. И есть ли способ не использовать fmod для воспроизведения звука? Или лучше можно ли подгрузить уже загруженную дллку фмода от MP3 плеера, чтобы музыка не остановилась и был звук из ролика?

Сообщить модератору | | IP: Записан
Сообщение: 27546

Старое сообщение 17-03-2008 16:45
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32210
Нанёс повреждений: 392 ед.

Рейтинг



-CJ- ну хватит уже с умным видом нести фигню
Ну эксперты кругом, куда ни плюнь!
Ku2zoff делай по принципу видеотекстур в ку3.
и вся недолга.

Добавлено 17-03-2008 в 20:11:

1. видеоролики грузить не нужно, они потоком проигрываются, можешь выполнять инициализацию по мессаге.
2. Обновлять из калкрефдеф
3. Вряд ли

Сообщить модератору | | IP: Записан
Сообщение: 27547

Старое сообщение 17-03-2008 17:11
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Дядя Миша по принципу видеотекстур из ку3? Я исходники глянул, чуть голову не сломал, решил больше в них не возвращаться(пока не закончу мод для ХЛ) Но всё-таки гляну как там сделано. Вообще я за основу взял монитор из ксаша. Я на него проецировал произвольные текстуры, вообще от фонаря взятые. Например детальную текстуру(но как в паранойе у меня всё равно не получилось )...
Придётся ещё качать статик либы фмода...

Сообщить модератору | | IP: Записан
Сообщение: 27548

Старое сообщение 17-03-2008 17:20
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32210
Нанёс повреждений: 392 ед.

Рейтинг



>>Придётся ещё качать статик либы фмода...
да ты его динамически подключи, в чем проблема-то?
а в кутри очень просто сделано и очень разумно, просто чтобы разобраться нужно время, загляни в cl_video.c

Сообщить модератору | | IP: Записан
Сообщение: 27549

Старое сообщение 17-03-2008 17:36
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12901
Возраст: 32

Рейтинг



Дядя Миша Ты дату поста смотрел ?
хотя насчет плоскости всеже вохзможно я прав , т.к. в хамере даже задаётся его разрешение ....

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | | IP: Записан
Сообщение: 27552

Старое сообщение 17-03-2008 18:35
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32210
Нанёс повреждений: 392 ед.

Рейтинг



-CJ- у глупости, равно как и у правды не выходит срок (С)
а если ты не понимаешь что такое плоскость и как она образована - это не моя вина.

Сообщить модератору | | IP: Записан
Сообщение: 27553

Старое сообщение 17-03-2008 19:17
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
загляни в cl_video.c


Я нашёл тока ui_video.c Может версии исходников разные? У меня Quake v3-1.32b
В общем в авиките всё просто, надо только это правильно распихать по клиентской дллке ХЛ. И ещё найти способ создать область в которой и будет рисоваться текстура(можно отправить через мессагу индекс энтити и прилепить к её координатам и направлению + имя видеоролика и проч.).

Сообщить модератору | | IP: Записан
Сообщение: 27554

Старое сообщение 17-03-2008 20:29
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32210
Нанёс повреждений: 392 ед.

Рейтинг



А сорьки, не cl_video.c а cl_cin.c

code:
void Draw_StretchRaw (int x, int y, int w, int h, int cols, int rows, byte *data, bool dirty) { int i, j; qglFinish(); GL_Bind(0); qglTexImage2D (GL_TEXTURE_2D, 0, gl_tex_solid_format, cols, rows, 0, GL_RGBA, GL_UNSIGNED_BYTE, data ); qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gl_filter_max); qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gl_filter_max); R_SetGL2D(); qglColor4fv(gl_state.draw_color); qglBegin(GL_QUADS); qglTexCoord2f( 0.5f / cols, 0.5f / rows ); qglVertex2f (x, y); qglTexCoord2f((cols - 0.5f) / cols , 0.5f / rows ); qglVertex2f (x+w, y); qglTexCoord2f((cols - 0.5f) / cols, (rows - 0.5f) / rows ); qglVertex2f (x+w, y+h); qglTexCoord2f(0.5f / cols, ( rows - 0.5f )/rows ); qglVertex2f (x, y+h); qglEnd(); }

Смысл в чем - грузим наш кадр в видеопамять, тут же его биндим и рисуем. Поскольку кадров в секунду получается штук 15-20, а размер кадра от силы 200х160 (мы же маленький телевизор делаем, верно?) то на общей производительности это никак не скажется.
Код в данном случае предназначен для отрисовки видео в полный экран, но никто нам не запретит скормить ему координаты какого-нибудь полигона на карте (ессно R_SetGl2D надо убрать и glFinish тоже).

Добавлено 18-03-2008 в 00:02:

Про область - все элементарно, смотри как подобная текстура для монитора находится в Xash. Нам понадобится текстура с ключевым именем, типа "video", новый флаг SURF_VIDEO (по аналогии с SURF_PORTAL и SURF_MIRROR) ну и все остальное можно тупо скопипастить из кода камеры.
Единственная разница - это то, что вместо
code:
void R_NewScreenRenderPass( void ) { if (m_pCurrentScreen) { glBindTexture(GL_TEXTURE_2D, m_pCurrentScreen->texture); if(m_pCurrentScreen->color == 0 && !g_HardwareShaderCapable)//support for old video cards glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE8, 0, ScreenHeight - VIEWPORT_SIZE, VIEWPORT_SIZE, VIEWPORT_SIZE, 0); else glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, ScreenHeight - VIEWPORT_SIZE, VIEWPORT_SIZE, VIEWPORT_SIZE, 0); } }

Нам нужно будет грузить новый кадр из авишки. И естественно убрать проход в CalcRefDef, поскольку телевизор не требует отдельного прохода.
Как-то так.

Сообщить модератору | | IP: Записан
Сообщение: 27555

Старое сообщение 17-03-2008 21:02
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34524
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Дядя Миша ты хочешь сказать, что они вызывают glTexImage2D для загрузки кадра текстуры? Кармак что, с перепоя этот код писал? Для кого glTexSubImage2D придумали...
А фмод - он и так загрузится один раз, и все глобальные параметры будут общие. Если ты конечно его как дллку грузишь (динамически или статически - не важно, главное что не либу).

__________________

Сообщить модератору | | IP: Записан
Сообщение: 27557

Старое сообщение 18-03-2008 04:10
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32210
Нанёс повреждений: 392 ед.

Рейтинг



XaeroX знаешь у меня на 9800 порою glBegin\glEnd работает быстрее чем VBO, поэтому я промолчу про glTexSubImage.

Сообщить модератору | | IP: Записан
Сообщение: 27558

Старое сообщение 18-03-2008 06:50
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



>>поскольку телевизор не требует отдельного прохода

??? я не знал. Вообще хорошо бы чтоб и монитор не требовал, а зеркало только осталось. fmod я загружу динамически, без статик либов, чтоб кашу в коде не делать. Я ещё не смотрел можно ли ставить ролик на паузу. Хотя если там за время ролика считается время аудиопотока, то логично будет рассудить, что если аудио на паузе, то и кадр остановится.

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

Сообщить модератору | | IP: Записан
Сообщение: 27559

Старое сообщение 18-03-2008 06:57
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 06:45. Новая тема    Ответить
Страницы (8): [1] 2 3 4 5 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Телевизор в ХЛ
Помощь всех желающих
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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