Render Region Script !
- Автор темы игорь павлов 15143
- Дата создания
- Рейтинг
- 2
как вызвать рендр регион я понял
render vfbn outputwidth:640 outputheight:480 renderType:#region region:#(0,0,20,20)
но ввести цилк неполучается
for j = 1 to 5 do
(
x=(j+1)
render vfbn outputwidth:640 outputheight:480 renderType:#region region:#(x,10,20,20)
)
пишет ошибку
-- Syntax error: at ), expected <factor>
-- In line: )
обший замысел скрипта создать с помощью render regiona что то наподобии Bucket рендера как в бразиле или Vray
render vfbn outputwidth:640 outputheight:480 renderType:#region region:#(0,0,20,20)
но ввести цилк неполучается
for j = 1 to 5 do
(
x=(j+1)
render vfbn outputwidth:640 outputheight:480 renderType:#region region:#(x,10,20,20)
)
пишет ошибку
-- Syntax error: at ), expected <factor>
-- In line: )
обший замысел скрипта создать с помощью render regiona что то наподобии Bucket рендера как в бразиле или Vray
- Рейтинг
- 138
У меня в восмерке приведенный фрагмент работает без ошибок !
Какой стоит рендер - сканлайн ?
Да кстати если не секрет зачем это нужно ? карасиво конечно спору нет !
Есть практическое применение ?!
Посленний макс умет делать распределенный рендер для сканлайна , при использоваении сетевого рендера, если это было конечой целью.
Правда бьет картинку не так красиво.
Какой стоит рендер - сканлайн ?
Да кстати если не секрет зачем это нужно ? карасиво конечно спору нет !
Есть практическое применение ?!
Посленний макс умет делать распределенный рендер для сканлайна , при использоваении сетевого рендера, если это было конечой целью.
Правда бьет картинку не так красиво.
- Рейтинг
- 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 vfbff outputwidth:width outputheight:height renderType:#region region:#( w_start, h_start, w_end, h_end) to:b
)
)
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 vfbff outputwidth:width outputheight:height renderType:#region region:#( w_start, h_start, w_end, h_end) to:b
)
)
- Рейтинг
- 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 vfbff outputwidth:width outputheight:height renderType:#region region:#( w_start, h_start, w_end, h_end) to:b
)
)
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 vfbff outputwidth:width outputheight:height renderType:#region region:#( w_start, h_start, w_end, h_end) to:b
)
)
- Рейтинг
- 5
Savin Denis ,
Попробуйте запустить скрипт и наблюдайте за памятью
1 наихудший вариант скрипта. поедает память на каждом цыкле
for i=1 to 5 do (
bm = render outputwidth:2000 outputheight:1000 progressbar:true outputfile: ("C:\\del.jpg") vfbff
--render outputwidth:2000 outputheight:1000 progressbar:true outputfile: ("C:\\del.jpg") vfbff
)
2 вариант. отъедает по куску при запуске скрипта. если его запускать несколько раз, то свободная память быдет уменьшаться
bm = bitmap 2000 1000 filename:"C:\\del.jpg"
for i=1 to 5 do (
render outputwidth:2000 outputheight:1000 progressbar:true to:bm vfbff
)
close bm
Попробуйте запустить скрипт и наблюдайте за памятью
1 наихудший вариант скрипта. поедает память на каждом цыкле
for i=1 to 5 do (
bm = render outputwidth:2000 outputheight:1000 progressbar:true outputfile: ("C:\\del.jpg") vfbff
--render outputwidth:2000 outputheight:1000 progressbar:true outputfile: ("C:\\del.jpg") vfbff
)
2 вариант. отъедает по куску при запуске скрипта. если его запускать несколько раз, то свободная память быдет уменьшаться
bm = bitmap 2000 1000 filename:"C:\\del.jpg"
for i=1 to 5 do (
render outputwidth:2000 outputheight:1000 progressbar:true to:bm vfbff
)
close bm
- Рейтинг
- 138
Никакой утечки нет, просто таким образом работает специальная система удаления мусора - место под удаленные данные освобождается не сразу а только когда решит эта система, так как чистка буферов очень время затратный процесс. Когда нужно она все сама освободит автоматически.
В критичных случаях можно форсировать очистку командой gc()
В критичных случаях можно форсировать очистку командой gc()