.::Russian Blood Community Forum::. »Blood: The Game We Playing In » Editing Center » 3D-Engines |
Страниц (8): « 1 2 3 4 [5] 6 7 8 » |
105. jm - 10 Августа, 2005 - 04:48:58 | |||||||
Цитата:
Ну к примеру "этаж над этажом". То есть если Duke был 2,5D то Blood уже где то 2,8-2,85555D А вообще эта штука реализовывается очень просто - либо перерасчетов геометрии на стадии загрузки (который и так по идее должен быть) либо транслированием геометрии уже на этапе рендера (тоже просто, но нельзя забывать о контроле столкновений). Далее основное это всё таки специфичные для blood вещи вроде XSprites, XWalls и XSectors. Полного описания их у меня нет. Снова реверсировать код ? Цитата:
Это не спектрум васик Строчки втиснуть всегда можно. Да и архитектурно это не проблема. Только одно но. Ты что, собрался рисовать лайтмапы руками ? Если так, то это плохая идея. Дело дизайнера в таком деле - расставить источники освещения на уровне, а остальное сделает light компилятор. А может вообще попиксельное освещени ? Хотя на открытых пространствах при большом количестве динамических источников освещения это будет смерть игре Цитата:
Во первых оставь идею перерасчета лайтмапов в реальном времени. Не делается так. И не вовремя загрузки уровня, а во время создания уровня. light компилятор обычно последняя стадия обработки уровня, причем самая длительная (от нескольких часов до нескольких дней в зависимости от геометрии). Хорошо же ты придумал считать лайтмапы для уровня на лету Выдашь на экран табличку - подождите пару часиков, пока я перерасчитаю освещение. Причем перерасчитывать для одного лишь полигона не получится - ты не знаешь, как реально будет влиять источник света не пересчитав его на всю видимую геометрию. А видимую (в идеале) геометрию получить нельзя. Можно отсечь большую часть, да (опять же в зависимости от геометрии), но толку это не даст - генерация лайтмапов всё равно будет длительной. Ещё и будет зависеть от алгоритма тобой используемого. Вобщем забудь, расчет лайтмапов на ходу это извращение. Цитата:
Это то, что по сути есть сейчас в Build'е Цитата:
Ещё раз акцентирую - это не твоя работа, это работа light-компилятора (назовём его так) расчитывать освещение. Кстати изогнутость поверхности при расчете не играет роли - всё равно у тебя всё это апроксимируется полигонами (плоскими ) Цитата:
Да я не гружу, всё уже готово просто Класс работающий с md5mesh и md5anim (doom3 форматы) Цитата:
Я плохо понимаю о чем ты Есть вершины и есть текстурные координаты (в пределах от 0,0(левый верхний угол) и до 1,1(правый нижний угол) ). Рисовать ты можешь как угодно и чем угодно. Квады (прямоугольники) в конечном итоге всё равно разбиваются тесселятором на два треугольника. Посмотри примеры по интернету - на том же http://nehe.gamedev.net Там полно текстурированных кубиков и никаких искажений или растяжений при наложении текстур не наблюдается. А там эти кубики состоят из треуголников Ты просто устанавливаешь текущую текстуру, и вместе с координатами скармливаешь видеокарте текстурные координаты. Неясен вопрос на счет растяжения. Тебе нужен тайлинг ? Задай текстурные координаты более 1.0, скажем 2.0 - получишь две текстуры на грани. Нет, я видимо тебя не понимаю, на пальцах давай Цвет пикселя (не фильтрации) по сути задается комбинированием лайтмапа и оригинальной текстуры, то есть на блоке мультитекстурирования или расчитывается в шейдере. Вобщем чтобы было ясно, что ты имеешь ввиду приложи какую нибудь картинку с примером. |
106. Гость - 10 Августа, 2005 - 21:11:52 |
Я предлагаю сделать Blood под Windows на базе мода Quake 2 или как говорил LifeKILLED на базе JFDuke, но этот путь, думаю, сложнее. Движок Quake II: a) Отлично оптимизирован. б) Работает на ЛЮБОМ даже самом древнем компьютере. в) Абсолютно без багов (я имею в виду версию 3.20) Г) Работает на всех версиях Windows одинаково хорошо, нет никаких проблем с совместимостью. д) Занимает смешные обьемы оперативной памяти. e) В подтверждение всего этого скажу, что исходный код Quake 2 был открыт даже позже Quake 3, разве это ничего не говорит ? Из минусов только одно: сильно устаревшая графика, но опять же, есть исходный код. P.S. Я занимался программированием, но программист из меня некудышный, могу писать только самые примитивные расчетные программки. |
107. LifeKILLED - 11 Августа, 2005 - 03:08:25 | |||
Цитата:
Не-а, эксперементировать с формулами, чтобы выглядело как можно ближе к фото, и составлять програмку, заполняющую бюферы тюней. Ну, что мне, по три раза что ли одно и то же повторять надо?! Цитата:
А я что, хотел это сделать?! Я наоборот с тобой согласен! И вообще, про извращение я первый сказал :( Цитата:
Да, можно, и мод Блуда делали создатели Переливания2, но у них проблем накопилось... Как сказал JM, легче самому сделать рендер, а в движке Quake2 не так уж и много фичей, и их самому можно воспроизвести в два счета. О растяжении прямоугольников я плохо объяснил... Ну и ладно, забудь. Сам подумаю. И вот еще. Кто-нибудь слышал о проекте "Darkplace Quake 1"? Вполне рабочая штука: как порт для дума под OpenGL, только это порт для Кваки под движок Дума3 :))))))) Весит всего 2 мега, суешь в папку с первой Квакой и наслаждаешься реальными тенями и бликами, которые накладываются на корявые модельки Кваки... :) Есть ли у них исходник, и можно ли его использовать, как основу для игр с реальными тенями? Просто вопрос на засыпку... |
108. jm - 11 Августа, 2005 - 04:09:18 | |||
Цитата:
Чтобы вы знали мой юный друг - исходные тексты Quake3 недоступны и по сей день. То, что доступно вам это game src а не исходники движка. В свое время были открыты исходные тексты progs.dat (Quake1) и исходные тексты gamex86.dll (в случае Intel PC варианта) и это не значит что был открыт исходный текст движка. Вы, я надеюсь, понимаете, что использование q2 повлечет за собой переделку ВСЕГО контента. Видимо не совсем. По сути это будет то же самое, чем занимаются трансфюженовцы (или трансклюженовцы). У них Q1. Только архитектурно Q2 движок не очень далеко ушел от Q1. Поверьте мне как человеку написавшему статью по BSP алгоритмам и рендеры Q1, Q2 и Q3 уровней. Вобщем я буду продолжать гнуть свою линию. А вы можете брать чужое Цитата:
На сколько я знаю это по сути новая игра, просто на базе Q1. А зачем тебе исходники ? Я тебе пачку таких подгоню, гораздо более простых на восприятие А вообще на счет дарк плейс не знаю, глянь на их сайте. Есть сурсы Tenebrae - вот это уже именно римейк Q1 - стеньсильные тени, попиксельное освещение. Просто я не понимаю, что ты в этих исходниках хочешь увидеть. Там ничего нового нет. А учиться начинать лучше с чего нибудь попроще. А вообще есть ещё исходники Cat Mother, HL2 (не очень свежие), Kreed (не очень свежие) и ещё нескольких коммерческих игр. Про id исходники молчу Про них все знают. Цитата:
Умные люди говорят, если вас не поняли, значит вы недостаточно хорошо излагаете. А что, сложно так повторить ? А что ты подразумеваешь под буферами теней тут ? |
109. jm - 17 Августа, 2005 - 04:39:13 |
В течении недели Кармак обещал открыть исходные тексты Quake3 (не путать с game src). Это исходники именно движка. |
110. Blackwinged - 21 Августа, 2005 - 18:10:45 |
Джон Кармак, ведущий программист id Software, сдержал своё обещание, данное на последнем фестивале QuakeCon, и выпустил иходный код игры Quake III под лицензией GPL. Кроме исходного кода самой игры, в архиве содержится исходный код редактора карт Q3Radiant. Движок игры Quake III выпущенной в 1999 году, послужил основой для целого ряда игровых проектов, и вплоть до недавнего времени был одним из основных графических движков, доступных на рынке. Сейчас id Software выдвигает в качестве замены графический движок Doom 3. Взять исходники можно здесь - ftp://ftp.idsoftware.com/idstuff/source/quake3-1.32b-source.zip |
111. LifeKILLED - 15 Октября, 2005 - 00:13:43 | ||||
Лично мне в исходниках интересна единственная вещь - динамические тени. Для тех, то не знает, вы можете набрать в консоли Третьей Кваки: Код:
, после чего под вашим персонашем будет ползать тень, покруче Шейдерной. Тень обтекает все нюансы пола и даже падает НА САМОГО ПЕРСОНАЖА (скажем, тени от рук падают на туловище). Тени работают лишь при 32-ч битах цвета и только на карточках с 64-мя мегами (у меня сейчас встроенная видюха, и на ней не идет, а раньше, со ЖиФорсом2 (64 меговая модель) шло). Хотелось бы выведать эту тайну... ТЕПЕРЬ ОТВЕЧУ JM'У http://www.bloodgame.ru/forum/topic.php?forum=1&topic=51&start=2 Цитата:
Знаю, поэтому и предлагаю честную геометрию. Далее, ты говоришь о понижении детализации. Ты имеешь ввиду, на расстоянии? Я пока не думал об этом, но первое мое предложение - просто плавно растворять геометрию при большом удалении, как исщезают балконы домов в Gta3, и при полной невидимости их попросту стирать. Конечно, это какое-то извращение, но что делать-то... Если ты имел ввиду оптимизацию самих моделей, то это еще в 3dsmax'е можно сделать перед сохранением Что касается дисплейсменда, то по-моему это полная ерунда, поскольку я видел эту лажу в 3dsmax. Полигонов ОЧЕНЬ много, а толку ОЧЕНЬ м ало. Поскольку рассчет ведется относительно растровой картинки, на каждый для каждого пиксела ресуется два полигона квадратиком... Все торчит, выпирает... Ужас, короче. Цитата:
Как же, а подойти и посмотреть на подоконники и ручки шкафоф? Помоему, это добавит нашему порту большое привосходство над другими... а мы им исходников не дадим Цитата:
Не сыпь мне соль на рану... Ты чертовски прав... Вообще, по-конкретнее разъясню механизм. Как я предполагаю, чудным механизмом будут использоваться те же файлы карт, поскольку для загрузки этого кошмара потребуются только параметры секторов и отдельно 3d-модели "стен". (предлагаю сделать свой формат, без всяких там UVW, текстур и объектов, а простое перечисление координат полигонов). В результате при загрузке карты (или при обработке их чем-нибудь вроде утилитки "glbsp" JDoom'а) будут создаваться два варианта карт: с этими моделями и упрощенная версия без них. А уже сам движок будет вблизи использовать первый вариант, а на указанном расстоянии заменять его вторым. Что касается системы наложения таких вот объектов. Система Displacement'а была бы самым легким вариантом, но поскольку мне чертовски хочется очистить картинку от лишних полигонов, я предложил накладывать на стены сложенные как бы кафельной плиткой взятые за основу модели. (контуры моделей будут совпадать при совмещении левого и правого варианта, поэтому, если на огромной стене сложить в клеточном порядке эти модели, получится одно целое, без дыр). Но в этом случае (с моделами вместо Displacement'а) придется, по избежании "дыр" на краях стен и между разными текстурами (для них будут использоваться разные объекты, а значит "дыр" на стыке отсеченных краев будет не избежать) не просто отсекать полигоны, выходящие за край стены, но и дополнять их новыми полигонами, закрывая эти "дырки". В общем, мы тут имем полный джентельменский набор головной боли. Я попробую сделать все это, когда буду готов, а пока можешь относиться ко всему этому, как к глупой шутке... Но, в конце концов, есть полигоны, так почему же с ними не почумиться? Ах, да. Как я уже сказал, текстура будет рассчитываться самым варварским способом - по координатам "x" и "y" относительно подразумеваемой стены. |
112. Blackwinged - 15 Октября, 2005 - 04:45:34 | |
Цитата:
О! Я этого не знал. Так, где мой shotgun под кодовым именем ASUS N6600 с 256 метрами памяти онбоард? Пойду проверять. LifeKILLED , а что с видюшкой у тебя случилось? Померла, что ли? (Добавление) Сорри, но немножко оффотопа... LifeKILLED меня заинтриговал этими тенями, но мне их не врубить. Если в консоль забиваешь, то это появляется в виде как будто персонаж ляпнул это сочетание слов. Гуру Quake3, если здесь есть такие, как забить в консоль чтобы действие-то произошло? Или это версия 1.32 такая кривая? (Добавление) Ух, ещё одно добавление, но последнее, клянусь. Включил всё-таки это дело вставкой команды напрямик в q3config. Через консоль - ни в какую. Но, к делу. Ну и весёлые же тени. Да, от коробок с патронами, броников, оружия, armor shards и прочих фичек игры отражаются, даже изменяют свою форму. Но также и пропадают нередко, словно проваливаются. И опять - от ботов тени есть, а от меня - нет. Обокрали на тень, редиски. |
113. jm - 15 Октября, 2005 - 10:25:04 | ||||
К слову. Шейдерных теней не бывает Вернее... Вобщем неправильное название. То, о чем вы говорите есть обыкновенные стенсильные (stencil или буфер трафарета если угодно) тени те же самые что составляют основу теней в Doom3. На счет работы на 64 мегабайтах не очень уверен. Думаю что и на TNT это будет работать Вопрос только с какой производительностью На счет 32 бит ты прав. Объясняется это просто - Nv карты поддерживают аппаратный стенсил только в 32 битном цвете. Единственное в Q3 похоже есть самозатенение с твоих слов Вообще тени это очередная holywar в 3д графике - кто то предпочитает stencil shadows, кто то shadow mapping. У обоих методов есть свои плюсы и минусы. Один из главных минусов ss это нагрузка Попробуйте отключить ss в doom3 и вы увидите как сильно вырастет fps Стеньсильные тени далеко не новинка. Не знаю как в Q3, а к Unreal (первому !) давным давно был патч для TNT карт в котором была введена тестовая поддержка стеньсильных теней. Во всеми нами любимом Lithtech (Blood2/Shogo) тоже были стенсильные тени Только там некоректно отрабатывался овердро полигонов результате на тенях лезли артефакты. Во всяком случае в Shogo так было точно. Цитата:
Ох. Я надеюсь ты отдаешь себе отчет при слове "честная геометрия" и сколько это потянет за собой работы Да именно - на расстоянии. Если быть точным то скорее всего придется использовать что нибудь вроде PM(progressive meshes) и его аналогов. То, что используют ребята в Сталкере и Дальнобойщиках 3. Это то, что я знаю. Вероятнее всего этот же алгоритм используется в том же Serious Sam i/ii и многих других игрушках. С другой стороны использовать LOD алгоритмы для замкнутых пространст (приимущественно, ведь всё в Blood это сектора) это наверное оверкил. Всё равно там придется использовать что нибудь вроде BSP или Octree или просто порталов. А это очень сильно сократит количество отображаемой геометрии. Цитата:
Я бы поостерегся применять терминологию 3ds max. Слово дисплейс очень распространено. Я бы дал тебе ссылочку на презентации ATI с одного из последних GDC. Но боюсь я не помню где и что. Если коротко - дисплейсмент меппинг это вытягивание пикселей вдоль нормали к плоскости полигона на базе некоторой карты высот. Но могу и ошибаться. Как я уже говорил - я это не щупал вообще. Цитата:
Все будет зависеть на сколько я понимаю от качества карты высот. Цитата:
Опять же не смешнивай понятия 3ds max с реальной игрой. Ты не будешь делать displacement mapping в реальном времени. Ты подготовишь всё заранее. А вообще некислые у тебя желания - стеньсильные тени, бампмеппинг, попиксельное освещение. Ничего не напоминает ? Это уже Doom3. И это означает полную переработку всего - движка, моделей, текстур, уровней. Я сразу говорю - я пас |
Powered by ExBB 1.9.1 Original Style v1.5a2 created by Daemon.XP |