Render.ru

BMRT - Caustics

#1
Подскажите - как включить каустику в BMRT.
Меня интересуют "ручные способы".
Пример смотрел с Rhinoman'а - не работает
 
#2
Специально для ленивых, выкусил из документации ж-)

3.5 Caustics
BMRT also has the option of computing caustics, which (to mangle the true meaning just a bit) refers to light that reflects or refracts from specular objects to focus on other objects. To compute caustics, you must follow these steps:

1. Declare a magic light source with the "caustic" shader (like "indirect",
it's built into BMRT rather than being an actual shader). You should use
RiIlluminate to turn the caustic light on for objects that receive caustics,
and turn it on for objects that are known to not receive caustics. Illuminating
just the objects that are known to receive caustics can save lots of rendering
time.

2. For any light sources that should reflect or refract from specular object, thereby
causing caustics, you will need to set the number of photons with:
Attribute "light" "integer nphotons"
This sets the number of photons to shoot from this light source in order to
calculate caustics. The default is 0, which means that the light does not try
to calculate caustic paths. Any nonzero number will turn caustics on for that
light, and higher numbers result in more accurate images (but more expensive
render times).

3. The algorithm for caustics doesn't understand shaders particularly well, so
it's important to give it a few hints about which objects actually specularly
reflect or refract lights. This is done with Attribute "radiosity"
"specularcolor", Attribute "radiosity" "refractioncolor", Attribute
"radiosity" "refractionindex", See section 3.2.9 for details.

4. Finally, you may want to adjust several global options that control basic
time/quality tradeoffs. These are also described in section 3.2.9.
 
#3
Я это читал, пытался вернее, (плохо с английским).


WorldBegin

LightSource "indirect" 1
LightSource "caustic" 2
 
#4
Я это читал, пытался вернее, (плохо с английским).


WorldBegin
....

LightSource "indirect" 1
LightSource "caustic" 2

AttributeBegin
Attribute "light" "string shadows" "on"
Attribute "light" "integer nphotons" [ 1000 ]
LightSource "pointlight" 3
"point from" [ -2.5877 0 22.5604 ]
"float intensity" [ 1000 ]
"color lightcolor" [ 1 1 1 ]
AttributeEnd
Illuminate 3 1

Ну и на объектах аттрибуты каустики.

Если есть, дай мне плз пример риба с каустикой
 
#7
Я разобрался, indirect тут не причем, каустика может считатся вместе с иллюминацией.
Кстати говоря, очень жаль что нет хорошего текстового редактора риб-файлов.
Это было бы здорово. Чтобы были там инсерты параметров радиосити, иллюминации и т.п. Если бы еще он умел синтаксис проверять, тут же рендерить, как у POV-ray.

А? - программисты!

Потому что мне кажется лучше разобратся в рендермане, чем мучатся с MayaMan, MaxMan и прочими менами.

Может я не прав?
 
#8
Я посмотрел.

Надо на источник света вешать такие аттрибуты:

Attribute "light" "integer nphotons" 45000
Attribute "light" "integer nsamples" 4

Ну то есть в твоем случае будет так:

WorldBegin

Attribute "caustic" "maxpixeldist" [10]
LightSource "ambientlight" 22 "intensity" 0.05

LightSource "caustic" 2

AttributeBegin
Attribute "light" "string shadows" "on"
Attribute "light" "integer nphotons" [ 500 ]

Attribute "light" "integer nphotons" 45000
Attribute "light" "integer nsamples" 4

LightSource "pointlight" 3
"point from" [ -12.2622 3.04753 19.4247 ]
"float intensity" [ 800 ]
"color lightcolor" [ 1 1 1 ]
AttributeEnd
Illuminate 3 1


ну и так далее.

И считается BMRT на ура. Entropy чего-то глючит, но я не разбирался особо...
 
#9
да, я вроде понял.

Но поясни плиз (если хочешь):

1. Почему у тебя в атрибутах два раза "integer nphotons"?
2. Поясни подробнее смысл значения "2" в "LightSource "caustic" 2"
 
#10
1. Почему у тебя в атрибутах два раза "integer nphotons"?

По ошибке. Последнее - правильное.

2. Поясни подробнее смысл значения "2" в "LightSource "caustic" 2"

Номер источника света. Все источники должны быть пронумерованы. Потом при помощи Illuminate ты можешь включать для каждого объекта тот или иной источник - ну то есть можно делать специсточники света, которые будут освещать только определенные объекты - это удобно для имитации радиосити, например.
 
Сверху