1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

ColorRamp в Entropy - решение

Тема в разделе "RenderMan", создана пользователем Nitisara, 2 июл 2002.

Модераторы: Moderator.
  1. Nitisara

    Nitisara Знаток

    С нами с:
    06.08.2001
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    27
    Столкнулся с проблемой, что рамп для рендермана не рендерится в Энтропии.
    Прочитал в форуме, что советуется избегать функции spline из-за несоответствия ее параметров с рендерманом.
    После ознакомления с документацией по Энтропии стало понятно, что ей просто необходим сплайн с постоянно неубывающей параметризацией. При этом функция spline работает корректно и поддерживает все параметры рендермана (проверил, и это также описано в документации по Энтропии).
    Таким образом, удалось исправить несоответствие, установив параметр всех остальных цветовых нодов рампа в "1" и обеспечив, таким образом, требуемую неубывающую параметризацию (в противном случае происходит перепад с "1" на "0" после последнего используемого цвета рампа).
    (Если кто не знает - доступ ко всем 32 цветам рампа в слиме - ctrl+dbl_click).
     
  2. Guest

    Привет монстрам. Добро пожаловать в наше маленькое community.

    А не совсем понял, какую именно ошибку исправляет твой метод. Основная проблема, как я её вижу, состоит в том, что в Entropy (Entropy 3.0 Release 4 intelnt (Oct 23 2001 14:19:28)) у функции spline нет метода solvecatrom, который используется Slim'ом для показа сплайнов, рампов и прочего.

    Я попробовал, у меня (как и раньше) рамп не показался, вернее, показался полностью чёрным (вызов spline("solvecatrom") вернул нули).

    Может, оная функция появилась в Entropy 3.1?
     
  3. Nitisara

    Nitisara Знаток

    С нами с:
    06.08.2001
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    27
    В релизе 3.1 тоже возвращает нуль и дает черный рамп. До тех пор, пока не сделать вышеуказанное. К сожалению, я не знаком с версией (и особенно ее документацией) 3.0, но в 3.1 в разделе <B> "API Specefication > Shading Language > Built-in Library Functions"</B> в описании функции <B>spline</B> говорится:
    Valid basis names are: "catmull-rom", "bezier", "bspline", "hermite", or "linear". If no basis name is supplied, "catmull-rom" is used. The number of data values must be 4n + 3 for Bezier splines, and 4n + 2 Hermite splines. Any number of knots may be used for Catmull-Rom or Linear splines, but the number of knots must be  4. To maintain consistency with the other spline types, linear splines will ignore the first and last data value, interpolating piecewise-linearly between y0 and yn.
    The following basis names are also supported: "solvecatmull-rom", "solvebezier",
    "solvebspline", "solvehermite", "solvelinear". For any of the "solve"
    spline types, whose data values may only be float, the spline’s inverse is computed.
    That is, spline() returns the lookup value for which the spline’s result would be x.
    Results are undefined and likely unstable if the knots do not determine a monotonically increasing spline.
     
  4. Guest

    1. Они ввели в 3.1 "solvecatrom"
    2. Который работает, если проинициализировать весь сплайн, как советует Нитисара.

    УРА!
     
Модераторы: Moderator.

Поделиться этой страницей