HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > OpenGL > Сжатие исходного текста деклараций
Требуется пару советов
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
MAL
Житель форума

Дата регистрации: Sep 2007
Проживает: (void)
Сообщений: 1677

Рейтинг



Сжатие исходного текста деклараций

Имеется почти готовый движок на Open GL. Нужен человек, знающий ассемблер и хорошо ориентирующийся в закрытой части кода Doom\Quake4 (win) - есть несколько вопросов, касающихся реализации сжатия исходного текста деклараций (idDecl* и производные).

На сколько я знаю, вроде Ксер и Дядя Миша известные квако копатели, поэтому решил немного помочь нашему кодеру, который столкнулся с проблемой сжатия - если у кого есть возможность и время поделиться опытом, будем очень признательны и благодарны

__________________
...Из советов молодому пловцу:
"Не плыви по течению. Не плыви против течения. Плыви туда, куда тебе надо."
Козьма Прутков.

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

Старое сообщение 10-08-2008 15:34
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Цитата:
МиГ-29 писал:
есть несколько вопросов, касающихся реализации сжатия исходного текста деклараций (idDecl* и производные).

Впервые слышу этот термин
Цитата:
МиГ-29 писал:
Нужен человек, знающий ассемблер и хорошо ориентирующийся в закрытой части кода Doom\Quake4 (win)

Бгг, думаю, что такого человека любая контора с руками оторвет

Как устроен рендеринг в дуум3/ку4, я примерно представляю, там ничего сложного нет, тем более все технологии - устаревшие, максимум за 2004 год. Но "сжатие исходного текста деклараций" мне, увы, не pozubam

__________________

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

Старое сообщение 10-08-2008 18:49
-
MAL
Житель форума

Дата регистрации: Sep 2007
Проживает: (void)
Сообщений: 1677

Рейтинг




Тебе человек ответил:

Цитата:
XaeroX писал:
Впервые слышу этот термин


declaration (объявление\определение) служит для заполнения шаблона некоторого объекта данными

Цитата:
XaeroX писал:
Бгг, думаю, что такого человека любая контора с руками оторвет


руки мне нужны, отрывать не дам

Цитата:
XaeroX писал:
Как устроен рендеринг в дуум3/ку4, я примерно представляю, там ничего сложного нет


а как насчет мгновенного просчета поверхностей взаимодействия (interaction surfaces) для дин.освещения?

П.с. я разобрался в вопросе и если кто-то сюда еще забредет - используется адаптивный код Хаффмана

__________________
...Из советов молодому пловцу:
"Не плыви по течению. Не плыви против течения. Плыви туда, куда тебе надо."
Козьма Прутков.

Отредактировано MAL 11-08-2008 в 15:29

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

Старое сообщение 11-08-2008 15:22
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Цитата:
МиГ-29 писал:
declaration (объявление\определение) служит для заполнения шаблона некоторого объекта данными

Шаблоны - чушь. Использование ООП в игровых движках - маразм. Так и передай
Цитата:
МиГ-29 писал:
а как насчет мгновенного просчета поверхностей взаимодействия (interaction surfaces) для дин.освещения?

Чооо? ©
"Мгновенный просчет" - это сильно сказано. Надо запомнить
Насчет interaction surfaces тоже понятия не имею, что имеется в виду. Динамическое освещение в дум3 - это бамп + стенсильные тени, а какие там сурфасы освещаются - имхо никакой разницы.

__________________

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

Старое сообщение 11-08-2008 18:51
-
MAL
Житель форума

Дата регистрации: Sep 2007
Проживает: (void)
Сообщений: 1677

Рейтинг



Тебе ответили

Цитата:
XaeroX писал:
Шаблоны - чушь. Использование ООП в игровых движках - маразм. Так и передай

гляжу ты понятия не имеешь о чем говоришь, а уже оперируешь длинными и смелыми фразами а-ля "Как устроен рендеринг в дуум3/ку4, я примерно представляю, там ничего сложного нет, тем более все технологии - устаревшие...". наверняка ты знаешь, что Doom3/+ построен на ООП, и Tech5 построен на ООП и последующие СОВРЕМЕННЫЕ... думаю дальше могу не продолжать - моя мысль ясна.

Цитата:
XaeroX писал:
"Мгновенный просчет" - это сильно сказано. Надо запомнить

Запомни (С)

Цитата:
XaeroX писал:
тоже понятия не имею, что имеется в виду

но упорно продолжаешь гнуть свою линию и настаивать на своей правоте... сам прикинь в уме, что произойдет если не выбирать поверхности для вывода, при отрисовке каждого из множества ист.дин.света !??

п.с. офтопим
*ушел, закрыв за собой дверь*

Добавлено 12-08-2008 в 09:25:

От меня:

ладно ребята, давайте не будем спорить и уходить в оффтоп... Спор кто круче смысла не имеет - все равно круче всех только яйца Предлагаю вам перенести спор в аську

__________________
...Из советов молодому пловцу:
"Не плыви по течению. Не плыви против течения. Плыви туда, куда тебе надо."
Козьма Прутков.

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

Старое сообщение 12-08-2008 05:25
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Цитата:
МиГ-29 писал:
наверняка ты знаешь, что Doom3/+ построен на ООП, и Tech5 построен на ООП и последующие СОВРЕМЕННЫЕ... думаю дальше могу не продолжать - моя мысль ясна.

Нет, не знаю. Да это и не принципиально. На форуме уже есть тема, где это обсуждалось. И какое отношение имеет мое мнение об использовании ООП к моему знанию OpenGL?
А по поводу Id Tech выше третьего - пока не выложили его полные сорцы, как там что построено, "никому не известно и никого не касается" © буфетчик Варьете Может быть, там вообще функциональщина сплошная? В том же ку3 есть намеки на функционально-ориентированный подход к структуризации. Ну ладно, спорить об этом смысла нет.

