Погуглил и главным образом только отсылки к движку Cube 2 бесплатному из того что можно сказать «разговор по существу».
Но пока не хотелось бы с головой уходить в изучение исходников — а так сказать порассуждать над основами.
Из полезного что на форуме нашел — побить пространство на субкубы большенького размера которые уже будут скоплением сравнительно больших мешей для снижения DIP. Октри там какой нибудь наложить для быстроты отсечения фруструма.
Но что то как то и всё? Или кто знает более мощные концепты?
#1
0:26, 5 мая 2012
Может задебажить игру в PerfStudio/прочих? Включить вайрфрейм и всех делов 🙂
А вообще в майнкрафте не такое уж и большое количество видимых кубиков, инстансинг зарулит.
Програмно каждый кубик может быть или открытым(хотябы одна сторона в воздухе) или закрытым. Тоесть обрабатывается некая 3д плоскость, а не все кубики. А тут уже можно заюзать индор техники.
#2
0:40, 5 мая 2012
САМЫЙ ПЛАВНЫЙ РЕНДЕР В МИРЕ!? Рендер для СЛАБОГО ПК! Рендер в 240 fps! КАК ПЛАВНО СНИМАТЬ ВИДЕО?
Недавно пробовал рендерить большую территорию, состоящую из кубиков:
40 FPS на GeForce 310M
Здесь порядка 5 миллионов кубиков, которые разделены на чанки (отдельные меши из 64x64x32 32x32x64 кубов). При обновлении чанка генерируется меш, который состоит только из видимых сторон кубов.
#3
0:41, 5 мая 2012
там вапще всё разбито по chunk’ам, если не знаете — вроде как весь мир разбивается на 16x16x128 кубиков, чанков. В сети ландшафт загружается чанками.
#4
7:24, 5 мая 2012
А чего там инстансить то? Куб же очень простая фигура, более того в подавляющем большинстве видны только одна-две-три грани. Разве есть смысл «инстансить» грани?
#5
7:27, 5 мая 2012
Хорошо, допустим видюхи умеют сотни миллионы маленьких трисов в секунды, в это верится.
А вот как быть с филлрейтом? Довольно легко напридумывать ситуаций когда филлрейт забьёт растеризатору печенку вконец.
Например поле из множества плоских слоёв с пустыми слоями между ними и вот мы в центре композиции смотрим наверх там или вниз.
Очевидно полезно рендерить от ближних чанков к дальним включив z-buffer, но как то поэффективней можно?
- Hybernaculum
- Постоялец
#6
7:31, 5 мая 2012
=A=L=X=
> но как то поэффективней можно?
Конечно, просто не нужно рисовать то что не видно,
раньше так во всех играх делали, а теперь разленились.
#7
7:51, 5 мая 2012
Hybernaculum
> Конечно, просто не нужно рисовать то что не видно,
> раньше так во всех играх делали, а теперь разленились.
Воистину так, это отличный совет. Теперь вопрос — как это реализовать в условиях майнкрафта, когда потенциально любая конфигурация кубов может быть и самое плохое — они могут быть динамически перестроены в рантайме.
Я сколько ни думаю в сторону PVS для такого массива кубов — толкового что то ничего не приходит. Либо чудовищные структуры по размеру превышающие сам лабиринт, непонятно как вычисляемые, особенно для случая рантайма, либо одно из двух.
МАЙНКРАФТ РЕНДЕР В 60ФПС vs 120ФПС vs 240ФПС vs 360ФПС vs 480ФПС vs 666ФПС vs 720ФПС
Если например в том же же сценарии из множества плоскостей что я описал в каждой плоскости сделать дырочку вдоль одной линии — охохо.
Источник: gamedev.ru
Рендер — это что такое? Как его настроить?
Многие элементы визуального окружения современного человека сегодня создаются с помощью программ компьютерной графики. Без визуализаций, сделанных 3D-художниками, не может обойтись ни архитектурная или дизайнерская студия, ни производители компьютерных игр.
Технология создания подобного изображения – фотореалистического или имитирующего различные художественные техники – состоит из нескольких технологических этапов. Рендер — это важнейший из них, часто заключительный, от которого зависит конечный результат.
Происхождение термина
Слово «рендер» (или «рендеринг») пришло, как и многое, связанное с IP-технологиями, из английского языка. Происходит оно от старофранцузского rendre, означающего «делать», «дать», «возвратить», «вернуть». Более глубокие корни этого глагола восходят к древней латыни: re – префикс, означающий «назад», и dare – «давать».
Отсюда – один из смыслов современного термина. Рендер – это в том числе процесс воссоздания плоскостного изображения на основе трехмерной модели, содержащей сведения о физических свойствах объекта – его форме, фактуре поверхности, освещенности и так далее.
Рендер и визуализация
Вошедшее сначала в лексикон тех, кто профессионально занимается цифровыми технологиями создания изображений, это слово все чаще применяется и в повседневном обиходе. Предоставить готовый рендер просят, например, при заказе мебели – отдельного объекта или обстановки целого помещения, а при проектировании интерьера или всего здания рендер – это одно из основных средств донести до заказчика смысл идей архитектора или дизайнера.
Имеется синоним, близкий по значению и чаще применяемый в обычной среде, хотя и более громоздкий, – визуализация. Среди профессионалов архитектурной или игровой компьютерной графики сегодня принято иметь узкую специализацию: есть те, кто занимается моделингом — создает трехмерные объекты, и те, кто обеспечивает рендеринг готовой сцены – выставляет освещение, выбирает точку зрения и настраивает, а потом и запускает рендер-программу.
Определения
Это слово имеет несколько значений:
- Рендер, или рендеринг, – отрисовка, процесс получения технического или художественного плоскостного растрового изображения на основе трехмерных цифровых моделей, созданных при помощи специальных программных пакетов – Blender, 3D Max, CINEMA, Maya и др.
- Рендер – это, собственно, результат такого процесса — растровая картинка, фотография, а также изображение героев и окружения в компьютерных играх или созданные тридэшниками видеофайлы, используемые при производстве фильмов – обычных или анимационных.
- Рендер, или рендерер, – так называют специальный софт, с помощью которого и происходит преобразование 3D-моделей в изображение. Такие программы могут быть встроены в графический пакет или применяться в виде отдельных приложений: RenderMan, Mental Ray, V-ray, Corona, Brasil, Maxwell, FinalRender, Fryrender, Modo и многие другие. Рендеры, как и все, связанное с цифровыми технологиями, постоянно обновляются. Они отличаются алгоритмами, применяемыми для обсчета физических характеристик моделей и их окружения. На их основе создаются целые системы рендеринга, позволяющие создавать свои материалы, светильники, камеры и т. п.
Типы рендера: online и пререндеринг
Различают два основных типа рендера в зависимости от скорости, с которой должно происходить получение готового изображения. Первый – рендеринг в реальном времени, необходимый в интерактивной графике, в основном в компьютерных играх. Здесь нужен быстрый рендер, изображение должно выводиться на экран мгновенно, поэтому многое в сцене рассчитывается заранее и сохраняется в ней в виде отдельных данных. К ним относятся текстуры, определяющие внешний вид объектов и освещение. Программы, используемые для онлайн-рендера, используют в основном ресурсы графической карты и оперативной памяти компьютера и в меньшей степени – процессора.
Для рендера сцен, более сложных визуально, а также там, где вопрос скорости не так актуален, когда гораздо важнее качество рендера, используются другие методы и программы для рендеринга. В этом случае используется вся мощь многоядерных процессоров, выставляются самые высокие параметры разрешения текстур, обсчета освещения. Часто применяется и постобработка рендера, позволяющая добиться высокой степени фотореалистичности или нужного художественного эффекта.
Методы просчета сцены
Выбор способов получения изображения зависит от конкретной задачи и часто от личных предпочтений и опыта визуализатора. Разрабатываются всё новые системы рендера – или узкоспециализированные, или универсальные. Сегодня в основе самых распространенных программ-рендеров лежат три основных вычислительных метода:
- Растеризация (Scanline) – метод, при котором изображение создается просчетом не отдельных точек-пикселей, а целых граней-полигонов и крупных участков поверхностей. Текстуры, определяющие свойства объектов, как и свет в сцене, зафиксированы в виде неизменных данных. Получаемое изображение часто не отражает перспективных изменений освещенности, глубины резкости и т. д. Чаще применяется в системах для просчета сцен в играх и в видеопродакшене.
- Трассировка лучей (Raytracing) – физика сцены просчитывается на основе лучей, исходящих из объектива виртуальной камеры и анализа взаимодействия каждого луча с объектами, с которыми он встречается в сцене. В зависимости от количества и качества таких «отскоков» имитируется отражение или преломление света, его цвет, насыщенность и т. д. Качество получаемой картинки по сравнению с растеризацией значительно выше, но за её реалистичность приходится платить повышенным расходом ресурсов.
- Расчет отраженного света (Radiosity) – каждая точка, каждый пиксель изображения наделяется цветом, который не зависит от камеры. На него влияют глобальные и местные источники света и окружение. Такой метод позволяет рассчитать появление на поверхности модели цветовых и световых рефлексов от рядом расположенных объектов.
Практика показывает, что самые продвинутые и популярные системы рендера использует сочетание всех или основных методов. Это позволяет добиться максимального фотореализма и достоверности в отображении физических процессов в данной сцене.
Последовательность рендера
Хотя современный подход в компьютерной графике предпочитает выделить рендер в обособленный этап, который предполагает наличие специальных знаний и навыков, по сути, он неотделим от всего процесса подготовки визуализации. Если, например, проектируется интерьер, рендер будет зависеть от вида применяемых материалов, а у каждой системы визуализации свой алгоритм имитации текстуры и фактуры поверхности.
Это же относится и к способам освещения сцены. Настройка естественного и искусственного света, свойств собственной и падающей тени, силы рефлексов, эффектов самосвечения – следующий этап создания визуализации сцены. Как настроить рендер, зависит от используемого софта и от производительности системы. В каждом пакете и программе-визуализаторе есть свои тонкости и нюансы.
Например, Corona Renderer обладает возможностью регулирования настроек непосредственно в ходе проявления итоговой картинки. В режиме онлайн можно изменять мощность светильников, регулировать цветность, резкость изображения.
Постобработка результатов рендера
Для конкретной задачи логично применять особенные методики визуализации. В архитектуре требуются другие изобразительные средства, чем при создании технической иллюстрации. Рендер экстерьера, например, часто требует от исполнителя владения графическими пакетами по работе с растровыми изображениями, самый популярный из которых — Adobe Photoshop. Причем не всегда это делается для повышения фотореалистичности. Современные тенденции в архитектурной подаче предусматривают имитацию ручной графики – акварели, гуаши, черчения тушью и т. д.
Качественная постобработка рендера обычно начинается с выбора нужного формата файла, получаемого после окончания работы программы. Принято готовое изображение сохранять послойно, задействуя отдельные цветовые каналы. Это позволяет добиться высокого результата при сведении всех слоёв в общее изображение, используя более точную и тонкую цветовую настройку.
Рендер и производительность системы
Выполнение качественной визуализации зависит не только от программного обеспечения процесса. На итоговый результат влияет мощность используемого «железа». Особенно этот фактор влияет на скорость работы – сложная сцена иногда рендерится несколько дней, если компьютер не имеет достаточных объемов оперативной памяти или обладает малопроизводительным процессором.
Как ускорить рендер и улучшить итоговый результат, если ресурсов не хватает? Можно изменить настройки программы, уменьшив до разумных величин разрешение текстур материалов и финишного изображения, изменив параметры светильников так, чтобы свет и тени обсчитывались более крупными участками, без излишней деталировки и т. д. Если есть сеть, можно использовать пакетный рендер, когда для обсчета изображения привлекаются мощности других компьютеров.
Рендер-ферма
Сегодня возможно использование мощностей удаленных компьютерных кластеров, оказывающих услуги по пакетной обработке 3D-файлов. Это высокопроизводительные системы, способные за короткий срок визуализировать самые сложные и насыщенные сцены. Они справятся с любыми визуальными эффектами даже при создании видеофайлов большой длительности.
Связавшись с поставщиком таких услуг, список которых всегда можно найти в Интернете, согласовав стоимость и условия подготовки файлов, можно существенно сэкономить на скорости работы и добиться необходимого уровня качества итогового изображения. В распоряжении таких компаний бывает до нескольких тысяч процессоров и сотни терабайт оперативки. Рендер-ферма рассчитывает стоимость работ, исходя из объема исходного файла и срока выполнения визуализации. Например, стоимость одного кадра разрешением 1920х1080, для рендеринга которого на стандартном оборудовании потребуется 3 часа, составляет около 100 рублей. Сцена просчитывается в течение 8 минут.
Правильный выбор
Ответ на вопрос о том, как сделать рендер небольшого и простого по форме объекта или насыщенной визуальными эффектами анимационной презентации коттеджного поселка, предполагает различный подход. В случае самостоятельного выполнения подобной работы необходимо грамотно выбрать необходимое программное обеспечение и позаботиться о достаточной мощности компьютерного оборудования. В любом случае от последнего этапа работы – рендеринга – будет зависеть, устроит ли вас итоговый результат.
Источник: fb.ru
Что такое быстрый рендер в майнкрафт
Эта статья является исчерпывающим руководством по увеличению скорости рендера в Blender при помощи мелких, но эффективных настроек, как в сцене, так и в настройках Cycles.
Все эти 11 хитростей прошли испытание на Nvidia Geforce GT 610 2 GB, которая является относительной старой видеокартой.
Все мои рендеры и работы были отрендерены с использованием этих хитростей. С тех пор как в Blender был представлен движок рендеринга Cycles, было отмечено резкое снижение скорости рендера.
Самая главная причина этого в том, что Cycles рендер просчитывает больше отскоков, что делает рендер более реалистичным. Легко винить во всём движок рендеринга, но знаете ли вы, что существуют некие умные настройки и оптимизация вашей сцены, а также настройки рендера Blender, которые способны значительно увеличить скорость рендеринга?
Помимо улучшения скорости рендера, некоторые хитрости ниже также помогут улучшить производительность и стабильность рендера.
Я разделил 11 советов на 4 группы: Количество полигонов, Материалы и шейдеры, Рендеринг и освещение. Таким образом будет проще их понять и следовать им.
Количество полигонов
Модель с BlendSwap
Это вполне очевидно, ведь чаще всего, когда количество полигонов слишком высоко, вьюпорт Blender начинает тормозить.
Но существуют советы, способные помочь ускорить рендер, без потери в деталях.
1. Избавьтесь от лишних полигонов
Порой нет необходимости в большой детализации, но часто мы оставляем это без внимания. Это могут быть следующие ситуации:
- Объект слишком далеко от камеры. (Техника LOD)
- Или же близко к камере, но находится вне фокуса. (Глубина полей резкости)
- Излишние уровни подразбиения
- Высоко-детализированные части объекта, которые отвёрнуты от камеры
Когда меш, например, машины слишком далеко от камеры, вам не нужно много деталей. Вы можете обойтись и без высокоточной детализации.
Эта техника пониженного количество деталей, в понимании низкого уровня подразбиения и количества полигонов, называется Уровень детализации (Level Of Details или LOD).
Эта техника очень распространена в игровой индустрии.
Вы можете воспользоваться вытекающими из этой техники методами, например уменьшение подразбиения на мешах, которые находится вне фокуса камеры/линз, при включённом режиме глубины полей резкости DOF (Depth Of Field).
И даже, если объект находится в фокусе, порой мы используем излишнее значение подразбиения, чтобы быть уверенными, что детализация будет высокая. Готов поспорить, если применить модификатор decimate, то вы даже не заметите разницы.
Ниже маленький тест с модификатором decimate, и как далеко вы можете зайти:
(Первая модель высоко-полигональная, далее идут модели пропущенные через модификатор decimate, в каждом случае на 50% от предыдущего результата)
Модель кролика из Stanford 3D Models
Опять же, вы можете полностью удалить части меша, которые не видны камере.
Порой, при рендеринге мы забываем об объектах, которые не видны в объективе камеры. Это в дальнейшем может привести к расходу памяти, и значительно понизит скорость рендера.
Я практически всегда, при использовании системы частиц, удаляю части объекта эмиттера, которые не видны камере.
Эту технику не получится использовать с объектами, имеющими стеклянный, полупрозрачный или подповерхностный шейдеры.
2. Распределить расчёты при помощи Render Layers (Важно: Exclude Layers)
Когда нет возможности следовать предыдущим советам, вы можете использовать Render Layers, чтобы изолировать высоко-полигональные меши (машины, скульптуры, детализированные деревья, траву, и прочее)
Вам может показаться, что общее время, которое займёт рендер со всеми слоями один за одним будет таким же, как если бы рендерилось всё вместе. Эта техника экономит память. Причина в том, что если у вас имеется много высоко-полигональных объектов на одном слое и они рендерятся вместе, то отскоки света взаимодействуют с каждым из них.
Таким образом, когда у вас есть много высоко-полигональных объектов в сцене, вы можете разбить их на более мелкие части, при помощи render layers, и применить функцию Exclude Render Layers.
Это полностью изолирует определённые слои, когда этот render layer рендерится. Таким образом, Blender не нужно дальше просчитывать любые отражения и отскоки от объектов на исключённых слоях. Они также не занимают место в памяти.
Материалы и шейдеры
Небольшие настройки материалов и текстур в вашей сцене могут привести к улучшениям в плане шума и скорости рендера.
3. Читерство с объёмами и Volume Sampling
Шейдеры объёма используются не так часто как поверхностные, но это всё потому, что они отнимают много времени и памяти.
Следующая хитрость сэкономила более 10 часов во время рендеринга короткометражки Caminandes 3 (я не являюсь частью команды, но посоветовал эту хитрость одному художнику в Twitter). Полную концепцию вы можете найти здесь.
Хитрость заключается в том, чтобы использовать шейдер holdout, вместо чёрного шейдера emission для camera ray (настройка показана на картинке выше). Это лишь немного увеличит скорость рендеринга одного кадра, но в целом, для длительной анимации это сэкономит больше времени.
Вкладка Volume Sampling
Есть две настройки, которые можно изменить в целях изменения сэмплирования объёма: Step Size и Max Steps.
Step Size: Прямо-пропорциональна (Step Size ∝ скорость рендера). Понизьте размер шага (Step Size), и вы получите более точный и детализированный результат, но при этом значительно увеличится время рендеринга.
Max Steps: Обратно-пропорциональна (Max Steps ∝ 1/скорость рендера). Когда вы не можете найти компромисс между размерами шага, вы можете понизить максимальное число шагов (maximum steps), чтобы увеличить скорость рендеринга.
Другими словами, это количество отскоков, необходимое для расчёта перед тем как лучи света иссякнут. Это аналогично количеству отскоков в панели Light Path. Мы ещё поговорим об этом подробнее дальше в этой статье.
4. Избегаем стекла, прозрачности и SSS (и как исправить)
Шейдер стекла, который есть в Blender великолепен, но он просчитывает прохождение, преломление, отражение и поглощение лучей, что в то же время делает их максимально реалистичными. В большинстве случаев нам не нужно так много. Если вы используете стекло для окон, то вам будет достаточно смеси glossy BSDF и transparent BSDF, без потери точности.
Эта хитрость поможет увеличить скорость рендера, а также сделать рендер менее шумным. То же применимо и к шейдерам полупрозрачности и подповерхностного рассеивания, так как и тот и другой позволяет ограничивать проникновение света.
Я так и не нашёл нормального способа справиться с этими двумя шейдерами на данный момент. Так что старайтесь избегать их.
Но убедитесь в правильности масштаба шейдера SSS. Он зависит от размера объекта. Излишне большие значения масштаба (scale) могут привести к шумному результату (что увеличит время рендеринга).
Визуализация
Даже если вы позаботились о материалах и количестве полигонов, всё ещё есть способы понизить время рендеринга.
5. Вкладка сэмплирования
Вкладка Sampling имеет две опции, path tracing и branched path tracing.
Главным образом мы пользуемся опцией path tracing. Но не все догадываются, что настройки branched path tracing являются по истине мощными.
Вы можете индивидуально определять количество сэмплов для каждого типа сэмплинга. Таким образом вы можете изменять настройки согласно приоритету в вашей сцене.
6. Отключите AO (Вместо него используйте проход AO)
Ambient Occlusion добавляет особый эффект на ваши рендеры. Но также это замедляет скорость рендера. Таким образом, вы можете отключить AO прямо в сцене, а вместо него использовать проход AO, который можно использовать, чтобы добиться более или менее такого же эффекта.
7. Вы используете все потоки? (Только для CPU)
Threads (потоки) означает количество ядер процессора, которые использует рендер. Оно равно количеству участков, которые будут просчитываться одновременно во время рендеринга.
Во вкладке performance у вас есть две опции для количества потоков: Auto-detect и Fixed.
По умолчанию включён auto-detect, что очень хорошо, главное убедитесь, что он распознал 100% ваших ядер CPU и они используются. Или лучше используйте опцию Fixed и вводите количество ядер вручную, если вы считаете, что не все ядра автоматически определяются.
С опцией Fixed вы также можете использовать меньшее количество ядер чем есть, чтобы оставшиеся ядра поддерживали производительность UI. (Используйте все только в чрезвычайном положении 🙂 )
Тем не менее данные настройки не действуют на количество тайлов рендеринга для GPU. Для рендеринга на GPU (графическом процессоре) у вас есть только один тайл за раз.
8. Размер тайла (производительность и качетсво)
CPU: Понижение размеров тайла для CPU ускоряет рендеринг.
GPU: Повышение размера тайла для GPU ускоряет рендеринг.
Но в любом случае, меньший размер тайла даёт большую стабильность. (Меньше торможений интерфейса во время рендеринга и меньше шансов вылета)
Вы также можете использовать аддон Auto-Tile Size от Грега Заала, чтобы автоматически рассчитать идеальный размер тайла (точное разрешение).
Освещение
И наконец, тип освещения, используемый в вашей сцене, также играет важную роль в скорости рендера и шуме.
9. Light Paths
На вкладке Light Path в настройках рендера, есть максимальное и минимальное количество отскоков (min и max bounces соответственно).
Более высокое число отскоков даёт больше реализма, но зачастую понижает скорость рендера. Если в вашем рендере выставлено больше количество семплов, вы можете понизить maximum и minimum bounces примерно до 4—5. Но, если вам надо использовать больше отскоков, вы должны понизить общее количество семплов рендеринга.
Ещё одна вещь, которую надо решить, это большая разница между минимальным и максимальным количеством отскоков, из-за которой ускоряется рендер, но при этом появляется больше шума.
10. Большие источники света
Если вы используете для освещения плоскости, т.е. освещение при помощи мешей, вы можете попробовать увеличить размер меша.
Cycles не любит маленьких источников света, потому что ему надо просчитывать эти световые лучи, которые возвращаются назад к излучателю, после отражения от объектов. Таким образом, чем больше источник света, тем проще для cycles просчитать отражения света.
11. HDRI Multiple importance Samples
Когда вы используете HDRI в качестве окружающего освещения, очень важно увеличить значение multiple importance sampling, примерно до 1024—2048.
Это значительно увеличит скорость рендера. Но убедитесь, что вы используете значения, которые являются степенью двух. К примеру 1024 это 2 в 10 степени, 2048 это 2 в 11 степени.
Я надеюсь, что эти советы и хитрости были полезными.
Источник: 3dmodelizm.ru