Голосование

Нужны ли "ноды" для POV-Ray?

Да
0 (0%)
Нет
0 (0%)
Не понимаю вопрос
0 (0%)

Проголосовало пользователей: 0

Автор Тема: Povray-3.7: Неофициальный экспортёр  (Прочитано 124768 раз)

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #75 : 06 Июнь 2014, 20:49:27 »
... если будет время посмотри можно ли положительную практику OSL узлов перенести для isosurface ...
... суть Ослика в Суслике задать характеристики поверхности, и в сам скрипт можно передавать параметры от других узлов ...
... на картинке пример ...

... по ходу добавлю, что на этой картинке один полигон и все цветочки это одна функция ...
« Последнее редактирование: 06 Июнь 2014, 20:52:34 от sungreen »
Для Кота

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #76 : 06 Июнь 2014, 21:09:46 »
Цитировать
... если будет время посмотри можно ли положительную практику OSL узлов перенести для isosurface ...
... суть Ослика в Суслике задать характеристики поверхности, и в сам скрипт можно передавать параметры от других узлов ...

На этой машине я даже думать не хочу с сусликом возиться.
Ты мне скажи, OSL создаёт объекты по формулам, или просто программирует создание особого нода материалов? Я даже этого не знаю.
Мне кажется либо ты, либо я о чём-то ни о том. Isosurface - это объект, а эти цветочки - это что? Цветы или краску для них мы пишем на OSL?
В поврее красят как-то макросами, особыми приёмами программирования, я в этом ни бум-бум.

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #77 : 06 Июнь 2014, 21:30:41 »
... не хотел вносить недоразумений, конечно дело не OSL, а в организации ноды для isosurface, в которую можно передавать другие параметры, связывая их с другими узлами ...
... еще раз повторю, что OSL упомянут в этой теме только как пример организации узла для работы со скриптами ...
... если в тексте OSL скрипта указаны входные и выходные параметры, то они автоматически добавляются в качестве inputs|outputs к узлу, что упрощает их связывание с другими узлами или заданию параметров по умолчанию ...
Для Кота

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #78 : 06 Июнь 2014, 23:00:39 »
Цитировать
не хотел вносить недоразумений,
Недоразумения я принимаю, как рабочую обстановку.
Давай по порядку.
Цитировать
упрощает их связывание с другими узлами или заданию параметров по умолчанию
Этот узел, другой, не важно. Я вижу смысл в узле, если без него не обойтись. Если я открою блендер, чтобы создать зелёный куб, зачем мне ноды? Я просто не понимаю. Почему нельзя просто, как сферу создать объект isosurface и присвоить ему зелёный материал? Я, именно, на это нацеливался, добавив в проект файл add_povray_shapes. В него я хотел перенести все повреевские объекты, в том числе и isosurface.  Не клацать write as, а также, как сферу shift-A => povray shapes => isosurface. Подключил текст, настроил необходимое, всё. Открывай материал, присваивай. Сложно? Открывай редактор нодов, вяжи узлы из материалов.
С другой стороны, я понимаю, что, если есть функция { y - (x*x*a + z*z)*b }, то тебе хочется написать в скрипте
float a
float b

и, чтоб на ноде появились две крутилки, с помощью которых ты будешь настраивать. Но, это не лучший вариант. С одной формулой можно экспериментировать год умножая всё, что угодно на всё что угодно. Её можно написать { y - (z*x*a + z*z)*b } или так { y - (y/x*a*2 + y*z)*b } и в 50% случаев будет получаться очень интересный результат. Ты захочешь сохранить для потомков все успешные комбинации, но очень быстро запутаешься в том, какая формула, что рисует. :)
« Последнее редактирование: 06 Июнь 2014, 23:10:07 от LanuHum »

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #79 : 06 Июнь 2014, 23:08:36 »
>> чтоб на ноде появились две крутилки, с помощью которых ты будешь настраивать
... это так, то есть должны быть "крутилки" или "связывалки" ...
... но это могут быть связи с другими "функциями" или параметры с других узлов ...

>> Подключил текст, настроил необходимое, всё. Открывай материал, присваивай. Сложно?
... мне нужно долее детально погрузиться в тему ...
... к понедельнику дам ответ ...
Для Кота

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #80 : 06 Июнь 2014, 23:30:07 »
Цитировать
>> Подключил текст, настроил необходимое, всё. Открывай материал, присваивай. Сложно?
... мне нужно долее детально погрузиться в тему ...
... к понедельнику дам ответ ...

Write as ещё есть, я писал, к чему движимся.
Периодически проверяй мой репозиторий git.

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #81 : 07 Июнь 2014, 06:47:58 »
>> С другой стороны, я понимаю, что, если есть функция { y - (x*x*a + z*z)*b }, то тебе хочется написать в скрипте
float a
float b

