Render.ru

Blender рендер на GPU (AMD)

Jack_Savage

Пользователь сайта
Рейтинг
2
#1
В настройках выбрал OpenCL и в окне рендера GPU-вычисления.
После нажатия кнопки Анимация отрендерилась картинка на которой прозрачная модель (ели ели видно)
Если поставить на CPU то рендерит нормально.
В чем дело ? Помогите пожалуйста.
Версия если нужно 2.78
Видеокарта Radeon R7 250
Заранее спасибо за ответ.
 
Рейтинг
30
#2
В настройках выбрал OpenCL и в окне рендера GPU-вычисления.
Вот ссылка на документацию по сравнению CPU, CUDA и OpenCL: https://docs.blender.org/manual/en/dev/render/cycles/features.html
Похоже, что для OpenCL Cycles работает с ограничениями. Особенно это касается расчета шейдеров объема и подповерхностного рассеяния.

Еще они пишут: "OpenCL support is still in an early stage and has not been optimized as much."
"Поддержка OpenCL пока еще на ранней стадии и еще недостаточно оптимизирована."

Учитывая, что полноценную поддержку CUDA они ввели относительно недавно, то значит, что они еще не добрались толком до OpenCL. Отсюда свои ограничения.
 

Jack_Savage

Пользователь сайта
Рейтинг
2
#3
То есть я могу рендерить только на процесоре ?
Просто 1 кадр 9 минут... А у меня на 3 минуты материал :С
 

M.O.Z.G

Знаток
Рейтинг
50
#4
То есть я могу рендерить только на процесоре ?
Просто 1 кадр 9 минут... А у меня на 3 минуты материал :С
Может купить какой-нибудь GeForce c CUDA. Всё-равно понадобиться для других приложений, которые Вы когда-нибудь начнёте использовать. На AMD, я помню, у меня даже интерфейс в Гудини глючил. Так что AMD - это не серьёзно.

И кстати, OpenShader Language не работает, ни на nVidia, ни на AMD. Так что для некоторых вычислений CPU безальтернативен всё ещё.
 

Jack_Savage

Пользователь сайта
Рейтинг
2
#5
А перенести модель с анимацией, скилетом в Maya к примеру заморочно ?
Или она тоже на AMD не очень быстро работает ?
PS: Спасибо за ответы
 

M.O.Z.G

Знаток
Рейтинг
50
#6
Или она тоже на AMD не очень быстро работает ?
Хм, так у ментала тоже ограниченная поддержка GPU, если ничего не поменялось в последний год. Так что не очень понятен смысл такой рокировки. Конечно, там больше внешних рендеров существует, но это всё-равно работа - подгонять шейдеры под другой ренедер, не считая рига анимации, который слетит.

модель с анимацией, скилетом в Maya к примеру заморочно ?
FBX, в принципе, но очень маловероятно, что всё перенесётся как должно. Не говоря уже о специфических вещах Блендера, вроде шейпов, гибких костей, драйверов, скриптов и т.п.

Просто 1 кадр 9 минут... А у меня на 3 минуты материал :С
Если там совсем проект горит по времени, возможно лучшим решением будет аренда мощностей на рендерферме какой-нибудь. Они все на CPU работают, по понятным причинам. Там правда свои подводные камни. Например, сложный риг персонажей на РебусФарм не уходил, он требовал удалить слишком много модификаторов, которыми управлялась анимация, по сути запечь её всю. Что не так просто было.
 
Последнее редактирование:

Jack_Savage

Пользователь сайта
Рейтинг
2
#7
Хм, так у ментала тоже ограниченная поддержка GPU, если ничего не поменялось в последний год. Так что не очень понятен смысл такой рокировки. Конечно, там больше внешних рендеров существует, но это всё-равно работа - подгонять шейдеры под другой ренедер, не считая рига анимации, который слетит.


FBX, в принципе, но очень маловероятно, что всё перенесётся как должно. Не говоря уже о специфических вещах Блендера, вроде шейпов, гибких костей, драйверов, скриптов и т.п.


