HLFX.Ru Forum Страницы (80): « Первая ... « 70 71 72 73 [74] 75 76 77 78 » ... Последняя »
Показать все 1200 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Volatile Engine (https://hlfx.ru/forum/forumdisplay.php?forumid=3)
-- Volatile 3D II - W.I.P. (https://hlfx.ru/forum/showthread.php?threadid=1903)


Отправлено H-3D 02-02-2015 в 13:59:

По-моему теперь на сложных моделях не появляются эти блики-артефакты странной формы, с которыми никакой tsgen не справляется, типа такого:
http://www.pix.academ.org/img/2015/...710c269d9ae.jpg


Отправлено XaeroX 02-02-2015 в 14:04:

H-3D
Я полностью переписал код компилятора моделей, в том числе расчёта касательного пространства. Команда tsgen больше не нужна и была вырезана.
Да, думаю, таких артефактов больше не будет.

Если скинешь smd, def и текстуры этой модели - сразу же и проверю.

__________________

xaerox on Vivino


Отправлено H-3D 02-02-2015 в 14:21:

Цитата:
XaeroX писал:
Да, думаю, таких артефактов больше не будет.

Вот это очень радует
Модельку скину в приват.


Отправлено thambs 04-02-2015 в 03:06:

XaeroX

а лайтмапы на полупрозрачных поверхностях можно?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено XaeroX 04-02-2015 в 05:30:

thambs
Да, конечно.

__________________

xaerox on Vivino


Отправлено XaeroX 24-02-2015 в 20:20:

Ещё немного оптимизировал рендер статических моделей.
21 алиска в кадре, ~840000 полигонов.

__________________

xaerox on Vivino


Отправлено (_-=ZhekA=-_) 24-02-2015 в 21:20:

XaeroX
Я просто хз, как должно быть в идеале, но мне нравится!
А ты сам-то доволен результатом?


Отправлено Skaarj 24-02-2015 в 21:29:

Ксероксу очень не хватает годных тестовых карт.


Отправлено (_-=ZhekA=-_) 24-02-2015 в 21:31:

Цитата:
Skaarj писал:
Ксероксу очень не хватает годных тестовых карт.

Не думаю, что карты это проблема - было бы на чем их тестить!


Отправлено XaeroX 24-02-2015 в 21:47:

Skaarj эта тестовая карта называется "дефолтная коробка с 21 моделькой аликс". Что с ней не так? Задача - показать возможности по отрисовке модельной детализации на стресс-тесте по поликаунту.

Добавлено 25-02-2015 в 03:47:

Эта тема для wip скринов, главным образом технического плана. Для арканосов будет другая тема, но всему своё время.

__________________

xaerox on Vivino


Отправлено XaeroX 28-04-2015 в 12:52:

До меня дошла информация, что на одном популярном украинском форуме Дядя Миша приводит движок Volatile в пример как проект, который бесконечно перезапускается, т.к., мол, автору кажется, что в новой версии он сделает лучше, но воз и ныне там. А вот, мол, джекхаммер был сделан сразу же круто.
Так как ДМ действительно знает об истории разработки моих движков больше среднестатистического посетителя хлфх.ру, я счёл необходимым дать пояснения.

1) Первая версия движка Volatile, тогда ещё 2D, была написана мной на Visual Basic в 2002 году. С той версией, что вы могли видеть, скажем, в Wolfram, у неё общее только название. В дальнейшем я много лет изучал эту хитрую "науку" написания движков. Но т.к. в этом деле практика куда важнее, чем теория, то все свои эксперименты я немедленно облекал в некую форму движка. Который, по иронии судьбы, получал всё то же название "Volatile". Что можно сказать о версиях движка, где я изучал код первой кваки, потом третьей, где была куча копипасты? Да ничего. Разумеется, эти версии забрасывались, как только я разбирался с ядром. Они редко умели что-то рисовать, помимо консольки. И вы их, разумеется, не видели. С дядей Мишей я делился исключительно в образовательных целях (как для себя, так и для него). Последняя версия Volatile3D II - это по сути была тоже "образовательная" версия, где я ещё много чего освоил (физику, динамические тени, ботов и многое другое). После чего я подвёл жирную черту, чего раньше никогда не делал, и заявил, что новая версия движка соберёт всё, чему я научился за последние 13 лет. В ней не будет откровений, каких-то сверх-оригинальных решений по методу Кармака-Ксерокса, но все старые решения будут причёсаны, отлажены и оптимизированы. Это можно рассматривать как работу по переписыванию начисто проекта, по которому за многие годы скопилась куча черновиков. Процесс долгий, ответственный, но тем не менее необходимый. Потому что именно тогда можно будет сказать, что проект Volatile доведён до логического конца. А потом можно будет заняться и чем-то принципиально новым - хоть дефферред-шейдингом, хоть мегатекстурой, хоть динамическим рейтрейсером.
Поэтому пример с Volatile, приведённый ДМ, крайне неудачный. А то, что отдельные товарищи ведутся и верят в подобное очернительство - так это легко объяснимо, ведь я сам никогда не считал нужным рассказывать о том, как именно планирую и веду свою работу. К тому же эти товарищи мгновенно узнают себя - ведь большинство именно так и поступает, начиная и бросая один проект за другим, теряя интерес и пугаясь трудностей. А нет ничего приятнее, чем поверить в то, что твои пороки есть и у кого-то другого.
Короче, не зацикливайтесь на каких-то "старых версиях", смотрите только публичные. А их ровно две - Volatile3D (Extrasensoric, 2009) и Volatile3D II (OIFD, Wolfram, 2012). Те, у кого эти версии не вызывают отторжения - ждите "итоговую версию", которая по идее должна учесть все их недостатки, о которых у меня было достаточно времени узнать.

2) В случае с Jackhammer всё было точно так же, как и с Volatile. Разница лишь в том, что ДМ не знает о предыдущих моих редакторах столько же, сколько о предыдущих движках. 3D-редакторами я занялся чуть позже, году эдак в 2008. Делал кастом-билд ку3радианта, который вы видели в Volatile SDK. Пробовал писать и самостоятельные редакторы. Как минимум два 3D-редактора я написал по работе (они были связаны с молекулами, однако воплощали все основные принципы 3D-редактирования). Но т.к. редактор устроен на порядок проще, чем движок, к подведению черты я логически подошёл раньше. И джекхаммер, как и новая волатила, воплотил все мои знания в этой области. Разница в том, что его вы увидели, а волатилу пока нет. Но всему своё время, повторюсь, движки устроены намного сложнее. А насколько эффективно с моей стороны удаётся "подводить черту" - вы можете судить уже по джекхаммеру. Выглядит ли он как профессиональный продукт, или же как очередная экспериментальная поделка на коленке? Решать, конечно же, вам, равно как и делать выводы о продуктивности такой схемы совершенствования навыков и разработки программных продуктов.

