Render.ru

Хотите поржать?

#1
В общем, вот такая страшная история:
сидел вчера ночью дома, пописывал себе шейдер, склепал простенький риб, чтобы шейдер этот отлаживать (под bmrt - это важно!), вроде, все работало. Сегодня утром принес все на работу, перекомпилил шейдер, запущаю prman -хрен! Все виснет, через минут 5 DrWatson говорит, мол, выкинул я твой prman.exe нахрен. Запущаю еще раз, смотрю в Task Managere - 800 мегабайт RAM prmanом отъето (при 512 физической)... Я - в шейдер, давай его ломать, все переконопатил - одна фигня. Я в риб вообще matte поставил - то же самое. Короче говоря, часа через два я уперся в стену. А риб к этому моменту стал уже вот такой:

Format 320 240 1
Display "test.tif" "tiff" "rgba"
Projection "perspective"
Translate 0 0 3
WorldBegin
LightSource "ambientlight" 1 "lightcolor" [1 1 1]
AttributeBegin
Color [0.5 0.5 0.5]
Surface "matte"
Sphere 1 -1 1 360
AttributeEnd
WorldEnd

И это не рендерится и жрет 800 мегабайт памяти!!!??? Я - в %RMANTREE%/etc/setup, запускаю make.bat - все работает - зашибись и мгновенно! Я давай из trial.rib всяческие опции с трансформами выдирать и прочая - еще пару часов убил, но - увы - без результата. Все - думаю. Лечится пора. И тут мне внутренний голос шепчет: а что будет, если этот долбанный prman до WorldEnd не доходит? Стал смотреть: бли-и-и-ин!!! Это же программерская ошибка из разряда "для чайников"! После WorldEnd НАДО СТАВИТЬ ПУСТУЮ СТРОКУ!
Вот это да! Самое противное, что нигде в Release Notes про этот баг - ни слова... Так что, товарищи, имейте в виду сию особенность данного софта, если не хотите, как я, полдня сидеть перед монитором, тупо наблюдая за поразительными цифирками в Task Managerе.
 
#2
Поэкспериментировал - оказывается, не обязательно пустую строку втыкать - достаточно пробела после WorldEnd.
 
#3
На самом деле - не пробела, а переноса строки или пробела ;-))

Ошибка типичная для переноса программ с Unix - у них там другие концы строк, а сделать потоковый ридер - достаточно муторная задачка. Вот и лажаются иногда, я не впервые такое вижу - хотя именно под prman раньше не встречал.

Пошли письмо саппорту (Лоле или как ее там) - они спасибо скажут. Только назовись поинтереснее - институтом или еще как.

;-)
 
#4
Я тут покумекал - дело еще может быть в различиях между стандартными С библиотеками, скажем, Микрософтовский вариант fgets() не устанавливает в 1 значение feof(), если строка заканчивается концом файла, а Unix-овый устанавливает, или что-то в этом роде. Но штука достаточно неприятная, и странно, что до сих пор ее никто не нашел. Я уже им написал, причем от себя - я в beta team был с годик назад. Посмотрим, что скажут.
 
#5
Вполне возможно, кстати говоря.

А что, beta team привилегии есть? И как их зарабатывают? ;-) Просто интересно.
 
#6
Сейчас уже никаких привилегий, ну - новости присылают, скажем,
сегодня я узнал, что они с 20 по 24 ноября преезжают в новый офис в другом городе, и, скорее всего, сменятся 800 телефоны (очень полезная информация, да :), сайт пиксаровский работать не будет и пр. А пока бета тестирование шло - можно было скачивать все промежуточные версии (хотя там и так никакого пароля не было) и сообщать об ошибках. Они присылали 60-дневные (по-моему, точно не помню) лицензии.
Взамен я обещал "не распространять" полученную конфиденциальную информацию - что и делаю, поскольку никакой такой информации не получил, а лицензии действительно никому не давал.
А началось все с MaxMan - они меня сами нашли по 3ds2rib. Кто не знает - лет 5 назад я состряпал эту программулину под Дос, а чуть позже - игрушечный плагинчик под Макс для экспорта рибов соответственно из 3DS и Макса. (http://www.r-m-c.ru/3ds2rib.html)
Ну так вот, Animal Logic-овцы мне сами предложили MaxMan тестировать, а потом сказали, кому написать в Пиксар, чтобы и у них "на воинский учет встать". Я так и сделал. Они сначала покочевряжились, мол, за пределами US это дело сильно затруднено, а потом "в виде исключения" согласились. Правда, я особо ничем их не порадовал, ну там, в sho.exe был баг с некоторыми .tga файлами, так они, по-моему, и без меня его видели. У меня тогда работы как раз было - головы не поднять. Не до тестирования...
Вот и вся история.

P.S. Кстати, я им вчера отписал про этот WorldEnd баг. Ну, короче, сначала они вообще не поняли, о чем это я, потом посоветовали генерить рибы из С-программ, а потом до них дошло, что у меня лицензия давно закончилась и - говорят, мол - где взял? В общем, за что боролись - на то и напоролись. И чем это все закончится - пока не знаю...
 
#7
<alex>А началось все с MaxMan - они меня сами нашли по 3ds2rib. Кто не знает - лет 5 назад я состряпал эту программулину под Дос, а чуть позже - игрушечный плагинчик под Макс для экспорта рибов соответственно из 3DS и Макса. (http://www.r-m-c.ru/3ds2rib.html)</alex>

Знаем, видели, даже пробовали, да не очень получалось... Держи в курсе, интересно.



 
#8
Да у меня и самого-то не очень получалось :)) В смысле, рибы-то получались и очень качественные, и полностью идентичные оригиналам - но - только в смысле геометрии. Я, к примеру, долго мучился с перелопачиванием fov камеры в rmanовские значения. И никак не мог понять, по какому закону он меняется в 3ds-файле. Мне тогда сильно помог один товарищ из Новосиба - они писали тогда систему bCad-bRender и при написании импорта из 3ds тоже с этой проблемой столкнулись. Но, несмотря на точность конвертации геометрии, все остальное - материалы, и пр. приходилось вписывать ручками. А размер полностью полигональных рибов был просто фантастическим. То есть реально никакого "продакшн" сделать было нельзя. А так, например, побаловаться с радиосити - пожалуйста. Ко мне до сих пор письма приходят от разных забугорных товарищей с просьбой продолжить работу над ribexp. Сейчас - когда есть MaxMan! Понятно, что он не дешевый, но у меня ни времени, ни возможностей, ни - уже - желания делать что-то подобное. Так я и забросил это дело несколько лет назад, но вот появилась Maya c RATом - и я снова на эту удочку попался. И учусь писать шейдеры - как это можно понять из моих глупых вопросов в этом форуме.
Новости из Пиксара: внесли этот баг в базу данных, отблагодарили и погрозили пальчиком: мол, бета период более 9 месяцев назад закончился, и будь добр - обращайся в sales к Лоле за приобретением лицензии. Я раскаялся и поклялся, что бета-лицензию я со своего диска стер. И совершенно не покривил душой ;-)
 
Сверху