Технологический прорыв Dark Engine

Автор Shepard, 08 февраля 2005 02:58:40

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Shepard

 В качестве предисловия, хочу поблагодарить UL'a, за то, что дал мне понять, что это действительно кому-то нужно.
Итак, в чём, собственно прорыв? Раз уж Vivek выложил мои демки технических задумок на всеобщее обозрение, я хочу поделиться остальными наработками того, что мне удалось реализовать:
1) Additive textures. Если быть точнее - подсветка. Посмотрите скриншот:
http://shepard.nm.ru/DarkEngine/additive_textures.jpg (исправлено)
2) "Хромированная" подложка текстур. Смотрится очень стильно, и не требует особых навыков для использования.
3) Эффект "шлейфа" на текстурах. Не всегда очень красиво, но если грамотно использовать, получится хороший результат.
В принципе, все три демо-карты готовы. Я лишь хочу ещё немного потестировать их, и написать коротенький readme для каждой. Постараюсь выложить все три завтра.
(Сообщение отредактировал(а) Shepard 8 фев. 2005 3:03)

(Сообщение отредактировал(а) Shepard 10 фев. 2005 16:09)
"Мы только с одной дубинкой можем такое сделать, у-у-у...."
 (C) Shepard

UL

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

dSpair

Молодец, Shepard, надо будет заценить...
Только крутость современных движков отнюдь не в том, что ты перечислил, так что название темы весьма спорно :)

UL

Ничто не имеет значения, только цель.

Elder keeper

Shepard, это очень хорошо. Но технологический прорыв в движке - это твоя автоподпись. Тогда сниму шляпу.

UL

На самом деле главное вовсе не движок, а идея и как реализовать то или иное.. и у Шепарда это получилось с блеском.. правда я таки не получил вразумительных ответов, к чему последние файлы.. Наверное мануал читать надо.. но блин.. я же суперленив, хотя бы в кратце, не скачивая файлы люди должны знать что качают...
Ничто не имеет значения, только цель.

Shepard

 Ну пусть будет так :-)
Теперь наработки можно взять у меня:
http://shepard.nm.ru/DarkEngine/
[off]У меня новый мунуал готов - как полностью убрать дырки с текстур. Уже выложил...[/off]

(Сообщение отредактировал(а) Shepard 10 фев. 2005 16:13)
"Мы только с одной дубинкой можем такое сделать, у-у-у...."
 (C) Shepard

Force

"И тут пришёл Форс и всех разогнал..." (с) по моему Otto Katz на AG. :)
Сразу оговорюсь. Я нисколько не умаляю заслуг Шепарда. Его "открытия" действительно могут оказаться полезными. Но в действительности я хочу расставить точки над "е" (мы не на украине, чтоб расставлять их над "и" ;)).
Обозревать буду additive texture.
Правда: это совсем не тот эффект, который в Doom 3 был назван "Specular Lighting", хотя в readme-файле акцент сделан именно на это. Почему не тот? Потому что в Doom 3 (да и вообще) этот эффект обсчитывается в реальном времени, в зависимости от угла камеры относительно текстуры и источника света (те кто понимают о чём речь, и так поняли :)).
В данном же случае это лишь статичная "нашлёпка" поверх текстуры, которая, кстати сжрает часть ресурсов, так как представляет собой объект (Dark Engine очень плохо переваривает объекты). Во многих случаях (особенно если учесть слабость Dark Engine), такие статичные "нашлёпки" лучше всего делать непосредственно в самих текстурах... Но только в том случае, если этих "нашлёпок" много. Короче, появился повод для оптимизации ;).
Реальную пользу от них я вижу лишь в анимированных. Это действительно иногда может оказаться полезным, хотя для мира Thief это слишком "техногенно" (моё мнение). Делать же повсюду из них Specular - занятие неблагодарное и даже неблагородное. Вас не так поймут.

Elder keeper

