Render.ru
Поддержать

Render Region Script !

игорь павлов

Пользователь сайта
Рейтинг
2
Пожалуста дайте рабочий пример скрипта Render Region

а то по хелпу неполучется из консоли запустить рендер в заданном регионе

игорь павлов

Пользователь сайта
Рейтинг
2
как вызвать рендр регион я понял

render vfb😮n outputwidth:640 outputheight:480 renderType:#region region:#(0,0,20,20)

но ввести цилк неполучается

for j = 1 to 5 do
(
x=(j+1)
render vfb😮n outputwidth:640 outputheight:480 renderType:#region region:#(x,10,20,20)
)

пишет ошибку

-- Syntax error: at ), expected <factor>
-- In line: )

обший замысел скрипта создать с помощью render regiona что то наподобии Bucket рендера как в бразиле или Vray

MaxWell

Знаток
Рейтинг
33
Есть. Савин Денис. Но он пропал куда-то. 🙂

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
Теперь есть 🙂 Только что вернулся из отпуска. Уфф.
Причем был шанс возвращатся тем самым рейсом 🙁((.
Пусть земля им будет пухом. Минута ...........

Так, сейчас глянем.
Какой макс ?

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
У меня в восмерке приведенный фрагмент работает без ошибок !
Какой стоит рендер - сканлайн ?
Да кстати если не секрет зачем это нужно ? карасиво конечно спору нет !
Есть практическое применение ?!
Посленний макс умет делать распределенный рендер для сканлайна , при использоваении сетевого рендера, если это было конечой целью.
Правда бьет картинку не так красиво.

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
w = 5
h = 5
width = 640
height = 480
wst = width / w
hst = height / h
b = bitmap width height
display b
for j = 1 to h do (
h_start = (j - 1) * hst
h_end = (j - 1) * hst + hst
for i = 1 to w do (
w_start = (i - 1) * wst
w_end = (i - 1) * wst + wst
render vfb😮ff outputwidth:width outputheight:height renderType:#region region:#( w_start, h_start, w_end, h_end) to:b
)
)

игорь павлов

Пользователь сайта
Рейтинг
2
Денис большое спасибо
все заработало,

как коговорят люди "в руках мастера все ладится"😉

игорь павлов

Пользователь сайта
Рейтинг
2
еше небольшой вопросик как сделать так чтоб рендер можно было прерывать а то пока он все неотрендрит его нестановить))

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
w = 5
h = 5
width = 640
height = 480
wst = width / w
hst = height / h
b = bitmap width height
display b
wasCancelled = false
for j = 1 to h while not wasCancelled do (
h_start = (j - 1) * hst
h_end = (j - 1) * hst + hst
for i = 1 to w do (
w_start = (i - 1) * wst
w_end = (i - 1) * wst + wst
render cancelled:&wasCancelled vfb😮ff outputwidth:width outputheight:height renderType:#region region:#( w_start, h_start, w_end, h_end) to:b
)
)
прерыввать нужно по Esc

FILA61

Пользователь сайта
Рейтинг
2
В скрипте не соображаю. пояснения бы какая строчка что делает.

у меня такая задача : немогу чтобы макс рендерил мне разрешение 12000х8000 и больше. хочу рендерить 4мя кусками РЕГИОНОМ.
мож кто писанет скрипт или объясните,направьте на истенный путь.

FILA61

Пользователь сайта
Рейтинг
2
короче как я понял рендер регион мне не поможет
дело в том что мне нужно с большим разришением отрендерить.

Вложения

disconnector

Активный участник
Рейтинг
5
Кстати, никто не замечал утечку памяти при вызове функции render из maxscript?

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
FILA61 Для начала Включи Bitmap Pager в настройках.
Во второром случае тебе нужен не Регион а Кроп.

disconnector Пямять скорее всего уходит на хранение битмапов, нужно корректно их закрывать и чистить гарбач коллектор.

disconnector

Активный участник
Рейтинг
5
Savin Denis ,

Попробуйте запустить скрипт и наблюдайте за памятью

1 наихудший вариант скрипта. поедает память на каждом цыкле

for i=1 to 5 do (
bm = render outputwidth:2000 outputheight:1000 progressbar:true outputfile: ("C:\\del.jpg"😉 vfb😮ff
--render outputwidth:2000 outputheight:1000 progressbar:true outputfile: ("C:\\del.jpg"😉 vfb😮ff
)

2 вариант. отъедает по куску при запуске скрипта. если его запускать несколько раз, то свободная память быдет уменьшаться

bm = bitmap 2000 1000 filename:"C:\\del.jpg"

for i=1 to 5 do (
render outputwidth:2000 outputheight:1000 progressbar:true to:bm vfb😮ff

)
close bm

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
судя по коду так и должно быть, в чем впрос то ?

disconnector

Активный участник
Рейтинг
5
Вопрос об утечке памяти при работе кода.
Как от этого избавиться?

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
Никакой утечки нет, просто таким образом работает специальная система удаления мусора - место под удаленные данные освобождается не сразу а только когда решит эта система, так как чистка буферов очень время затратный процесс. Когда нужно она все сама освободит автоматически.
В критичных случаях можно форсировать очистку командой gc()