Если там совсем проект горит по времени, возможно лучшим решением будет аренда мощностей на рендерферме какой-нибудь. Они все на CPU работают, по понятным причинам. Там правда свои подводные камни. Например, сложный риг персонажей на РебусФарм не уходил, он требовал удалить слишком много модификаторов, которыми управлялась анимация, по сути запечь её всю. Что не так просто было.
Эх... Проект то не комерчиский я это для себя делаю.
Просто пока рендерится я нечего не могу делать за пк...
Вот и хочу быстрей сделать. Если убрать с перса шерсть то рендерится быстро будет но не красиво :С
 

Jack_Savage

Пользователь сайта
Рейтинг
2
#8
И еще... Каким образом движки в играх рендерят такие.... сложные модели по 20 раз в секунду даже у меня на пк а у блендера уходит 9 минут на 1 раз ?

PS: Поставил 25 проходов... Ну так уже лучше. Почти такая же картинка но за 5 а не за 9 минут
 
Последнее редактирование:
Рейтинг
30
#9
И еще... Каким образом движки в играх рендерят такие.... сложные модели по 20 раз в секунду даже у меня на пк а у блендера уходит 9 минут на 1 раз ?
Во-первых, нормально - это от 30 кадров в секунду.
Во-вторых, риалтайм рендеры построены по другому. Если коротко, то они собирают информацию об объектах в кадре и уже от них получают информацию, как они должны выглядеть на основе материалов, текстур, запеченных карт освещения, карт отражения и т.п.
В игровой графике чаще всего объекты не взаимодействуют между собой. Не работает каустика, преломление. Все эти вещи отображаются с помощью множества ухищрений.
Cycles работает иначе. Он относится к так называемым path tracing рендерам. То есть, чтобы получить картинку, из камеры испускаются лучи, они сталкиваются с объектами. Дальше на основе шейдеров продолжают отражаться, поглощаться, проникать сквозь объект. До тех пор пока не встретят источник света или вступит ограничение по отскокам. В первом случае получится светлый пиксель, во втором - темный (что значит тень). Там еще много особенностей. Но этот расчет хотя и долгий, но приближенный к реальному освещению.
 

M.O.Z.G

Знаток
Рейтинг
50
#10
И еще... Каким образом движки в играх рендерят такие.... сложные модели по 20 раз в секунду даже у меня на пк а у блендера уходит 9 минут на 1 раз ?
Если в двух словах: Если ты видишь фотореалистичный рендер из редактора - это результат пересчёта фотонов (сэмплов) приближенный к физике реального мира. Если в игре - это 100% художественная имитация реальности.

Там не всё рендерится одинаково, и не применяется RayTrace. Например, все отражения - это предваритально запечённая карта окружения, которая рендерится (часто с низким разрешением) только при входах в локацию, или с определённой частотой. Волосы, как бы реалистично они не выглядели в кадре, не являются волосами на самом деле. Кроме исключительных случаев, вроде Tomb Raider, где симуляция волос реализовывалась специальными инструкциями в графическом процессоре nVidia. И помните на сколько это было забавно на разных карточках, в момент когда игра вышла. Почему, собственно, это и была опциональная фича. По дефолту, и на консолях, волосы реализовывались обычными текстурами.
Все текстуры и нормали предварительно запечённые. Тени от персонажей если есть, рендерются с более низким разрешением чем всё остальное. Тени окружения могут быть вообще запечёнными в текстуры в момент загрузки локации в память. Внутренние помещения квартир на самом деле обычная плоскость. Например, в Battlefield 4 писали специальный шейдер, который смещал несколько планов комнаты относительно взгляда игрока, создавая иллюзию того, что там есть комната. Но это был один шейдер на полигоне.

Так, чего-то я уже более чем в двух словах пошёл. Но суть, в общем передал. Так что реалтаймовый рендеринг в игре это результат многих месяцев работы художников и программистов.

