Difference between revisions of "Reference:Sky Sphere"
Jholsenback (talk | contribs) m (still testing that theory) |
Jholsenback (talk | contribs) m (1 revision: underscore link repair) |
(No difference)
|
Latest revision as of 18:09, 17 July 2012
The sky sphere is used create a realistic sky background without the need of an additional sphere to simulate the sky. Its syntax is:
SKY_SPHERE: sky_sphere { [SKY_SPHERE_IDENTIFIER] [SKY_SPHERE_ITEMS...] } SKY_SPHERE_ITEM: PIGMENT | TRANSFORMATION | [emission]
Note: When using Output_Alpha=on
or +ua
with legacy scenes (the #version
directive set to less than 3.7) the sky_sphere
will be suppressed, except in reflections.
The sky sphere can contain several pigment layers with the last pigment being at the top, i. e. it is evaluated last, and the first pigment being at the bottom, i. e. it is evaluated first. If the upper layers contain filtering and/or transmitting components lower layers will shine through. If not lower layers will be invisible.
Note: Version 3.7 changed the effect of filter in a layered-pigment sky_sphere
to match the behavior of a corresponding layered-texture large regular sphere. The old behavior, though probably having been unintentional, is automatically re-activated for backward compatibility when a #version
of less than 3.7 is specified.
The sky sphere is calculated by using the direction vector as the parameter for evaluating the pigment patterns. This leads to results independent from the view point, which fairly accurately models a real sky, where the distance to the sky is much larger than the distances between visible objects.
Optionally adding the emission
keyword allows for brightness tuning of image-mapped sky sphere's. The default is rgb <1,1,1> with higher values increasing the brightness, and lower values correspondingly decrease it. Although primarily intended for easy tuning of light probe skies, the parameter also works with procedural sky pigments.
If you want to add a nice color blend to your background you can easily do this by using the following example.
sky_sphere { pigment { gradient y color_map { [ 0.5 color CornflowerBlue ] [ 1.0 color MidnightBlue ] } scale 2 translate -1 } emission rgb <0.8,0.8,1> }
This gives a soft blend from CornflowerBlue
at the horizon to MidnightBlue
at the zenith. The scale and translate operations are used to map the direction vector values, which lie in the range from <-1, -1, -1> to <1, 1, 1>, onto the range from <0, 0, 0> to <1, 1, 1>. Thus a repetition of the color blend is avoided for parts of the sky below the horizon.
In order to easily animate a sky sphere you can transform it using the usual transformations described in Transformations. Though it may not be a good idea to translate or scale a sky sphere - the results are hardly predictable - it is quite useful to be able to rotate it. In an animation the color blendings of the sky can be made to follow the rising sun for example.
Note: Only one sky sphere can be used in any scene. It also will not work as you might expect if you use camera types like the orthographic or cylindrical camera. The orthographic camera uses parallel rays and thus you will only see a very small part of the sky sphere (you will get one color skies in most cases). Reflections in curved surface will work though, e. g. you will clearly see the sky in a mirrored ball.