Доброго времени суток
Года два назад набрел на gamedev.ru на такой вот вроде бы несложный скриптик - плагин, который обрабатывает отрендеренную картинку, превращая ее из premultiplied в non - premultiplied, или, другими словами, unmatted. Короче, полупрозрачные объекты благодаря этому плагину, не меняют свой цвет в зависимости от цвета фона. Плагин незаменимый в создании спрайтов для игр, но к сожалению то ли от переезда на 4ядерный проц, то ли от нового Vray+Max2009 работать он отказывается - на этапе запуска этого плагина или вылетает макс, или выдается несколько ошибок.
Сам я не продвинут в написании таких плагинов, кто нибудь может подсказать что сделать чтоб он заработал без вылетов?
Плагин (лежит в папке sdplugs как *.ms):
ошибка:
Года два назад набрел на gamedev.ru на такой вот вроде бы несложный скриптик - плагин, который обрабатывает отрендеренную картинку, превращая ее из premultiplied в non - premultiplied, или, другими словами, unmatted. Короче, полупрозрачные объекты благодаря этому плагину, не меняют свой цвет в зависимости от цвета фона. Плагин незаменимый в создании спрайтов для игр, но к сожалению то ли от переезда на 4ядерный проц, то ли от нового Vray+Max2009 работать он отказывается - на этапе запуска этого плагина или вылетает макс, или выдается несколько ошибок.
Сам я не продвинут в написании таких плагинов, кто нибудь может подсказать что сделать чтоб он заработал без вылетов?
Плагин (лежит в папке sdplugs как *.ms):
plugin renderEffect SpriteRender
name:"SpriteRender"
classID:#(0xb7aa794c, 0xc3bd78ab)
(
parameters main rolloutarams
(
)
rollout params "SpriteRender"
(
)
on apply bmp do
(
for h=0 to (bmp.height-1) do
(
local sline = getPixels bmp [0,h] bmp.width
for i=1 to sline.count do
if sline.a > 0 do
( local F = (255.0 / sline.a) as float
sline.r = (sline.r * F)
sline.g = (sline.g * F)
sline.b = (sline.b * F)
)
setPixels bmp [0,h] sline
)
)
)
name:"SpriteRender"
classID:#(0xb7aa794c, 0xc3bd78ab)
(
parameters main rolloutarams
(
)
rollout params "SpriteRender"
(
)
on apply bmp do
(
for h=0 to (bmp.height-1) do
(
local sline = getPixels bmp [0,h] bmp.width
for i=1 to sline.count do
if sline.a > 0 do
( local F = (255.0 / sline.a) as float
sline.r = (sline.r * F)
sline.g = (sline.g * F)
sline.b = (sline.b * F)
)
setPixels bmp [0,h] sline
)
)
)
ошибка:
Вложения
-
37,4 КБ Просмотров: 214