У меня всё. Спасибо за внимание.

__________________

xaerox on Vivino


Отправлено Cybermax 28-04-2015 в 13:12:

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

__________________


Отправлено ~ X ~ 29-04-2015 в 09:56:

Нужна срочно YOBA-API для волатилы, а то мне уже осто_б_нило писать костыли для обхода вальвовских багов, хаков и идиотизмов. Таким макаром я вообще игрострой брошу...

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено XaeroX 29-04-2015 в 10:07:

Цитата:
~ X ~ писал:
YOBA-API для волатилы

Вот так пойдёт?
C++ Source Code:
1
typedef struct yobaAPI_s {
2
  void ( *CreateSingleplayerMod )( int mapCount, bool newWeapons );
3
  void ( *CreateSingleplayerModEx )( int mapCount, int newWeaponCount, int newMonsterCount, bool addAchievements );
4
  void ( *CreateMultiplayerMod )( int popularity, bool botSupport );
5
  void ( *PortHalfLifeMod )( int compatibilityLevel, bool insertGraphicEffects );
6
  void ( *EnableXash3DCompatibility )( int compatibilityLevel, bool preserveBugs );
7
} yobaAPI_t;

__________________

xaerox on Vivino


Отправлено XaeroX 19-05-2015 в 21:02:

