|
![](/i/fill.gif) |
Hi Mark,
I suggested to clip with a "center cylinder" to get rid of the sharp "inner
spikes", just for aesthetical reasons.
> > - create your *own* stone texture
>
> jaw drops, mouth goes dry, limbs gradually go numb... ;-)
Why this?
Experiment with some stone textures from stones1.inc and stones2.inc, modify
the colors in the color_map (and convert the color_maps to the new syntax!)
use other wave_types, play around with different patterns, scaling (even and
uneven) and rotation, modify the modifiers. Then finish, normal, layered
textures, ...
A perfect stone texture is difficult, but an acceptable stone texture isn't.
> I went thorough a lot of trouble to get the vault ribbing to look like it
> was composed of individual component pieces
Why "look like"? You could use truly individual components! (Don't forget
the mortar between them!)
Now I reveal: The trick of the missing "}"
Assume you want a macro for a simple ring:
#macro Ring(Size)
difference {
cylinder { -0.05*y, 0.05*y, 0.5 }
cylinder { -0.051*y, 0.051*y, 0.4 }
scale Size
}
#end//of macro Ring
Now you can use this macro to create a ring at the origin with the default
texture:
Ring(3)
This is equivalent to the body of the macro with parameter names replaced
by the supplied value, i.e. this represents a complete difference statement.
But if you want to apply a texture, translate it or such, you have to write
object { Ring(3) texture { MyRingTex } translate <1, 2, 3> }
I prefer to leave out the line with the single "}" in the macro. (It is
legal to have unmatched parentheses in a macro.) Now Ring(3) delivers
difference {
cylinder { -0.1*y, 0.1*y, 0.5 }
cylinder { -0.11*y, 0.11*y, 0.4 }
scale 3
and you can append whatever is possible with a difference. At the end the
matching "}" for the "difference {" must be supplied. So for example
Ring(3) texture { MyRingTex } translate <1, 2, 3> }
is the same as
difference {
cylinder { -0.1*y, 0.1*y, 0.5 }
cylinder { -0.11*y, 0.11*y, 0.4 }
scale 3
texture { MyRingTex } translate <1, 2, 3> }
In short: the "}" is not supplied in the macro, but in the SDL after the
invocation of the macro.
Don't worry about slow progress: this only means your work is improving
your POV-Ray expertise instead of your scene -- you should be happy
about this!
Sputnik
Post a reply to this message
|
![](/i/fill.gif) |