кстати, а зачем делать объект? Не пробовал, но можно браш с такой же текстурой, нулевой толщиной и маской освещенности (прозрачный именно там, где не надо подсвечивать) наложить.
Анимация здесь тоже может иметь место (блики на воде, скажем)
Добавлено позже
по мне интересней накладывать источники света (omni light point), там и наружный, и внутренний радиусы (толщина перехода из света в тень), и угол, под которым омнилайт находится, и не одна текстура, а все, что на проекции этого света.  Посмотрите, как сделана комната в тренировочной миссии, где надо пробежать по темным областям.


Shepard

Elder keeper, понимаешь, на брашах нельзя делать TGA, а это уже как минимум отсутствие нормального перехода к розрачности. К тому же, ограничение на полигоны объектов в кадре гораздо обширнее (~450 тысяч. Моя старая подпись:), чем на полигоны карты, что тоже важно. Ну и объектам можно прозрачность, яркость задавать, через иерархию.
Я не понял, что ты имел в виду под моей "автоподписью". Что-то конкретно интересует в полигонах? :-)
Force, спасибо за ликбез! Я не особо силён в терминологии новых движков (равно как и в них самих).
"Мы только с одной дубинкой можем такое сделать, у-у-у...."
 (C) Shepard

Lenz

Всеже из DarkEngine вроде выжать коечто наверно можно.
Жаль ии не изменить, старенький стал уж, хотя оригинально реагирует на события в игре :) и это его особенность :up:
Lenz

Elder keeper

Что значит нормальный переход к прозрачности? Я не видел  полупрозрачности, переходящей в прозрачность нигде, это можно сделать в tga?
Шепард, 2000 полигонов на брашах - предел, причем с оптимизацией, подгонкой и floater-ами.
По поводу 400000 полигонов на объектах - и как это на движочке пашет ? Есть демо? Желательно, 2000 по брашам + 400000 по объектам в кадре, без глюков.
Вообще, идея интересная с поликаунтом по объектам, но не знаю, Форс говорил, что рендеринг объектов в движке слабо реализован, если я правильно его понял.
http://www.idvinc.com/html/downloads_exe.htm

Shepard

Elder keeper, как мы и обсудили это на встрече, нормальный переход к прозрачности достигается также, как и в "слоевом" формате.
~450 тысяч poly - это максимальное количество, которое движок вообще способен показать. Тоесть, такое количество - это сумма полигонов многих объектов, находящихся одновременно в кадре.
Насчёт рендеренга ничего особенного сказать не могу :-( Хотя... Есть предположение, что движок тормозят прозрачные текстуры на моделях (деревья, и т.д.). Но это только предположение.
P.S. Интересная ссылка... Завтра попробую сделать аналог леса. Скриншот выложу (с количеством fps, что бы страшнее было:).
"Мы только с одной дубинкой можем такое сделать, у-у-у...."
 (C) Shepard

Shepard

 Ну вот и готово. Неутешительные, надо сказать, сведения... В прошлый раз я ошибся в расчётах (видимо, посчитал неотрисованные объекты). Вот результат:
Скриншот, на котором изображено 127 моделей Гордона Фримена из HL1. По сообщению 3ds to bin - каждый 931 poly.
http://shepard.nm.ru/DarkEngine/polyterror.jpg (640x480; 126,5 kb.)

Вообще, на карте я поставил их 200, но отрисовывается только 127. Делаем математический расчёт:
127 x 931 = 118237 полигонов в кадре. Это приблизительно. В зависимости от разного угла обзора, количество моделей может меняться.
Другое дело, что если отвернуться от всей этой своры, тормоза абсолютно пропадают. Хмм?...
"Мы только с одной дубинкой можем такое сделать, у-у-у...."
 (C) Shepard

UL

Я конечно во всем это вообще не разбираюсь.. но меня смущает как компьютерщика цифра 127 (как правило имено такая цифра фигурирует при подстчете количества памяти, а не 128). Ну так вот если установить на этих 127 объктах который отражатеся не 921 полигон а 2000, то получится как раз заданная цифра.
[off]Твой сайт добавлен в список на сайте.[/off]
Ничто не имеет значения, только цель.