Radiosity Light Grid

Сегодня я немного расскажу о системе освещения в Новой Волатиле (ТМ).
Как вы уже знаете, в ней присутствует статическое radiosity, в том числе для неподвижных динамических источников света. Освещение моделей в халфе бралось из лайтмапы под ногами монстра (или игрока), и поэтому также включало в себя компонент отражённого света. Однако в волатиле для более точного пространственного учёта света используется метод light grid. В целом он подобен подходу Quake3, однако был усовершенствован мной для поддержки двух вещей - динамических стилей (читай, моргающих и выключаемых лампочек) и отражённого света. Расскажу вкратце о последнем.
Каждая ячейка сетки light grid содержит три вещи - фоновый компонент света, направленный компонент света и усреднённая нормаль (для применения направленного компонента и делюкс-маппинга). Если существуют источники света, напрямую освещающие ячейку, то направление и компоненты света берутся из прямого освещения. Непрямое (radiosity) при этом используется для модификации цветовых компонентов, т.к. нам желательно учитывать изменение окраски света при отражении от разнообразных поверхностей. Если же ячейка не освещена ни одним прямым источником света, то освещение берётся только из радиосити-патчей.
Внимание на скриншоты. Здесь отключен фоновый компонент, а направленный увеличен так, чтобы быть максимально заметным. Слева - освещение модели с учётом прямого света, справа - с учётом только отражённого.

http://pix.academ.org/img/2015/05/20/92881f5173a500f7f9331f2706ee02a8.jpg http://pix.academ.org/img/2015/05/20/61f7074e313fce70b7ad237b26c58264.jpg

Как видите, у стенки вектор направления на свет меняется, и по сути это именно направление отражения света. Теперь вернём множитель направленного света в 1:

http://pix.academ.org/img/2015/05/20/faf0d4111c9c46c80de723bffc41129a.jpg http://pix.academ.org/img/2015/05/20/32eb0ebaef4984480ea66d99fa929ac0.jpg

Понятно, что непрямое направленное освещение даёт существенно меньший вклад в направленное освещение модели. Включим фоновый компонент:

http://pix.academ.org/img/2015/05/20/efda4a8329d7281f5a213447eb8305dc.jpg http://pix.academ.org/img/2015/05/20/eeba45903f37cc515a98ff9004f46c8f.jpg

Отметим ещё такой момент: при непрямом освещении отключается бликовый компонент (см. например, на волосы, плечи и ботинки). Очевидно, что отражённый свет достаточно слабый, чтобы не давать яркие блики.

http://pix.academ.org/img/2015/05/20/e27eda476a07f89dd9d09d71a127567f.jpg http://pix.academ.org/img/2015/05/20/dc611fc8a0ef9ecb00d5cc3c69b5c751.jpg

Остаётся добавить, что вышеописанная система применяется для статического освещения. Динамическое вычисляется, что называется, "налиту", включая бамп и тени. Хотя, разумеется, учитывает статический компонент отражённого света, если он есть.

http://pix.academ.org/img/2015/05/20/cf767ca1caa52bbc0e616672bbde9431.jpg

P.S.: я знаю, что у нас на форуме некоторые товарищи люто, бешано надрачивают на высокий фпс, а тут всего 100. Фпс ограничен искусственно в целях получения большей плавности игры. Реальный фпс можно оценить по таймингам frontend и backend (а именно максимальному из них). Это время в миллисекундах, затрачиваемое на отрисовку кадра.

__________________

xaerox on Vivino


Временная зона GMT. Текущее время 08:25. Страницы (80): « Первая ... « 70 71 72 73 [74] 75 76 77 78 » ... Последняя »
Показать все 1200 сообщений этой темы на одной странице

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