Глянь тут, народ пытался приблизить стандартный ренедер Блендера к тому, что выдаёт UE4. Получилось не 1:1, но в некоторых случаях сгодится.
 
Последнее редактирование:

Jack_Savage

Пользователь сайта
Рейтинг
2
#11
Если в двух словах: Если ты видишь фотореалистичный рендер из редактора - это результат пересчёта фотонов (сэмплов) приближенный к физике реального мира. Если в игре - это 100% художественная имитация реальности.

Там не всё рендерится одинаково, и не применяется RayTrace. Например, все отражения - это предваритально запечённая карта окружения, которая рендерится (часто с низким разрешением) только при входах в локацию, или с определённой частотой. Волосы, как бы реалистично они не выглядели в кадре, не являются волосами на самом деле. Кроме исключительных случаев, вроде Tomb Raider, где симуляция волос реализовывалась специальными инструкциями в графическом процессоре nVidia. И помните на сколько это было забавно на разных карточках, в момент когда игра вышла. Почему, собственно, это и была опциональная фича. По дефолту, и на консолях, волосы реализовывались обычными текстурами.
Все текстуры и нормали предварительно запечённые. Тени от персонажей если есть, рендерются с более низким разрешением чем всё остальное. Тени окружения могут быть вообще запечёнными в текстуры в момент загрузки локации в память. Внутренние помещения квартир на самом деле обычная плоскость. Например, в Battlefield 4 писали специальный шейдер, который смещал несколько планов комнаты относительно взгляда игрока, создавая иллюзию того, что там есть комната. Но это был один шейдер на полигоне.

Так, чего-то я уже более чем в двух словах пошёл. Но суть, в общем передал. Так что реалтаймовый рендеринг в игре это результат многих месяцев работы художников и программистов.

Глянь тут, народ пытался приблизить стандартный ренедер Блендера к тому, что выдаёт UE4. Получилось не 1:1, но в некоторых случаях сгодится.
И еще вопросик... Почему блендер делали сначала на CPU как я понял даже CUDA не давно прикрутили. Видеокарта же расчитана для расчетов видео.
 

Jack_Savage

Пользователь сайта
Рейтинг
2
#12

Странный блендер какой то...
Вчера на 20 семплах куча шума была. Сегодня уже нет. Это как ???
 

M.O.Z.G

Знаток
Рейтинг
50
#13
Не работает каустика, преломление. Все эти вещи отображаются с помощью множества ухищрений.
Каустика, кстати, это проблема Блендера тоже. Ибо слишком долго. И в некоторых случаях имеет смысл её имитировать.

Вот и хочу быстрей сделать. Если убрать с перса шерсть
Действительно, попробуй что-нибудь оптимизировать. Можешь погуглить разные техники, подумать, что может помочь в твоём проекте.

Почему блендер делали сначала на CPU
Во-первых, блендеру 20+ лет, и когда его делали, никаких GPU, в том смысле, в котором мы их понимаем сегодня, ещё и в помине не было на рынке. Во вторых, у центральных процессоров и графических принципиально разные инструкции. Это не просто чипсет, который делает тоже самое, но быстрее. Поэтому под GPU нужно переписывать всю математику рендера. И кстати, изначально никакого фотореалистичного Cycles тоже не было. Был классический RayTrace.