... да и более того, нужно еще сделать так чтобы эта a и b могли изменяться во время анимации ...
... вот аналог на картинке - есть узел R, свойство Value которого анимировано кривой и его значение передается другому узлу ...
... если будет нода isosurface с "крутилками" a и b, то им тоже можно будет передавать анимированные значения с других узлов? ...

[вложение удалено Администратором]
Для Кота

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #82 : 07 Июнь 2014, 11:42:48 »
Цитировать
... да и более того, нужно еще сделать так чтобы эта a и b могли изменяться во время анимации ...
Хорошая подсказка. Проверил. Не анимируется color_stop. При чём, причина неизвестна. Другие мои коллекции позволяют анимировать свои элементы. Но, кривые не наблюдаются для визуального редактирования. Ой, ё-моё!

Цитировать
... вот аналог на картинке - есть узел R, свойство Value которого анимировано кривой и его значение передается другому узлу ...
... если будет нода isosurface с "крутилками" a и b, то им тоже можно будет передавать анимированные значения с других узлов? ...

Как я представляю, узлы - это просто графическое представление программирования. На уровне вытаскивания информации из узлов я не вижу никакой передачи параметров от одного узла другому.
Например, есть input узел "Вращать" с анимированным параметром.
Есть output узел "Турбина". Связывая мы как бы передаём параметр, но на самом деле при экспорте в узле "Турбина" трудно найти параметр "Вращать", который мы, якобы, передали. Может, он где-то и зарыт, но скудная документация не позволяет отыскать.
Для того, чтобы экспортировать, мы проверяем, что привязано к турбине, В API все эти привязки links - ссылки. Видим, что входной сокет узла "Турбина" ссылается на выходной сокет  узла "Вращать", идём в свойства узла "Вращать" и забираем из них нужный параметр. Поэтому, если у нас значение анимировано, нам не важно, передаётся ли оно на самом деле куда-то или нет, нам важна протянутая верёвочка - ссылка.
Разумеется, это про пользователем созданные ноды. Как обстоит дело со встроенными - этого я не знаю.
« Последнее редактирование: 07 Июнь 2014, 13:36:28 от LanuHum »

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #83 : 08 Июнь 2014, 09:05:27 »
Покрутил я немного ноды в cycles, посмотрел на интерфейс. По-моему, нужно пробовать создавать сцену для поврея на этом движке. Здесь много чего подходит, особенно, нод script мне понравился. Все параметры анимируются, все fcurve доступны. Дополнительных крутилок понадобится намного меньше. В общем буду пытаться, тем более, что уже многим уже хорошо известен интерфейс cycles.

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #84 : 08 Июнь 2014, 09:43:12 »
... не сомневайся, ноды это правильное направление, даже если сам экспортёр отдаёт "плоский" файл ...
Для Кота

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #85 : 08 Июнь 2014, 14:47:30 »
sungreen, судя по твоему скрину где-то выше, ты пишешь шейдеры. У меня проблема. Так вроде всё получается красиво, но, я не могу понять, как создать два строковых входа. Один создаёт, а если пишу ещё один, то компилятор выдаёт ошибку.
А, сообразил, название шейдеру нужно давать другое, получилось. :)

[вложение удалено Администратором]
« Последнее редактирование: 08 Июнь 2014, 14:55:57 от LanuHum »

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #86 : 08 Июнь 2014, 15:07:54 »
Всё-равно, ерунда какая-то. Чисто интуитивно первую назвал Text, и только это имя проходит. По другому первую назвать не могу - ошибка компиляции :(

[вложение удалено Администратором]

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #87 : 08 Июнь 2014, 17:39:42 »
>> По другому первую назвать не могу - ошибка компиляции
... а какой текст сообщения об ошибке? ...
... это связано с Output=Text? ...
Для Кота

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #88 : 08 Июнь 2014, 17:47:26 »
Цитировать
а какой текст сообщения об ошибке? ...

/tmp/tmpupeq7k.osl:9: error: 'Text' was not declared in this scope
Error: OSL script compilation failed, see console for errors

Спасибо! Чё-то я не сообразил сразу про Output, нужно ж вот так:
shader koon_shader(
    string Component_1 = "",
    string Formula_2 = "",
    float P0 = 1,
    float P1= 0.5,
    output string Output = Component_1
)
{

}

Оффлайн LanuHum

  • Житель
Re: Povray-3.7: Неофициальный экспортёр
« Ответ #89 : 08 Июнь 2014, 17:51:03 »
sungreen, так похоже на то, что ты хотел?

[вложение удалено Администратором]

 


Яметрика

* По форуму

* Рекламный блок

* Последние вложения

1 (1).png
Скачано: 7447
Автор: LEXA ANЭGROWND
blender.png
Скачано: 7483
Автор: ipv2007
4.png
Скачано: 7390
Автор: hiroyukiss
2.png
Скачано: 7517
Автор: hiroyukiss

Скачано: 7565
Автор: Dilifa12