Название: Китайский домик. Отправлено: Macro от 23 Июня 2010, 16:45:47 Вот набросал тестовую сценку. Драконы и дерево - тест хайполи обьектов. Сам домик это реальный проект а окружение баловство. Не забудте "активировать океан". Конечно много с чем еще не разобрался - надеюсь подскажите, но пока смотрите - делитесь, коментируйте.
http://rts1.com.ua/arh/China.rar Название: Re: Китайский домик. Отправлено: Sqwer от 23 Июня 2010, 17:41:09 67/100
Прошу обратить внимание на следующие недостатки: загрузка очень долгая без заставки и прогресс баров (видно напрямую использовались каналы квеста) если демка на распространение - то это важный фактор контент огромен для такой маленькой сцены (вероятно лайтмапы оч большие) на дереве перекручен спекуляр , он был бы уместен если на нём был нормал бамп карта дерева карты нормалей не совпадают с дифузными при смене материалов нужны тени!!! хоть стенсильные палится сильно спекуляр дерева обратной стороны доме , если смотришь на закат жутко тормазная система погоды (её необходимо поковырять) садит ФПС активация океана при удержании кнопки О сопровождается его отсутсвием океан не скрывается в тумане у деревьев текстура с полными мип уровнями, так что листочки вдалеке необосновано размываются (мипы ставим на LOW) масштаб полигонов не соблюдён и т.д. Моделька домика зачётная ;) 90/100 Название: Re: Китайский домик. Отправлено: Alteste от 25 Июня 2010, 09:08:25 Модель здания хорошая!
Лайтмапы огромные - 2048 по 20 мб никуда не годится. И если у тебя скажем 2 дракона одинаковые, то юзай для них одну лайтмапу и меш (создавай ярлыки внутри проекта) Раскладку для лайтмапы делай не более 1024 и с помощью Unwrella - замечательный плагин всем советую. Большие текстуры делай в DDS формате. Лайтмапы делай в шопе Grayscale и save for devices Погоду эту дурацкую квестовскую не используй (кому она надо) Стандартные квестовские тени (stencil и hardware) не используй, если нет для этого серьезной причины. Научись делать прелоадер. Название: Re: Китайский домик. Отправлено: Macro от 25 Июня 2010, 12:42:36 Спасибо за коменты, постараюсь по максимуму для себя подчерпнуть.
Большие лайтмапы потому как развертки делал автоматом в максе, а домик резной. Попробую использовать Unwrella по совету Alteste, может тогда и получится уменьшить лайтмапы. Стандартные квестовые тени не использую, но чтото с динамическими тенями всетаки думать надо. Драконы - это один дракон с одной лайтмапой, второй - он же. А тпкже одинаковые или зеокальные обьект (например лесенки). А вот прелоадер реально нужен, этим то я и займусь в первую очередь. Не подскажите где почитать как его делать? И как убрать выбор разрешения в начале, ато заказчики они как правило не понимают че там нажимать, нада чтоб все автоматом запускалось. Еще раз спасибо. Название: Re: Китайский домик. Отправлено: Alteste от 25 Июня 2010, 14:03:10 да, скачай и юзай Unwrella и забудь про максовский Unwrap
Единственные нормальные динамические тени для квеста - PSSM от виика Прелоадер можешь поискать в поиске на оффе и здесь по ключевикам "preloader" "load screen" и тп Для старта сцены в окне с заданным разрешением используй схему что я прикрепил в файле, разберешься там Название: Re: Китайский домик. Отправлено: Ruslan от 25 Июня 2010, 14:04:43 Лайтмапы можно в фотошопе уменьшить и с помощью плагина (в гугле поищи Photoshop_Plugins_8.23.1101.1715) сохранить как .dds (в настройках плагина, для лайтмап хорошо подойдет формат "DXT1 no alpha"). Кстате, если запекать текстуры в максе, то там в настройках можно легко указать нужное разрешение.
Название: Re: Китайский домик. Отправлено: dfx от 26 Июня 2010, 09:45:35 to Ruslan
Лайтмапы лучше не жать. А DXT1 - самый безжалостный к качаству вариант. 95% карт освещения - это плавные переходы, которые после алгоритма DXT1 распадаются. Уж лучше тогда экономить на цвете, и карты освещения сохранять в одноканальные варианты - A8 или L8. Из наблюдений - грамотная UV-раскладка позволяет обойтись меньшим размером лайтмапа. Название: Re: Китайский домик. Отправлено: Ruslan от 26 Июня 2010, 10:00:05 dfx
Согласен на счет качества, но когда огромный проект, много лайтмап, то придется пойти на компромисс.. Лайтмапы имеет смысл запекать разве что только для GI, черно-белое GI как бы на любителя.. В интерьерах, на "чистых" стенах, будет заметно сжатие лайтмап, но если диффузные текстуры имеют фактуру, например штукатурка, дерево, камень, и т.д. то сжатые лайтмапы особо в глаза бросаться не будут, особенно если использовать шейдера с нормалями и спекуляром, а вот видео память сэкономишь. Технология Lightmap себя практически изжила (совсем не интересно смотреть на статичные интерьеры\экстерьеры) Вообще, как по мне, так лучше переходить на deferred shading, использовать динамичные тени, SSAO и SSII. Так, для сравнения, сделано в квесте: http://www.youtube.com/watch?v=skkXty7psMU Название: Re: Китайский домик. Отправлено: →|๖ۣۜDen|← от 26 Июня 2010, 14:19:30 ...лучше переходить на deferred shading, использовать динамичные тени, SSAO и SSII. Ага, всё классно, но будь таких башенок хотя бы 3 штуки, можно ставить свой компьютер на пусковую установку и наблюдать за запуском своей машины в околоарбитное пространство, будет красивей. :D Так, для сравнения, сделано в квесте: http://www.youtube.com/watch?v=skkXty7psMU А ещё как вариант можно попробовать записать всё что происходит на мониторе на камеру, а потом в ускоренном режиме смотреть запись. ;) Печально что железо запаздывает за технологиями.., но в ближайшие 2-3 года будет просто нереальный прорыв! ;) Тогда SSAO/II будут как щас стенсили) Название: Re: Китайский домик. Отправлено: dfx от 26 Июня 2010, 14:23:16 Ruslan
Цитировать но когда огромный проект, много лайтмап, то придется пойти на компромисс При недостаточном времени, можно. Еще это очень сильно зависит от опыта.1.Не обязательно каждый объект должен иметь цветной лайтмап. 2.Не обязательно каждый объект должен иметь уникальный лайтмап. 3.Не обязательно каждый объект вообще должен иметь лайтмап. 4.Оптимизации с учетом особенностей геометрии(повторов, симетрии и т.д.) 5.Оптимизация UV-раскладки. 6.Оптимизации с учетом используемого освещения, цвета освещения. 7.Комбинация 2 лайтмапов разного разрешения. - Огромное количество возможностей сделать так, что бы и на большой проект не понадобилось >1тб видео памяти. Было не мало случаев, когда разработчики умудрялись выжать очень хорошую картинку из железки, которую уже списали.) Зато другие - на новом железе и новыми возможностями продолжали делать графику, отставшую на пару поколений и дикими тормозами. Может всетаки компромис не только размером сцены вызван? ;) Цитировать черно-белое GI как бы на любителя Это частная ситуация. Если можно задать цвет окружению и ИС в эффекте, то зачем расходовать зря видеопамять?Цитировать Лайтмапы имеет смысл запекать разве что только для GI Опять же частная ситуация - Демонстрация одной стат. модели против демонстрации экстерьера.Цитировать то сжатые лайтмапы особо в глаза бросаться не будут А в случае, если надо показать грязный и пригоревший объект, то только на пользу сжатие пойдет. - опять частный случай.Цитировать Вообще, как по мне, так лучше переходить на deferred shading, использовать динамичные тени, SSAO и SSII. Это зависит от задачи - есть ситуации, когда deferred обходится много дороже forward shading'а.Говорить о кончине предпросчитанного освещения рано, они использовались, и будут использоваться в статичных сценах. Кроме того эти технологии эволюционируют и практически всегда по качеству картинки опережают реал-тайм. Если опираться на обсуждаемую сцену, то при использовании и Greyscale карт освещения, картинка могла бы быть лучше. Sqwer Цитировать у деревьев текстура с полными мип- уровнями, так что листочки вдалеке необоснованно размываются (мипы ставим на LOW) Это тоже стоит делать только тогда, если нет желания париться с мип уровнями. В результате получим рябь. ;)Если есть желание сделать нормально, то редактируем мип-уровни в фотошопе. Грамотное применение фильтров сильно улучшает результат. Если текстур растительности не много, то это не отнимет много времени, зато увеличит качество. Сохранять итоговую текстуру надо в DDS - другие форматы не могут хранить мип-уровни. С Уважением, Юрий. Название: Re: Китайский домик. Отправлено: Ruslan от 26 Июня 2010, 14:27:26 Den
Моральное старение видеокарт происходит примерно раз в год, видеокарты этого года выдадут приличный фпс в таких демках, я сужу по играм таким как Crysis Warhead, Metro 2033 и т.д. Естественно , ты и сам прекрасно знаешь про лоды, и т.д. , так что не буду писать.. Если в ту демку добавить хоть 10 башенок - фпс практически не поменяется, потому, что количество фейсов там погоды не сделает.. ;) Скоро, будет прорыв! :) dfx Как говорится, сколько людей - столько мнений. При таком подходе, как вы описали, проект может сильно затянутся по времени , + моделлеры\текстуровщики спасибо не скажут ;) и при этом, на создание контента вы потратите раза в два больше денег и времени. Видел проекты (в которых юзались лайтмапы) причем не масштабные, которые весили под 300 метров, ооочень долго грузились, и дико тормозили. Конечно, все зависит от ситуации, и от проекта.. в одном случае будет выгодно использовать лайтмапы (статичная сцена, демонстрация одной статичной модели) в другом нет. Хотя, с другой стороны, если есть возможность легко использовать динамику, то зачем мучатся с анврапом, и ограничиваться статикой? я не спорю, просто мне интересно услышать мнение других, т.к. на форуме довольно редко обсуждается данная тема. Название: Re: Китайский домик. Отправлено: Sqwer от 27 Июня 2010, 03:13:13 dfx
Цитировать Это зависит от задачи - есть ситуации, когда deferred обходится много дороже forward shading'а. преимущественно во всех сценах будет выруливать диферед, поясню: 1. современные видяхи обладают быстрими ROP, большим количеством памяти, т.е. для них отрисовать фулскрин лейн - плёвое дело, (не то что старенькие карточки) т.е. не стоит обращать внимание на казалось бы большой объём перегоняймой памяти. ;) 2. все постэффекты SSAO / Sushaft/ Blur/ мягкие частицы и т.д. используют G буфер, в случае диферда он достаётся БЕСПЛАТНО!!! :D 3.Овердрав на стадии освещения = 0 ;) 4. 100 источников света (направленных , затухание по квадрату растояния) в сцене без просатки ФПС !!! :o 5. в отличии от форварда стадия освещения не восприимчива к количиству вершин. :o 6... Вы всё ещё на форварде, тогда мы идём к Вам. ;) В действительности уже не осталось таких ситуацих где Цитировать deferred обходится много дороже forward shading'а. (если вы конечно не рендите куб или у вас карта 2006 года выпуска или старше).Цитировать Это частная ситуация. Если можно задать цвет окружению и ИС в эффекте, то зачем расходовать зря видеопамять? Прокатит при чёрно-белой сцене. ;D в иных ситуациях - фейк, при том очень палевный. Лайтмапы - зло, они нападают на на наши сцены, отбирают ФПС и память, оставляя за собой только тёмные следы, время как бы замерает. :-\ →|๖ۣۜDen|← Цитировать Печально что железо запаздывает за технологиями.., но в ближайшие 2-3 года будет просто нереальный прорыв! Тогда SSAO/II будут как щас стенсили) перефразирую:Печально что разработчики запаздывают за технологиями. :'( Ruslan Цитировать Моральное старение видеокарт происходит примерно раз в год. ещё более глубокое моральное старение происходит при появлении новых технологий (у нас: конкретно с приходом нового DX)Однажды Const_47 проглаголил истину: Идеальная формула для создания красивой графики, и главное 100% рабочая. результат = lerp(фейк,риалтайм,(pow(знания,опыт))); )) Название: Re: Китайский домик. Отправлено: →|๖ۣۜDen|← от 27 Июня 2010, 14:28:15 Ruslan,
Если в ту демку добавить хоть 10 башенок - фпс практически не поменяется, потому, что количество фейсов там погоды не сделает.. Фейсы - как наплыв полигонов - ясен пень почти ничего не сделают, тем более что самими разрабами квеста это заявлено - обрабатывать полигоны в большом объёме.., но а представь обработку всех uani-постэффектов (которые + ко всему не оптимизированы и без мрт) на модели Станфордского Дракона.) Я не думаю, что изменений не будет ;) Там один SSOCC убьёт всё.Название: Re: Китайский домик. Отправлено: Ruslan от 27 Июня 2010, 14:37:06 Den
Думаю, что Юани используют MRT, иначе, никакое железо такое бы не потянуло.. в том то и дело, что постэффекты работают на весь экран после рендера в глубину и так далее.. так что разницы особой нет 1 объект на экране или 10 (естественно, если не меняются рендер стейты, и используется лодирование). Название: Re: Китайский домик. Отправлено: →|๖ۣۜDen|← от 27 Июня 2010, 14:40:52 Я вот сегодня вечерком потестю)) 8) У тебя кстати ж есть демка, где можно свою вставить модель, попробуй :)
Название: Re: Китайский домик. Отправлено: Ruslan от 27 Июня 2010, 14:49:25 Нет, нету, я скачивал, но у меня что то не получилось с импортом, и я убил демку..
Ден, только ты кроме 10 Станфордских Драконов не оптимизированных, для чистоты эксперимента, попробуй вменяемые по количеству фейсов объекты закинуть. Название: Re: Китайский домик. Отправлено: →|๖ۣۜDen|← от 27 Июня 2010, 14:51:51 хорошо :)
Драконы) это я уж так.. :D Название: Re: Китайский домик. Отправлено: Alteste от 27 Июня 2010, 14:54:16 о каких драконах идет речь?
Что то вы ушли далеко от темы :) Название: Re: Китайский домик. Отправлено: →|๖ۣۜDen|← от 27 Июня 2010, 14:59:43 о каких драконах идет речь? http://en.wikipedia.org/wiki/Stanford_DragonЧто то вы ушли далеко от темы :) Название: Re: Китайский домик. Отправлено: Sqwer от 27 Июня 2010, 15:11:03 А может вам проще поступить: перхудом проверить, я сделать не могу т.к. нет худа на 7.
Название: Re: Китайский домик. Отправлено: Ruslan от 27 Июня 2010, 15:11:49 я тоже на 7 ке
Название: Re: Китайский домик. Отправлено: →|๖ۣۜDen|← от 28 Июня 2010, 14:13:55 1 модель = 11155 вершин (20432 фесйов). URE: 30-31 fps. 0.0333 сек/фрейм
10 моделей = 111550 вершин (204320 фесйов). URE: 15 fps. 0.0666 сек/фрейм 50 моделей = 557750 вершин (1021600 фесйов). URE: 5-6 fps. 0,16 сек/фрейм Название: Re: Китайский домик. Отправлено: Ruslan от 28 Июня 2010, 14:25:06 Intel® Core™ i5-750
ОЗУ 4.00 ГБ ATI Radeon HD 5850 1920 x 1080 _________________________ 204 320 фейсов - 45 фпс 1 021 600 фейсов - 10 фпс _________________________ На мой взгляд, исходя из грубых тестов, у Юаней не deferred shading, а forward shading, скорее всего поэтому такое проседание фпс. С другой стороны, сцена в 200 000 фейсов (45 фпс) - вполне приличная, это из расчета, что если при всем этом, используются лоды и системы оптимизации. Название: Re: Китайский домик. Отправлено: Macro от 28 Июня 2010, 16:01:39 Информации к размышлению более чем достаточно. Вывод - учиться, учиться и еще раз учиться.
Название: Re: Китайский домик. Отправлено: dfx от 29 Июня 2010, 07:41:58 Ruslan и Sqwer
Вы так восторгаетесь deffered shading. Можно поинтересоваться? А вы используете этот подход в реальных проектах? Такое безапиляционное утверждение Sqwer'а как, Цитировать преимущественно во всех сценах будет выруливать диферед Наводит на мысль, что Sqwer его использует. Тогда, мне интересно, как была решена проблема с использованием сложных материалов, имеющих 6-12 управляющих параметров в комплексе с 2-3х канальными масками. Или когда в сцене большое количество полупрозрачных объектов, например? Как передаете параметры, в случае использования таких техник, как MRT или Radiance Normal Maps? Мне, например, SSAO не подходит, по причине низкого качества, кроме того этот алгоритм по своей природе не может считать притенения от объетов, которые не попали в камеру - что тоже не подходит. Алгоритмы SSAO, где в расчетах учавствуют несколько позиций камеры или слои - можно отсеивать, т.к. это уже не один вызов геометрии. Кроме того притенение SSAO нельзя ввести в зависимость от положения ИС.(В случае с RNM это делается без проблем). Есть, конечно, HBAO алгоритм, но он работает с dx10 и сильно грузит GPU. Поэтому приходиться использовать Precalculaed-техники. Цитировать 100 источников света (направленных , затухание по квадрату растояния) в сцене без просатки ФПС !!! Это, безусловно круто! А вызов лайт-объемов вообще никак не сказывается на производительности?Или в квесте их всетаки можно инстансить?Цитировать в отличии от форварда стадия освещения не восприимчива к количиству вершин. Так освещение в форвард тоже идет после растеризации. До 10 ИС можно спокойно юзать, так же, порезав им дистанцию(для поинт-ИС точно), ведь когда доходит дело до освещения, ввершины то уже не нужны! Или в дефферед даже создание G-буффера не зависит от количества вертекстов? ::)Цитировать все постэффекты SSAO / Sushaft/ Blur/ мягкие частицы и т.д. используют G буфер, в случае диферда он достаётся БЕСПЛАТНО!!! Ну с этим я не согласиться просто не могу! ;D Что правда- то правда. Если уж посчитали G-buffer, то почему бы его не использовать? ;)Цитировать современные видяхи обладают быстрими ROP, большим количеством памяти, т.е. для них отрисовать фулскрин лейн - плёвое дело, (не то что старенькие карточки) т.е. не стоит обращать внимание на казалось бы большой объём перегоняймой памяти. А вот это спорно - на объем памяти обращать внимание все же надо. Кроме того шина не ризиновая. А еще есть такое понятие, как средняя системная конфигурация целевой аудитории. У каждого своя современная видяха. :)Цитировать Прокатит при чёрно-белой сцене.в иных ситуациях - фейк, при том очень палевный. А еще в сцене, где можно динамически менять диффузные текстуры. И в Out-door сценах, где можно использовать схему "Желтое солнце/Синее небо". И вообще цвет в ЛМ можно заменить на SSII - от него пользы явно будет больше, чем от SSAO. А насчет палева... Ну это смотря как реализовать - у кого-то палевный, а у кого-то и нет. ;)Цитировать Печально что разработчики запаздывают за технологиями. В случае, если разраб ориентируется на массы, то исследуется средняя кофигурация какой либо группы, проводится анализ и т.д. Если один заказчик, то он сам может задать планку - ему виднее, где он это приложение будет использоваться. А как насчет 3д-блоков на веб-страницах? Даже если у Вас все клиенты с HiEnd видяхами, то все равно читать такое, по меньшей мере, странно. ???С уважением, Юрий. Название: Re: Китайский домик. Отправлено: Ruslan от 29 Июня 2010, 09:39:34 Цитировать Тогда, мне интересно, как была решена проблема с использованием сложных материалов, имеющих 6-12 управляющих параметров в комплексе с 2-3х канальными масками. Для примера, приведу цитату из статьи: Перевод: http://ru.ziggyware.com/readarticle.php?article_id=16&rowstart=0 Оригинал: http://www.catalinzima.com/?page_id=14 Цитировать VI. Несколько материалов Одним из недостатков отложенного затенения является ограниченное количество типов материалов. Модель Фонга, которую мы используем в данный момент, позволяет выполнять настройку через интенсивность отражения и мощность отражения. Используя их мы можем получать поверхности с разной степенью блеска, как было показано в предыдущих главах. Однако, световая модель не может моделировать любой тип поверхности, чего нам может хотеться. Например, бархатная поверхность, на которой появляются мягкие блики при малом угле зрения не может быть нарисована с использованием модели Фонга. К счастью, есть решение. Решение может заключаться в наличии очень большого G-буфера, со многими параметрами в нем, комбинация которых позволит моделировать любой тип поверхности. Это идеальное, но непрактичное решение. Огромный G-буфер отменит все другие преимущества, которые дает отложенное затенение. Другим решением может стать хранение идентификатора материала. Затем, на основании этого идентификатора к различным типам поверхности модели будут применяться различные шейдеры освещения. Это похоже на обычную визуализацию с многочисленными шейдерами для каждого типа объектов в мире. Однако, что будет критерием, позволяющим определить, какой шейдер использовать для каждого источника света? Рисовать каждый источник света несколько раз с каждым возможным шейдером очень медленно. Базируясь на данном решении, мы можем переместить все шейдеры в единый сверх-шейдер, и определять, какую формулу применять, используя множество ветвлений. В таком случае последовательность ветвлений может быть весьма приемлемой, поскольку пиксели, которые заключены на экране, имеют тенденцию относиться к одному и тому же материалу. Но для объектов с большим количеством моделей освещения может потребоваться достаточно много ветвлений. На сегодняшнем оборудовании это не слишком хорошая идея, но метод можно держать в уме для использования в будущем. По мере усовершенствования видеокарт ветвления будут становиться все менее и менее дорогостоящими, а данное решение будет выглядеть все более и более привлекательным. Но сейчас нужно другое решение, которое будет дешевым и обладать достаточной гибкостью. Идея состоит в хранении реакции на освещение в текстуре. Затем мы можем прочитать данные из этой текстуры, использовать параметры, такие как N*L и N*H (H – это половинный вектор, являющийся заменой для вектора отражения в модели освещения Блина), и вернуть интенсивность освещения. NVIDIA предлагает пример реализации такого подхода на своем сайте. Как видите, это приводит к интересному световому эффекту, который недостижим при использовании одной только модели Фонга. Если у нас есть текстура реакции на освещение для каждой модели освещения, которую мы хотим реализовать, то мы просто выбираем между этими текстурами, используя идентификатор материала. Более того, если мы храним эти текстуры в трехмерной текстуре, можно использовать идентификатор материала в качестве третьей координаты текстуры. Итак, для получения реакции на освещение конкретной поверхности мы можем осуществлять выборку из трехмерной текстуры, используя координаты (N*L, N*H, ID), где N – это нормаль поверхности, H – половинный вектор, а ID – идентификатор материала. К сожалению, я не могу привести пример использования этой техники, поскольку сам только начал экспериментировать с ней в коде еще все наперекосяк. Кроме того, эта тема заслуживает собственной отдельной статьи и выходит за рамки данного урока. Такая техника с использованием идентификатора материала для выборки реакции на освещение из трехмерной текстуры уже применялась в коммерческой игре (S.T.A.L.K.E.R.), и является замечательной областью для дальнейших экспериментов, если вы интересуетесь визуализацией с отложенным затенением. Кроме того, она может быть еще расширена путем использования BRDF, где выборка информации об освещении производится в двух и более текстурах. Больше примеров использования текстур BRDF можно найти в библиотеке шейдеров NVIDIA. Цитировать dfx Или когда в сцене большое количество полупрозрачных объектов, например? Цитировать Прозрачность Как мы увидели ранее, прозрачные объекты создают проблемы для визуализатора с отложенным затенением. Причина очевидна: поскольку освещение применяется в конце, после того, как все нарисовано, освещена будет только ближайшая к камере точка. Следовательно, если мы попытаемся нарисовать прозрачный объект, объекты за ним будут видимы, но не будут правильно освещены. Решением является визуализация всех прозрачных объектов после применения отложенного освещения. Они будут рисоваться обычным способом, с использованием передового визуализатора и смешиваться с изображением, полученным в результате работы отложенного визуализатора. Цитировать Как передаете параметры, в случае использования таких техник, как MRT или Radiance Normal Maps? Думаю, что сами с этим разберетесь.. ;)Цитировать Алгоритмы SSAO, где в расчетах учавствуют несколько позиций камеры или слои - можно отсеивать, т.к. это уже не один вызов геометрии. ага, не к чему, это делать лишний раз.Цитировать Цитировать На сколько мне известно, не нужно вызывать никакие лайт-объемы, в шейдер передаются положения и другие пораметры ИС.100 источников света (направленных , затухание по квадрату растояния) в сцене без просатки ФПС !!! Это, безусловно круто! А вызов лайт-объемов вообще никак не сказывается на производительности?Или в квесте их всетаки можно инстансить? Цитировать Так освещение в форвард тоже идет после растеризации. До 10 ИС можно спокойно юзать, так же, порезав им дистанцию(для поинт-ИС точно), ведь когда доходит дело до освещения, ввершины то уже не нужны! Или в дефферед даже создание G-буффера не зависит от количества вертекстов? Освещение в форворде, расчитывается, даже для тех пикселей, которые в дальнейшем могут перекрыватся другой геометрией (то есть впустую), а в деффереде расчет идет только по видимым. Цитировать Или в дефферед даже создание G-буффера не зависит от количества вертекстов? G-буффер в деффереде строится простым шейдером, тоесть очень быстро, и без смены рендер стейтов, тоесть количество фейсов не кретично. Ну и конечно же, при создании G-буффера используется MRT. Цитировать А вот это спорно - на объем памяти обращать внимание все же надо. Кроме того шина не ризиновая. А еще есть такое понятие, как средняя системная конфигурация целевой аудитории. У каждого своя современная видяха. Это уже философия :) Под крупные проекты, которые обычно демонстрируются богатым инвесторам, покупают топовые решения. Кстате, на тему deffered shading под Квест: http://forum.quest3d.com/index.php?topic=68471.0 Название: Re: Китайский домик. Отправлено: dfx от 29 Июня 2010, 11:06:49 Ruslan
Спасибо за ответ. :) Хорошие статьи. Да, я не написал об этом( Я в реализаци пробовал использовать идентификаторы, когда занимался этой техникой. При использовании идентификаторов на подобъект, такая схема работала хорошо. Но попытка использовать их совместно с масками не удалась - у масок пиксели на границах интерполируются, и значения получаются дробные. Например, первый слой - ид1, а второй - ид5. На переходе получаем любой ид от 1-5:). Что выглядет визуально, как рябящий контур на местах перехода. Цитировать На сколько мне известно, не нужно вызывать никакие лайт-объемы, в шейдер передаются положения и другие пораметры ИС. В принципе можно все выводить и квадами, если использовать поинт-лайты. Если юзать конусы, пирамиды и т.д., то можно больше типов источников симулировать. Странно, что не слышали. У меня был поинт и таргет-директ (цилинр), до других дело не дошло. Цитировать Ну и конечно же, при создании G-буффера используется MRT. :D Да, ждал 4.3 версию квеста из-за этого мрт, до этого тестил на мультипасе, а скорость не на столько выросла, как хотелось после подключения MRT. Наверное BRDF комбинированный все убил ;DЦитировать Думаю, что сами с этим разберетесь.. Ну вот! ;D Мне это интереснее всего было! Тут получается, что параметры придется передавать черед RTT в любом случае, а это пара-тройка MRT (4х3) - дорого. Коэффициенты то в вершинах ;)Спасибо еще раз. Добавлено позже: У нет... И все же не подойдет deffered для манипуляций с RNM. Похоже вы просто не работали с этим. Для расчетов используются 3 базисных вектора и нормали - это 12 значений надо (9 - если восстанавливать третью компоненту, а это доп инструкции на каждый ИС)! Есть вариант чуть дешевле для G-буффера - передавать нормали, винормали и тангенты и считать вектора позже(тогда получится 9/6), но в этом случае базисные вектора надо считать для каждого ИС заново, а в форворд - 1 раз для всех(1-10), что может убить все приимущество деффереда в скорости! Я еще вернусь к этому вопросу позже. Но смысл остается - не для всего дефферед подходит! Т.ч. ждем дх10 в квесте. А пока дефферед только для больших сцен, где не требуется высокого качества предпросчитанного AO в RNM. Про PRT вообще можно молчать. Название: Re: Китайский домик. Отправлено: Sqwer от 30 Июня 2010, 18:38:48 &dfx
Цитировать Похоже вы просто не работали с этим. Для расчетов используются 3 базисных вектора и нормали - это 12 значений надо (9 - если восстанавливать третью компоненту, а это доп инструкции на каждый ИС)! вопрос, зачем нам гнать в G буфер тангенты и бинормаль? И зачем нам нужет этот древний RNM если есть Диферред?! вы хоть знаете как они работают? в чём плюсы и минусы подходов? Цитировать В случае, если разраб ориентируется на массы, то исследуется средняя кофигурация какой либо группы, проводится анализ и т.д. Если один заказчик, то он сам может задать планку - ему виднее, где он это приложение будет использоваться. А как насчет 3д-блоков на веб-страницах? Даже если у Вас все клиенты с HiEnd видяхами, то все равно читать такое, по меньшей мере, странно. мы делаем демки исключительно под конкретное железо.фирмы специально приобретают ноуты по нашим рекомендациям. предметная область - демонстрация архитектуры. Цитировать Наводит на мысль, что Sqwer его использует. Тогда, мне интересно, как была решена проблема с использованием сложных материалов, имеющих 6-12 управляющих параметров в комплексе с 2-3х канальными масками. сложные материалы с большим кол-вом параметров не используют даже крутоделы с Крайтеха (Край Энжин 3) а все знают что их графике "позавидует и холивуд" А если покапать учебники физики, то найдёте для себя то, что можно вообще любой непрозрачный материал представить всего 4мя векторами. т.е. 4 текстуры по 4 команенты Цитировать Или когда в сцене большое количество полупрозрачных объектов, например? для прозрачки юзаем форвард , освещение кубамаповское + по вкусу /ИС / хроматическая дисперсия / блёр/ Цитировать Так освещение в форвард тоже идет после растеризации. поздравляю с большим овердравомЦитировать Прокатит при чёрно-белой сцене.в иных ситуациях - фейк, при том очень палевный. Ещё раз вдумайтесь в мои слова, проанализируйте ситуацию.А еще в сцене, где можно динамически менять диффузные текстуры. И в Out-door сценах, где можно использовать схему "Желтое солнце/Синее небо". И вообще цвет в ЛМ можно заменить на SSII - от него пользы явно будет больше, чем от SSAO. А насчет палева... Ну это смотря как реализовать - у кого-то палевный, а у кого-то и нет. (отрендите её в голове). Цитировать 100 источников света (направленных , затухание по квадрату растояния) в сцене без просатки ФПС !!! ИС и волюмы - разные вещи между собой не связаныЭто, безусловно круто! А вызов лайт-объемов вообще никак не сказывается на производительности? Цитировать Есть, конечно, HBAO алгоритм, но он работает с dx10 и сильно грузит GPU. тем более, я уж лучше выборок в ССАО побольше сделаю.Цитировать алгоритм по своей природе не может считать притенения от объетов, которые не попали в камеру есть методы обойти такую беду. но зачем??? фейк не палевныйЦитировать В принципе можно все выводить и квадами, если использовать поинт-лайты. Если юзать конусы, пирамиды и т.д., то можно больше типов источников симулировать. Странно, что не слышали. У меня был поинт и таргет-директ (цилинр), до других дело не дошло. именно так говорят в старых статьях, однако современные мощи видях позволяют избавиться от всяких там пирамид конусов.Зы конус передать оч просто dot(направление луча ИС, направление конуса). :P |