Видеокарта же расчитана для расчетов видео.
Видео-карта изначально расчитана для вывода полноцветного изображения, в те времена, когда ресурсов компьютера для этого не хватало, и требовался отдельный вычислительный блок под это. Карточки середины 90-ых, например, состязались в том, кто больше цветов при большем же разрешении сможет выводить на экран) Позднее её научили считать 3Д графику (3D ускорители изначально были отдельными), ещё позднее в них запихнули физический процессор (который тоже когда-то был отдельный). Так что сегодняшние видео-карты это уже отдельные компьютеры по сути, работающие по своей собственной математикой, никак не пересекающиеся с центральным процессором. И да, это лучше всего подходит для расчёт света - быстрее. Но не все, кстати, могут быстро переписать свои рендеры. В основном или ренедер сразу GPU, или медленно и с косяками переписывается с CPU, когда разработчики понимают, что надо начинать конкурировать в этом сегменте, что естевственно, это грех не только Блендера.
Кстати, помню, что такой же переходны период был в играх. Когда 3D ускорители был ещё в диковинку большинству геймеров. А разработчикам нужно было давать что-то новое, и в то же время был страх терять менее богатую аудиторию - в некоторых играх был выбор Software или Hardware рендеринг. В первом случае считалось на процессоре, во втором с ускорителем. Иногда, правда, это был не более чем маркетинговый ход (типа, может работать и без ускорителя, лохи), потому что разрыв в производительность слишком колоссальный, и софты были не сильно играбельны на среднем железе без ускорителя. Но было и наоборот, когда поддержка ускорителя криво запиливалась, просто чтобы такая возможность была, хотя игра нормально работала и без. Иногда дополнительные фичи были привязаны к ней, более реалистичная вода, например, или трава, и там тоже был маркетинг. В общем, всё как обычно.

Странный блендер какой то...
Вчера на 20 семплах куча шума была. Сегодня уже нет. Это как ???
Мне кажется, Вам стоит подучить матчасть. Вопросы какие-то странные. То хочу чтобы одна кнопка сразу рендерила красиво, но не понимаете что происходит на рендере и почему. Мы тоже не поймём, потому что вчера нас там не было)
 
Последнее редактирование:

Jack_Savage

Пользователь сайта
Рейтинг
2
#14
Мне кажется, Вам стоит подучить матчасть. Вопросы какие-то странные. То хочу чтобы одна кнопка сразу рендерила красиво, но не понимаете что происходит на рендере и почему. Мы тоже не поймём, потому что вчера нас там не было)
Как он может рендерить с разным шумом на одних настройках, анимации, персонаже, железе ?
Я кажись не в Хогвардсе для такого...
 

Jack_Savage

Пользователь сайта
Рейтинг
2
#15
"То хочу чтобы одна кнопка сразу рендерила красиво" ну оно и есть одной кнопкой и даже красиво...
Только долго)
Вот прочитал что на видеокарте быстро. Вот и хотел как то подкрутить
 

M.O.Z.G

Знаток
Рейтинг
50
#16
Как он может рендерить с разным шумом на одних настройках, анимации, персонаже, железе ?
Просто есть такая вещь как человеческий фактор. Нет гарантий, что Вы случайно что-то не перекрутили в шейдерах/освещении/настройках вчера или сегодня. Обычно такое бывает, тем более во время экспериментов.
Например радиус (не визуальный, а фактический) осветителя и Клэмпинг не плохо влияют на зашумлённость. Вы могли просто не обратить внимание когда их поменяли.
 
Последнее редактирование:

Jack_Savage

Пользователь сайта
Рейтинг
2
#17
Просто есть такая вещь как человеческий фактор. Нет гарантий, что Вы случайно что-то не перекрутили в шейдерах/освещении/настройках вчера или сегодня. Обычно такое бывает, тем более во время экспериментов.
Это не моя модель... Все что я делал в шедерах это свой шейдер глаз.. А то тот что был не предусмотрен для смены цвета глаз. И все что я крутил это семплы, чем рендерить.
При чем поставил 25 и рендерит лучше чем вчера на 40. Это как ?

Я умею моделить только дом или что то простое. Персонажа я не могу. Точней могу но только в 1 плоскости а если пытаюсь в другой начать то путаюсь ужасно.
 

Jack_Savage

Пользователь сайта
Рейтинг
2
#18
Например радиус (не визуальный, а фактический) осветителя и Клэмпинг не плохо влияют на зашумлённость. Вы могли просто не обратить внимание когда их поменяли.
Эх... Спасибо за ответы. Пойду наверное искать как сделать что то типу джедайского меча в блендере.
 

AlexKnight

Знаток
Рейтинг
26
#19
Сверху