?

Log in

30 January 2007 @ 10:04 am
На сайте появилась новая информация о проекте и скриншоты. А читателям жж еще парочку эксклюзивных =)
СмотретьCollapse )
 
 
31 December 2006 @ 12:09 am
Не могу в преддверие Нового года не выложить хоть один скриншот из проекта Option Implicit, во всю использующего графические технологии HLFX. А все подробности - в 2007 году. Всех с Новым годом!

 
 
06 December 2006 @ 09:01 pm
Фотки тут
 
 
27 October 2006 @ 04:10 pm
MMM SS - Multiple Mirror Merging Splendid System
О какое красивое название! ,)
 
 
25 September 2006 @ 11:54 am
Вам нравится, как это выглядит - закон жизни.
Вам не нравится надпись "5 fps" в углу - закон Foster's.
 
 
 
31 August 2006 @ 07:39 pm
Ах вы тени мои тени
Тени глючные мои
Тени новые красивые
Стенсильные! =)

 
 
18 August 2006 @ 12:36 pm
Тяжело это признавать. Но ее не будет.
Впрочем, это же все бета-версии, и никто особо их не использовал. В версии 0.6 появятся исходники, и я надеюсь, это это будет каким-то стимулом :)
Поскольку код хлфх от версии к версии переписывается практически с нуля, то я сразу же вычищаю из него все лишнее. Например, будут упразднены такие объекты, как env_shadowlight и func_mirror, а также соответствующие команды конфига. Все консольные переменные переименованы и содержат префикс "r_" вместо "gl_" (т.к. не все они связаны с OpenGL).
Изменения коснутся и глобальных систем - исчезнут детальные текстуры (в том виде, каком они были в версии 0.5 бета), специальные текстуры для зеркал и воды (которые с особыми префиксами) и т.д.
Вместо этого вводится всеохватывающая система "шейдеров" (ох и путаница тут - шейдеры это и программы GPU, лежащие в папке shaders, и текстурные скрипты в папке scripts, с расширением "*.shader"). Эта система постоянно расширяется и позволяет настроить практически любой аспект рисования текстуры - начиная от задания более высокодетализированной картинки и карты нормалей и заканчивая дополнительными слоями, отражениями и преломлениями. Что-то подобное есть в Quake3 - я даже специально назвал некоторые команды так же (surfaceParm, rgbGen), хотя синтаксис и действие не везде то же.
Собственно, всем ХЛФХом управляют две системы - это вышеупомянутые скрипты-шейдеры и система модов. С последней столкнутся только кодеры, поэтому нет смысла ее описывать. Достаточно сказать, что все моды по умолчанию включены :)

Чтобы создавать карты под ХЛФХ, нужно иметь следующий джентльменский набор:
1) FGD-файл
2) Компиляторы (fxcsg, fxbsp, fxvis, fxrad)
3) Программа для быстрой генерации простейших шейдеров (makeshader)
4) Редактор систем частиц (pfxEd)
5) Просмотровщик моделей ХЛФХ (imview)
6) Ну понятное дело, редактор уровней (любой, но рекомендуется Hammer 3.5)
7) Возможно, будет утилита для написания и редактирования шейдерных скриптов, но это в перспективе... Пока писать ее лень :)
8) Для рисования текстур и карт нормалей нужны фотошоп и плагин к нему (normalmap filter)
9) Для создания моделей понадобится программа, умеющая создавать 3DS (по-моему все умеют) и компилятор моделей ХЛФХ (тоже называется studiomdl, но весьма доработан)

Для создания собственных пост-процессных эффектов вам понадобится компилятор Cg последней версии (можете впрочем писать и на языке ассемблера фрагментных программ, но я надеюсь, что вы не мазохист =)) и соответствующие знания языков (Cg, NVparse, AFS). Впрочем, вместе с ХЛФХ идет набор неплохих фильтров, так что это вряд ли вам понадобится. Но возможность подключения сторонних эффектов я все же добавлю на всякий случай.

А вообще создавать карты под ХЛФХ лучше с нуля, иначе такой геморрой... :)
 
 
12 August 2006 @ 02:09 am
Итак, я использую в HLFX 0.6 попиксельное освещение. Для его расчета я взял вот такую формулу:



Вроде все правильно. Мы прибавляем к лайтмапе вклад диффузного бампа, сохраняем в текстуру, потом умножаем на неосвещенную сцену, и наконец прибавляем спекулярный бамп. Меня смущало вот что:
1. Требуется два прохода рендера (для лайтмапы и для неосвещенной сцены), и оба требуют привязки соответствующего шейдера (lightmap или unlit).
2. Приходилось два раза перебирать списки источников света. А это означает, что приходилось дважды рисовать теневые объемы и дважды выполнять ресурсоемкие операции по очистке стенсил-буфера.
3. Ну и копирование лайтмапы в текстуру - это означает остановку конвеера, что очень плохо.

На помощь пришло простейшее алгебраическое преобразование :) Только не говорите, что это очевидно - это мне теперь очевидно. А до этого я этого не осознавал. Формула теперь выглядит так:



Это добавило дополнительный проход для аттенуации (из-за ограничение на количество текстурных блоков), но она рисуется только в альфу и не сильно понижает fps. Зато все вышеперечисленные недостатки исчезли. FPS вырос в два раза :)
Потратил весь вечер на переписывание кода бампа (в который раз!), но оно того стоило %)
 
 
10 August 2006 @ 01:36 am
Тестировал декали. Результат теста положительный =)

 
 
09 August 2006 @ 02:44 am
Немного скринов. Фича еще не доделана, но уже кое-как работает =)
Это вам не глючные тени из хлфх05, это настоящие shadow volumes!



И еще один скрин под катом...Collapse )