Thursday, July 19, 2012

meShaderEd.py (0.2.5)

https://github.com/ymesh/meShaderEd

Added icons in node description window.
Added ReadArchive node.
Root RSL nodes now have rib output instead of just shader name.
Some preview nodes removed. 

20 comments:

  1. Юрий, если не секрет, вы в КПП используете prman как основной рендер и meShaderEd как замену слиму, или meShaderEd это ваш сайд-проект?

    ReplyDelete
  2. Мы используем prman и mentalray -- 50/50.
    До не давнего времени, slim нас вполне устраивал. Но, сейчас, я пытаюсь перевести студийный pipeline на liquidmaya--afanasy--prman 16.5 и поэтому, meShaderEd -- это мой сайд-проект. который понемногу внедряется в рабочий процесс.

    ReplyDelete
    Replies
    1. Давно не видел рилов КПП, делаете что-то масштабное? Трудно представить prman в режиме "роликов на вчера", когда надо показать блестящий телефончик.

      Delete
    2. Масштабного, сейчас пока нет.. (кстати, это и хорошо. т.к. есть время на эксперименты ), но вот в "горящем" режиме, ферма с prman-ом -- очень даже выручает ;)
      Какая разница, что рендерить?
      Это, ведь -- просто привычный инструмент.

      Delete
  3. Здравствуйте! Я скачал и установил meShaderEd ver0.2.6. Все работает, шейдера компилятся 3delight, в мае все открывается и рендерится. Вопрос. При работе в meShaderEd, не работает image view, то есть я не могу увидеть результат того что я сделал. На примере семплов, тоже не работает. Питон пишет "WindowsError: [Error 2], У меня 32битный ХР сервиспак 3, Питон 2.7. Сам вопрос, этот баг с просмотром связан с тем что ведутся доработки, или что то не так именно у меня. Спасибо!

    ReplyDelete
    Replies
    1. А PIL (Python Imaging Library) http://www.pythonware.com/products/pil/
      у вас установлен?

      Delete
    2. Дело в том, что стандартный PyQt под Windows работает только с .PNG. Лучший вариант -- это скомпилить PyQt из исходников. Тогда модуль ImageView будет использовать стандартные Qt библиотеки (что значительно быстрее). Иначе, под Windows вам нужен PIL.
      А вообще, лучше запустить meShaderEd.py в терминале (python meShaderEd.py) с командной строки и почитать, что пишется...

      Delete
  4. Вот что у меня установлено: python-2.7.3.msi,PyQt-Py2.7-x86-gpl-4.9.4-1.exe,PIL-1.1.7.win32-py2.7.exe. Питон установил по умолчанию куда он предложил на диск С:\Python27\, библиотеки сами установились в C:\Python27\Lib\site-packages. вот что пишет если просто запустит https://plus.google.com/photos/107483735992015732838/albums/5783153439151975649?authkey=CKSo35nhlJywxgE Из командной строки винды (python meShaderEd.py) окно доса быстро исчезает, и ничего не происходит. Или имелось в виду запустить эту команду из питона, тогда получается то же, что и на принтскрине.

    ReplyDelete
    Replies
    1. Ну, если есть окно терминала, где можно почитать логи (как на принтскрине),
      то интересно глянуть, что пишется после нажатия "Update" в ImageView.

      Да, и сама нода ImageViewer, может использоваться просто для просмотра картинок. Необязательно ее коннектить к RibPreview.
      Что происходит, если попытаться просмотреть какие-то .PNG или .TIF файлы?

      Delete
  5. Спасибо за ваши ответы! простите что отнимаю ваше время. И так, в режиме просмотра картинок имедж нода работает, из примеров лису и прмановскую сетку можно просмотреть. А вот с просмотром риб выкидывает ошибку. Я открыл пример text_plastic.

    Вот вся простыня от загрузки до ошибки: Текстовый файл http://uafile.com.ua/get/43588/

    ReplyDelete
    Replies
    1. Судя по логам, у вас BasicPrimitive выбран framebuffer:
      >> Display driver = framebuffer
      В этом случае будет идти в 3Delight-овский дисплей драйвер (который возможно у вас не запускается по каким-то причинам) и ImageView ничего показывать не будет соответсвенно.
      Попрбуйте Display driver = TIFF

      Delete
    2. Хотя.. похоже, что ошибки начинаются значительно раньше...
      Попробуйте запустить в командной строке "cmd".
      В открывшемся досовском окне, наберите:

      shaderdl -IC:/ymesh-meShaderEd-8c29e4c/include -DDELIGHT
      C:/ymesh-meShaderEd-8c29e4c/samples/shaders/src/texture_plastic.sl

      Delete
    3. Поменяв дисплей драйвер на тифф тоже ничего. Вот что получилось после запуска в дос:


      C:\Documents and Settings\Sash>
      C:\Documents and Settings\Sash>cd \

      C:\>shaderdl -IC:/ymesh-meShaderEd-8c29e4c/include -DDELIGHT
      Системе не удается найти указанный путь.

      C:\>C:/ymesh-meShaderEd-8c29e4c/samples/shaders/src/texture_plastic.sl
      C:\ymesh-meShaderEd-8c29e4c\samples\shaders\src\texture_plastic.sl:4: Cannot ope
      n file: project.h.
      C:\\ymesh-meShaderEd-8c29e4c\\samples\\shaders\\src\\texture_plastic.sl: in func
      tion texture_plastic
      C:\\ymesh-meShaderEd-8c29e4c\\samples\\shaders\\src\\texture_plastic.sl:25: ERRO
      R: undefined 'GetColorTextureAndAlpha' function
      Compilation of 'C:\ymesh-meShaderEd-8c29e4c\samples\shaders\src\texture_plastic.
      sl' aborted due to errors: 1 errors, 0 warnings.

      C:\>

      А можно ли предположить что возможно что то в переменных, я одно время воевал с ними и 3дилайтом?

      Delete
    4. Вообще-то, это должна быть одна строка, а не две:
      shaderdl -IC:/ymesh-meShaderEd-8c29e4c/include -DDELIGHT C:/ymesh-meShaderEd-8c29e4c/samples/shaders/src/texture_plastic.sl

      shaderdl.exe должен быть доступен в системе по PATH-у.

      Если 3Delight установлен где-то в C:\renderer\3delight, то в переменной PATH должна быть строка C:\renderer\3delight\bin

      Delete
  6. Мои переменные в которых упоминается про 3дилайт для майа:

    Path

    C:\Python27\Lib\site-packages\PyQt4;;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\3Delight For Maya\bin
    ***************************************
    _3DFM

    C:\Program Files\3Delight For Maya

    ***************************************

    MAYA_PLUG_IN_PATH

    C:\Program Files\3Delight For Maya\maya\plugins

    ***************************************

    MAYA_RENDER_DESC_PATH

    C:\Program Files\3Delight For Maya\maya\render_desc

    ***************************************

    MAYA_SCRIPT_PATH

    C:\Program Files\3Delight For Maya\maya\scripts

    ***************************************

    XBMLANGPATH

    C:\Program Files\3Delight For Maya\maya\icons

    ***************************************
    Вот что получилось когда в одну строку запустил:
    C:\>shaderdl -IC:/ymesh-meShaderEd-8c29e4c/include -DDELIGHT C:/ymesh-meShaderEd
    -8c29e4c/samples/shaders/src/texture_plastic.sl
    Системе не удается найти указанный путь.

    C:\>

    Прошлый раз когда когда вставлял он сам разбивал на две строки.

    ReplyDelete
  7. Вот что у меня в папке C:\Program Files\3Delight For Maya\bin

    Принтскрин:
    http://uafile.com.ua/get/43599/

    ReplyDelete
    Replies
    1. Никогда не пользовался 3DFM..

      Вполне хватает просто 3Delight-a

      Имеет значение только переменная PATH.
      В самом начале, в ней должен быть указан путь к папке, где лежат
      shaderdl.exe и renderdl.exe.
      Похоже, что в C:\Program Files\3Delight For Maya\bin их нет...

      Delete
  8. Скорее это и причина моих затруднений. Я использую 3DFM, только из за боке. Его нет в простудио. Обойдусь без превью, придумаю что нибудь. Спасибо еще раз.

    ReplyDelete
    Replies
    1. Понятно.
      Но ничто не мешает одновременно держать установленными 3DFM и простудию.
      Кто первый будет описан в PATH-e -- тот и будет запускаться.
      Чтобы не пересекаться с программами из 3DFM, можно для запуска meShaderEd-a написать команд файл (meShaderEd.cmd) с примерно таким содержанием:

      SET PATH=C:\(Путь к 3Delight)\bin;%PATH%
      python meShaderEd.py

      Delete
  9. Все заработало. Установил Просстудию, в ней уже предлагалось установить еще и 3DFM. Установил! Запустил meShaderEd, пример пластик, отдельным окном сразу появился превью. Буду следить за обновлением вашего редактора.

    ReplyDelete