Цитата:
МиГ-29 писал:
сам прикинь в уме, что произойдет если не выбирать поверхности для вывода, при отрисовке каждого из множества ист.дин.света

У меня сложилось впечатление, что товарищ сам смутно понимает, о чем говорит Что значит "выбирать поверхности для вывода"? Причем тут динамические источники света? При чем тут вообще OpenGL?

Цитата:
МиГ-29 писал:
Предлагаю вам перенести спор в аську

Да как можно с товарищем спорить, если он говорит на другом языке, и я не понимаю почти не единого слова? Сначала хоть бы о терминах договорился, прежде чем тему поднимать. Пока что я не вижу ни одной вразумительной фразы от него (кроме фраз флеймового характера, разумеется - они бесспорно составлены грамотно и четко )

Добавлено 12-08-2008 в 16:09:

Цитата:
МиГ-29 писал:
сам прикинь в уме, что произойдет если не выбирать поверхности для вывода, при отрисовке каждого из множества ист.дин.света !??

А, у меня есть предположение, что имеется в виду составление списка поверхностей для отрисовки света для каждого источника. Ну есть разные методы, хотя бы те же порталы. Все зависит от типа движка - открытые или закрытые пространства, способ определения видимости и т.д. Опять же, причем тут эти таинственные interaction surfaces, "сжатие исходного текста деклараций" и другие простые вещи?

__________________

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

Старое сообщение 12-08-2008 09:09
-
 Дядя Миша
racing for fish

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

Рейтинг



Сорьки, не заметил тему тогда.

Цитата:
сам прикинь в уме, что произойдет если не выбирать поверхности для вывода, при отрисовке каждого из множества ист.дин.света !??

Тов. Миг-29 ты будешь смеяться, но именно так и работала q3 - там не было возможности мгновенно получить нужный surface от конкретной ноды, поскольку разработчики BSP 46 за каким-то чертом выбросили эти переменные (firstface и numfaces) из описания ноды.
Поэтому перебор осуществлялся исключительно "втупую". Конечно скорость его была в любом случае выше, нежли у линейного, но ниже, чем у тех же BSP 29, BSP 38.
И динамический свет не "рисуется" в том понимании, как ты себе это представляешь.
Цитата:
Да как можно с товарищем спорить, если он говорит на другом языке, и я не понимаю почти не единого слова?

Полностью согласен.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 08-12-2008 11:31
-
 XaeroX
Crystice Softworks

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

Рейтинг



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


Цитата:
Дядя Миша писал:
но именно так и работала q3 - там не было возможности мгновенно получить нужный surface от конкретной ноды, поскольку разработчики BSP 46 за каким-то чертом выбросили эти переменные (firstface и numfaces) из описания ноды.

C++ Source Code:
1
typedef struct mnode_s {
2
  // common with leaf and node
3
  int			contents;		// -1 for nodes, to differentiate from leafs
4
  int			visframe;		// node needs to be traversed if current
5
  vec3_t		mins, maxs;		// for bounding box culling
6
  struct mnode_s	*parent;
7
 
8
  // node specific
9
  cplane_t	*plane;
10
  struct mnode_s	*children[2];
11
 
12
  // leaf specific
13
  int			cluster;
14
  int			area;
15
 
16
  [b]msurface_t	**firstmarksurface;
17
  int			nummarksurfaces;[/b]
18
} mnode_t;

А это чо?

__________________

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

Старое сообщение 08-12-2008 12:06
-
 Дядя Миша
racing for fish

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

Рейтинг



XaeroX это - для R_RecursiveWorldNode, а я тебе про R_RecursiveLightNode

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 08-12-2008 12:30
-
 XaeroX
Crystice Softworks

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

Рейтинг



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


А не надо мне про R_RecursiveLightNode - нет такой функции в ку3.
Ты давай отвечай на поставленный выше вопрос: "А это чо?"

Добавлено 08-12-2008 в 18:35:

Просьба не наезжать на движок ку3. Он работает оптимизированнее ку1 и ку2. А выкинули оттуда только legacy stuff, использовавшийся в софтварных версиях рендера.

__________________

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

Старое сообщение 08-12-2008 12:35
-
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
А не надо мне про R_RecursiveLightNode - нет такой функции в ку3.

Вот именно потому и нету, что выкнули из ноды firstface и numfaces.
И я тебе уже и ответил - это для R_RecursiveWorldNode.
Цитата:
Он работает оптимизированнее ку1 и ку2

ага, повыкидывали все полезные вещи - апчхимизация называется
Де лайтстили, к примеру? Нету лайтстилей, вот и R_RecuresiveLightNode не нужен.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 08-12-2008 14:10
-
 XaeroX
Crystice Softworks

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

Рейтинг



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


Цитата:
Дядя Миша писал:
Вот именно потому и нету, что выкнули из ноды firstface и numfaces.

Да вовсе и не поэтому нету.
В ку2 вот функции Sys_MonkeyShouldBeSpanked нету, и что ж теперь?
Цитата:
Дядя Миша писал:
Де лайтстили, к примеру?

Да нафиг они в ку3 нужны?
А в своем движке в 2008 (почти 2009) году юзать лайтмаповые лайтстили - это не просто моветон, это ламерство, имхо

__________________

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

Старое сообщение 08-12-2008 17:34
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 18:53. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > OpenGL > Сжатие исходного текста деклараций
Требуется пару советов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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