jeank
43 постов
Карма: 4
#31 17 декабря 2009 в 20:05
[quote author=Barnes link=topic=597.msg13193#msg13193 date=1261064838]<br />гамма....<br />у нас давно стоит хардварный гамма рамп[/quote]<br /><br />Наподобие как в Quake 3?
Берсеркер
2319 постов
Карма: 216
#32 18 декабря 2009 в 03:28
jeank,<br />
if ((r_viewleaf-&gt;contents == CONTENTS_WATER || r_viewleaf-&gt;contents == CONTENTS_LAVA || r_viewleaf-&gt;contents == CONTENTS_SLIME))
<br />красивее будет такой код:<br />if (r_viewleaf-&gt;contents &amp; MASK_WATER)<br /> ;)<br />пропиши сразу дифайн, если еще не прописан:<br />#define MASK_WATER&nbsp; &nbsp; (CONTENTS_WATER | CONTENTS_LAVA | CONTENTS_SLIME)<br />т.к. возможно во многих местах может понадобиться.<br /><br />
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
jeank
43 постов
Карма: 4
#33 18 декабря 2009 в 10:08
Да, спасибо, так намного удобнее.<br /><br />Жаль, конечно, что код GL Hexen так непохож на Q2, я вообще-то думал, что сходств будет побольше, <br />а пока что гораздо больше отличий, чем сходства...<br /><br />P.S. Правда, есть и плюс - в GL Hexen относительно ненмного накручено, поэтому даже плохо зная C и смутно понимая структуру работы движка, удается лечить серьезные графические баги. <br />Хотя и на это уходит много времени и сил.<br />Может, когда-то в далеком будущем пойму, как там все эти шестерёнки вертятся. Для знакомства с C# вроде как самое то...
jeank
43 постов
Карма: 4
#34 19 декабря 2009 в 16:52
//Прикрутил к gl_hexen2 хардварный гамма рамп из Quake 3, так что теперь вопрос такой - <br />//нормально ли использовать тамошнюю overbright в качестве контраста?<br />P.S. - Про overbright - вопрос прояснился, контраст так не покатит, сорри за беспокойство ...<br /><br />И еще - пришлось вырезать опросы GL драйвера, 3DFX там, обычный OpenGL или standalone opengl. <br />Это будет приводить к вылетам на разных системах? Потестить-то не могу, у мну на системе работает, у других - не знаю...
Barnes
1972 постов
Карма: 153
#35 19 декабря 2009 в 20:23
у нас в ку2 все старое безжалостно вырванно с корнем.<br />просто поставь проверку на определенные экстекшены необходимые для работы и краши двиган если их нет
Какой богатый внутренний мир! Дай-ка посмотрю.....
jeank
43 постов
Карма: 4
#36 20 декабря 2009 в 11:56
Ок, намёк понял :)<br /><br />Поскольку я в меру сил порешал большинство поставленных перед собой задач, то выпустил новую версию переделки Hexen 2.<br />Лежит на hexen2retex.narod.ru<br /><br />Кроме всего прочего, оказалась вполне хороша идея автотумана - в зависимости от названия уровня включается пресет его цвета (остальное пока решил не трогать), таким образом более естественно получаются ночные, зимние, песчаные и прочие уровни.<br />Может, удобнее будет пресеты вынести в отдельный файл или даже реализовать динамическую погоду, со сменой тумана и неба...
jeank
43 постов
Карма: 4
#37 26 декабря 2009 в 13:47
Тут поднакопилось еще вопросов, предварительных, так сказать.<br /><br />Я потихоньку хочу поглубже разбираться с движком, и сравнивая ключевые возможности glhexen с вашими движками, выделил несколько основных фишек, которые сразу бросаются в глаза - модель освещения, бамп/параллакс маппинг и шейдерная вода.<br /><br />Пример с шейдерной водой под opengl я нашел, буду раскапывать, а вот с моделью освещения вопрос - она явно не уровня quake3, и вроде как не совсем похожа на darkplaces. Где-то можно поподробнее узнать о реализации подобного принципа?<br />В родном jsHexen2 очень чувствуется ограниченность лайтмапов и динамического света - если поверхность уже освещена, то пролетающий рядом светящийся объект её никак не освещает. Как понимаю, там аддитивный метод, и если текстура поверхности уже освещена лайтмапом на 255, то ничего не происходит. А как надо реализовать?<br />Это вопрос авансом, я еще не углублялся в код, поэтому,&nbsp; может, что глупое написал... <br />Но как-то спокойнее искать, примерно представляя себе механизм.<br /><br />P.S. Еще вопрос по движку берсеркера - там короны (glow) у источников света реализованы двумя glow окружностями разной интенсивности, или там какой метод затухания интенсивности для одной окружности?
Barnes
1972 постов
Карма: 153
#38 26 декабря 2009 в 20:24
лайтмэп это не add (dest=src0+src1) а mul (dest=src0*src1)<br /><br />По уровню у меня просто коллапс шейдер - дифуз(параллакс если есть)+лайтмэп+глоу+каустика в один проход.<br />У Берса все как в дум3-тенебрае-дакрплейсиз, соотвественно модель освещения моделей таже<br />У меня комбинация берса (попиксельный спекулар нормадмэппинг) и классической вертекс-лайт модели ку2.<br /><br />Короны у Берса это две разные интенсивности на аддативе<br /><br /><br />
Какой богатый внутренний мир! Дай-ка посмотрю.....
jeank
43 постов
Карма: 4
#39 27 декабря 2009 в 17:13
В очередной раз спасибо, буду переваривать&nbsp; :)
jeank
43 постов
Карма: 4
#40 28 декабря 2009 в 22:17
Очередная проблема.<br /><br />Сегодня обнаружилось, что новые драйвера Nvidia 195.62 не запускаются ни с портом, ни с оригинальной игрой.<br /><br />Есть какая-то методика определения причин ошибки?