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

shadow()

Тема в разделе "RenderMan", создана пользователем -, 29 сен 2000.

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

    Пишу lightshader.
    blur = 16;
    result = shadow(filename, Q,
    "samples", samples,
    "swidth", blur,
    "twidth", blur);
    вот так всё нормально.
    когда меняю установку blur с константы на, например, random()
    PRMan пишет следующее:
    S05001 Shadeop error: argument 8 is wrong type (vertex scalar) in op shadow at pc 47 in "rmanshader/Spot_0".
    Shader "rmanshader/Spot_0", Geometry "|pCube1|pCubeShape1". (WARNING)

    и ничего не меняется. хотелось бы знать почему. мне надо чтобы blur не был статичен, а менялся в зависимости от того какая точка в данный момент обрабатывается.

    Заранее благодарен, Майк.
     
  2. Guest

    По поводу ошибки так ты просто забыл что
    random() (как впрочем и другие функции) , бывают
    разных типов ( float, point и.т.п )
    Просто нужно было писать с указанием типа:
    float random ()
    А по поводу самой идеи - недумаю что бы это сработало
    Похоже что аргумент для фильтров не может быть varying.
    Хотя может я и обшибаюсь.
    Если че получиться - сообчи :)
     
  3. Guest

    Скорее всего - нет, не будет работать, поскольку shadow будет вызываться в цикле для каждого пиксела - varying тип не сработает.
     
Модераторы: Moderator.

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