Берсеркер писал: Тогда поясни плиз фразу "криворукие программеры". Ибо в том контексте это прозвучало как оскорбление в мой адрес.
Поясняю. На этом форуме неоднократно возникали споры о том, какая архитектура круче, ку2 (или правильнее сказать, ку1) или ку3. Я отстаивал позицию номер два, однако в качестве аргументов приходилось слышать, что "я-де прикрутил поддержку карт ку3, а там нет того, нет этого, нет еджей" и так далее. Человек, вместо того, чтобы дописать необходимый код (что, кстати, делал я - в основе моего движка лежит переработанный формат ку3), ругает архитектуру. То же самое приходилось слышать про шейдеры - например, про невозможность адекватно управлять ими с сервера. Соответственно, в случае твоего видео (а если бы это была финальная и доработанная версия, то она действительно выглядит некоторым образом криво, и я уже объяснил, в чём) я предположил, что вместо программистов будет обвинена именно архитектура движка, потому что на ку2 всё выглядело намного круче.
Надеюсь, объяснил понятно.
Цитата:
Берсеркер писал: У законченного проекта сайт должен быть как минимум, с единой документацией.
Программисты не любят писать документацию, это всем известно. Так что наличие сайта с документацией - не показатель. Зато показатель - когда что-то советуют прикрутить в один проект из другого. Обычно в этом случае предполагается, что этот другой проект уже отлажен.
Добавлено 19-12-2011 в 01:11:
Цитата:
Берсеркер писал: всмысле закомментировано? текстовые пояснения, или заблокированный код? покажи ка фрагмент.
Вопрос снят, заглючила подсветка синтаксиса в Notepad++
Дядя Миша писал: Неужели вас не бесит когда карта-коробка на четырёхядерном процессоре грузится до десяти секунд? Я бы это исправил в первую очередь.
уже провёл серию успешных экспериментов с мультитредингом: в фоновый тред выкинул AVI компрессор. Про загрузку текстур и пр. ресурсов - пока идёт работа мысли.
PS: ку3-шный r_smp - мёртвое дитя. Я его заблокировал. Для рендера класса Ку3 имеет смысл его доводить до кондиции. Для рендера не зависимого от CPU - нет смысла.
отлично. Обвинения сняты
Тогда прошу прощения за "аборигенов". Я был не в курсе тутошных тёрок про архитектуры ку2 и ку3, и для меня это прозвучало просто оскорбительно.
Берсеркер
В свою очередь тоже хочу извиниться. Постараюсь в будущем учитывать, что наш скромный форум могут посетить авторы известных проектов, и не писать вещи, которые могут быть расценены ими как инсинуации.
XaeroX писал: Там баг с синхронизацией, впрочем, не существенный. Его имеет смысл доводить до кондиции, если юзаются стенсильные объёмы, например. А так - да.
в RTCW - есть, но тоже виснет как в Ку3.
в ET - заблокировано нафик.
В D3 - какие то остатки есть, но нигде не используются. Кармак окончательно забил на SMP для рендера, зато заюзал его для прочих дел: асинхронную загрузку текстур и таймеро-зависимый звуковой код. И правильно сделал.
Берсеркер писал: в RTCW - есть, но тоже виснет как в Ку3
Говорю же, баг с синхронизацией там. Я не разбирался, где именно, но у себя SMP реализовал тоже на евентах, и ничего не виснет. И линукс-версия на cond/mutex тоже не виснет.
Берсеркер писал: У законченного проекта сайт должен быть как минимум, с единой документацией.
угу. Мне вот тоже один товарищ вызывался сайт сделать. До сих пор делает.
Цитата:
Берсеркер писал: как то давно побоялся сделать цвар нулевым по умолчанию
Лучше вовсе игнорировать его значение при локальной игре.
Ну, или добавить в список доверенных паков те, которые нужны.
Цитата:
Берсеркер писал: Я говорю про тяжёлые места в hi-poly картах
можно пример такой карты?
Цитата:
Берсеркер писал: Например было 35 fps (не смертельно же ), а стало 250 (разве не круто?)
Ну вот я щас ради интереса замерил:
BersQ3 r_ppl = 0 - 235 FPS
BersQ3 r_ppl = 2 - 54 FPS
Quake3 (lightmap) - 260 FPS
У меня двухядерный Celeron E3300 250 Ghz
1 Gb памяти
Nvidia 8600GT
Карта - q3dm0 самый старт, не трогая мышку, просто гляжу в зеркало.
Разумеется я поставил com_maxfps 0 и отключил вертикалку на уровне драйвера.
Цитата:
Берсеркер писал: В моём порту такого не бывает, fps ровный.
Ну вот я на q3dm0 при r_ppl 2 в месте старта разворачиваюсь башкой к стене и FPS возрастает с 54 до 87.
Дядя Миша писал: угу. Мне вот тоже один товарищ вызывался сайт сделать. До сих пор делает.
не поверишь, мне тоже, уже наверно год прошёл. Даже и не помню уже, кто обещал...
Цитата:
Дядя Миша писал: Ну вот я на q3dm0 при r_ppl 2 в месте старта разворачиваюсь башкой к стене и FPS возрастает с 54 до 87.
так зеркала это те же порталы открывается портал при приближении, либо зеркало уходит из вью-раструба, конечно же fps возрастает. Но всё же, уже меньше причин для скачков fps.
Я спецом ищу тяжелые карты, нашел:
zih_gaj
zih_roof
zih_weirdf
uranus_nomusic
ну и в заключение немного похвастаюсь:
в 2010 году был чемп по дефрагу, создал спец-билды своего двигана, dfengine и ioq3. Закрыл большинство (и вроде бы даже все) лазейки для читеров, также были выявлены все попытки читерства при записи конкурсных демок. Чемп прошёл максимально честно.
Вылечил wall-hack: вылечил свой порт, заодно опубликовал лекарство на quakedev.com. Жалко умер сайт.
Упс. Я думал речь за area-порталы. Просто видимость из того же зеркала теоретически даже меньше той комантки, которая скрывается за дверями на q3dm0.
Цитата:
Берсеркер писал: карта ChartRes, стресс-карта:
я помню эту карту. Она же неотвиженная. Я её еще на старом ксаше тестировал, который q3 карты поддерживал. Сравнивал кстати VBO\Arrays.
На DrawArrays фпс был выше, хоть тресни.
Добавлено 18-12-2011 в 23:19:
Кстати. Вот эта задумка с рендером Q3 не найдет широкого отклика у аудитории. Потому что хардкорщикам вся эта графика до одного места.
Им CPMA куда интереснее. А вот если тоже самое проделать над RTCW - вот это будет гораздо интереснее.
Он же сингловый, там и графика к месту прийдется и физика.
И проекта такого еще никогда не было. Я бы, к примеру, с удовольствием прошел вольфа под обновленным рендером. Да и думаю не только я.
Берсеркер
У меня такой вопрос: при r_ppl 0 трансформация возвращается на цпу? Что будет, если видимокарта не поддерживает тот же occlusion query?
И вот ещё интересно. В общих чертах об архитектуре догадываюсь, всё закидывается в вбо, индексы тоже, PVS при рендеринге игнорируется, видимость через occlusion query, результаты в conditional render, shade_calc перенесён на вершинный процессор, убершейдеры для отрисовки. Так?
Вершинная анимация МД3 - через хак? динамический вбо?
Как сортировка реализована, если реализована? В оригинальном ку3, в частности, прозрачные поверхности не сортируются по расстоянию от камеры.
Освещение, я так понял, в скринспейсе? Что за техника?
Количество зеркал/порталов в кадре >1 или так же, как в ку3 - 1?
Добавлено 19-12-2011 в 02:30:
Цитата:
Дядя Миша писал: Я её еще на старом ксаше тестировал, который q3 карты поддерживал. Сравнивал кстати VBO\Arrays.
На DrawArrays фпс был выше, хоть тресни.
Я подозреваю, что у него полностью статический вбо, включая индексы, а у нас с тобой они из-за PVS постоянно перерассчитываются и это уже не то.
Цитата:
Дядя Миша писал: А вот если тоже самое проделать над RTCW - вот это будет гораздо интереснее.
Нудный он всё-таки. И главное - кто текстуры рисовать будет?
Фичи автобампа, как в тенебре, тут по ходу нет, а зря.
Кому именно? Встроенному интелу - нужен, а восьмому гефорсу так вообще ничего на ЦПУ не нужно, там уже чуть ли не ИИ на гпу считать можно через какую-нибудь куду. Вопрос - какова цель написания движка.
Добавлено 19-12-2011 в 02:59:
Цитата:
Берсеркер писал: http://files.mail.ru/EE9LAH
скачать и распаковать в папку Quake3.
И необходимо в получившийся q3b_config.cfg вписать строку
seta sv_pure "0" чтобы работали сторонние паки и ресурсы в папках.
Скачал, поставил, сделал всё, как сказано.
Выглядит всё так же, как на скриншотах, выложенных мной в начале темы, но с оговорками: теперь текстуры, к которым есть хайресы, действительно освещены, хотя и очень тёмные в целом. Те, к которым хайресов нет - такие же яркие. Глюки с просвечиванием объектов, пропаданием языка на ку3дм0 - всё присутствует в том же объеме. Еще появилось солнышко с эффектом линз и бамп от отсвета выстрелов.
На Q3DM1 при r_ppl 0 800-1000 фпс, при r_ppl 2 300 фпс.
В оригинальном Q3 тоже 800-1000 фпс.
Дядя Миша писал: Кстати. Вот эта задумка с рендером Q3 не найдет широкого отклика у аудитории. Потому что хардкорщикам вся эта графика до одного места.
Им CPMA куда интереснее. А вот если тоже самое проделать над RTCW - вот это будет гораздо интереснее.
Он же сингловый, там и графика к месту прийдется и физика.
Полностью согласен, хардкорщики играют так:
И к тому же sv_pure 0 нам как бы намекает, что на серверах нас пошлют. У меня есть еще много аргументов против накручивания рендерных фишек на ку3 как игру (не на движок), но я не буду.
А вообще срач прикольный был, да, хоть я и решил сначала, что Берсеркер фейковый.
У меня такой вопрос: при r_ppl 0 трансформация возвращается на цпу? Что будет, если видимокарта не поддерживает тот же occlusion query?
Расчёт материалов происходит ВСЕГДА на GPU, режим графики тут ни при чём.
оклюжн-квери - древняя фича, поддерживается любым современным железом, даже встроенным Intel. Данное расширение является желательным, но не обязательным. В движке оно отвечает лишь за рисование солнца. Не будет расширения, не будет солнца (впрочем, в ку3 его и не было, код был заблокирован, да и солнце является лишь красотой, хардкорщикам оно будет лишь мешать ).
Цитата:
PVS при рендеринге игнорируется
нет, всё в силе. r_showtris 2 подтвердит. IBO пересчитывается при смене кластера. Есть кэш IBO глубиной 3 или 5, сейчас не помню. Чисто для порталов. А так, на indoor сценах, ibo перестраивается очень быстро. На том же неоптимальном chartres, микрофризы незаметны.
Цитата:
Вершинная анимация МД3 - через хак? динамический вбо?
нет, VBO тоже статик.
Про сортировку: в данный момент как в Ку3.
Цитата:
Освещение, я так понял, в скринспейсе? Что за техника?
light pre-pass deferred shading. Поделился техникой с автором XReal, он доволен как слон. Технология требовательна к ширине и скорости шины видеопамяти.
Про зеркала: их может быть сколько угодно. Другое дело, что рекурсий быть не должно (зеркало рисует другое зеркало). Тут всё как в Ку3, единственное что тут улучшено - отсечение зеркал по вью-раструбу.
RTCW: если бы он вышел пораньше, может быть с него начал ковырять. А сейчас уже сложно перенести все изменения. Довести бы до кое какого логического конца, а там видно будет. Я тоже не проч мочить фашистов с попикселкой.
Автобамп: судя по опыту q2bers, некрасивый результат он даёт, но всё же можно и такой изврат замутить, через модификаторы загружаемых текстур, через материалы.
Цитата:
XaeroX писал: Скачал, поставил, сделал всё, как сказано.
прописать в q3b_config.cfg строку seta sv_pure "0" точно не забыл?
Пропиши, и запусти заново игру. vid_restart не канает!
Проверено лично на мне, всё работает.
Цитата:
На Q3DM1 при r_ppl 0 800-1000 фпс, при r_ppl 2 300 фпс.
В оригинальном Q3 тоже 800-1000 фпс.
сцена примитивна. Разница будет расти на сценах как в современных играх. Шот с городской сценой (tvy-bench) наглядно подтверждает это.
Цитата:
Им CPMA куда интереснее.
а CPMA разве не на quake3.exe работает?? Мой порт полная замена старого Ку3, и считаю, что он открывает путь к играм на тяжёлых картах. Думаю, это есть гуд.
Яркий пример: на работе гамаем в ку3, из рельсы попадаю как Робин Гуд в монетку, благодаря плавному и высокому FPS. А коллеги сидят на встроенках, юзают Ку3.
Так что, никого не уговариваю использовать мой порт, главное что мне хорошо.
Цитата:
Scrama писал: И к тому же sv_pure 0 нам как бы намекает, что на серверах нас пошлют.
аа, ну вот видимо почему с давних времён боюсь обнулять sv_pure по умолчанию. Ну, чтож, это издержки develop-time, по окончании работ все ресурсы можно утоптать в единый пак.