Bookshelf Contents Previous Next Glossary Index Search

ENVIRONMENT Section

The ENVIRONMENT section (if it is included at all) contains definitions of environtment variables (the background of the scene: an image, a texture, or a color), atmospheric effects (how light travels between objects), photographic effects, global dynamics variables, and master lighting.

The ENVIRONMENT section is the place for definitions of:

The ENVIRONMENT section (if present) begins with the word ENVIRONMENT in all caps on a separate line with no punctuation. The section ends where the next section begins.

The following items are described in this section:

background

Syntax:

background (backdrop = <filename>);

or

background (color = (r, g, b));

or

background (color = <texture>);

Default:

none

Purpose:

The file filename could be a digitized image, a previously rendered screen, or a painted image. It must be of the same size and resolution as the image being ren-dered. This statement is animatable.

The background can be procedurally modelled, or it can be textured with a file. For details of procedures, please see Procedural Textures and Natural Phenomena.

If a file texture is used, it will be stretched to match the image dimensions. Both RGB (24 bit) and scalar (8 bit) files can be used. Note that if you use an 8-bit file for the background, you will get a grey scale background.

This allows reflected environments to also be used for background.

The only type of backgrounds that will reflect or refract properly in the Alias Raytracer are environment maps. Color procedural backgrounds will show up on reflective objects and will show through transparent objects, but the results may look incorrect. Ramp and file backgrounds will not appear at all in reflections or refractions. Otherwise, the background will look and act the same as in the Alias RayCaster when no objects are obscuring the background.

Environment map backgrounds are useful in the Alias RayTracer. They allow an object to reflect parts of itself by using the Raytracer, while saving rendering time by creating the reflections of surrounding objects with a cubic reflection map in the shader.

fog

Syntax:

fog (fogtype = <scalar>, ... );

Purpose:

This procedure creates the optical effect of fog between objects and the camera. For further details on its use and associated arguments, see "Fog" in the Procedural Textures and Natural Phenomena chapter of this manual, or refer to the RENDER ->Shader section of Rendering with ALIAS.

dynamics global parameters

Syntax:

dynamics ( 
,
        gravity = 1.0,
        air_density = 0.05,
        Floor = ON,
        floor_offset = 0.0,
        ceiling = OFF,
        ceiling_offset = 20.0,
        left = OFF,
        left_offset = -10.0,
        right = OFF,
        right_offset = 10.0,
        front = OFF,
        front_offset = -10.0,
        back = OFF,
        back_offset = 10.0,
        wall_friction = 0.0,
        wall_elasticity = 0.707,
        turbulence_intensity = 0.0,
        turbulence_spread = 0.5,
        turbulence_persistence = 5.0,
        turbulence_animated = ON,
        turbulence_space_resolution =  16,
        turbulence_time_resolution =  16,
        turbulence_roughness = 0.5,
        turbulence_variability = 0.5,
        turbulence_granularity = 0.0
);

gravity

Syntax:

gravity = <scalar>,

Range:

-infinity to infinity

Default:

1.0

Purpose:

This value represents the surface gravity of the planet. The units are in earth's gravity, so that earth surface = 1, moon =.18

air_density

Syntax:

air_density = <scalar>,

Range:

0 to infinity

Default:

1.0

Purpose:

This is the density of the atmosphere of the planet. 1 = water, 10 = goo,.001 is fairly air-like. This value affects the buoyancy of objects, and air drag on objects.

Floor

Syntax:

Floor = <boolean>,

Range:

ON/OFF

Default:

ON

Purpose:

Turns the use of a Floor for Dynamics ON or OFF.

floor_offset

Syntax:

floor_offset = <scalar>,

Range:

-infinity to infinity

Default:

0.0

Purpose:

If there is a floor, the value determines at what point on the up-down axis it exists (Z for z-up, Y for Y-up).

ceiling

Syntax:

ceiling = <boolean>,

Range:

ON/OFF

Default:

OFF

Purpose:

Turns the use of a ceiling for Dynamics ON or OFF.

ceiling_offset

Syntax:

ceiling_offset = <scalar>,

Range:

-infinity to infinity

Default:

20.0

Purpose:

If there is a ceiling, the value determines at what point on the up-down axis it exists (Z for z-up, Y for Y-up).

left

Syntax:

left = <boolean>,

Range:

ON/OFF

Default:

OFF

Purpose:

Turns the use of a left wall on or off for dynamics.

left_offset

Syntax:

left_offset = <scalar>,

Range:

-infinity to infinity

Default:

-10.0

Purpose:

If there is a left wall, the value determines at what point on the left-right axis it exists (X for z-up, Z for Y-up).

right

Syntax:

right = <boolean>,

Range:

ON/OFF

Default:

OFF

Purpose:

Turns the use of a right wall on or off for Dynamics.

right_offset

Syntax:

right_offset = <scalar>,

Range:

-infinity to infinity

Default:

10.0

Purpose:

If there is a right wall, the value determines at what point on the left-right axis it exists (X for z-up, Z for Y-up).

front

Syntax:

front = <boolean>,

Range:

ON/OFF

Default:

OFF

Purpose:

Turns the use of a front wall on or off for Dynamics.

front_offset

Syntax:

front_offset = <scalar>,

Range:

-infinity to infinity

Default:

-10.0

Purpose:

If there is a front wall, the value determines at what point on the front-back axis it exists (Y for z-up, X for Y-up).

back

Syntax:

back = <boolean>,

Range:

ON/OFF

Default:

OFF

Purpose:

Turns the use of a back wall off or on for dynamics.

back_offset

Syntax:

back_offset = <scalar>,

Range:

-infinity to infinity

Default:

10.0

Purpose:

If there is a back wall, the value determines at what point on the front-back axis it exists (Y for z-up, X for Y-up).

wall_friction

Syntax:

wall_friction = <scalar>,

Range:

0 to 1

Default:

0.5

Purpose:

This value represents the coefficient of friction for the walls. A value of 0 means no friction.

wall_elasticity

Syntax:

wall_elasticity = <scalar>,

Range:

infinity to infinity

Default:

0.5

Purpose:

This value determines the damping of speed on collision with a wall. A value of 0 loses all speed, a value of 1 bounces back with same speed as before.

turbulence_animated

Syntax:

turbulence_animated = <boolean>,

Range:

ON/OFF

Default:

ON

Purpose:

The turbulence may be static, or it may vary over time. With static turbulence, you get dappled lighting but it doesn't change. With animated turbulence, you get flickering light. In a static turbulent wind field, the eddies are always in the same place: a stream of particles blowing through a static field would always follow the same path. In an animated field, the path itself would swirl and change.

turbulence_granularity

Syntax:

turbulence_granularity = <scalar>,

Range:

0 to 1.0

Default:

0.0

Purpose:

This value defines the Low frequency cutoff. It is like a high pass filter. It allows for grainy patterns of turbulence.

turbulence_intensity

Syntax:

turbulence_intensity = <scalar>,

Range:

-infinity to infinity

Default:

0.0

Purpose:

This defines the degree to which a volume light is turbulent. The light or force direction is modified by the turbulence, such that when the turbulence_intensity = 1.0 then the direction is totally the direction calculated by the turbulence. When the turbulence_intensity = 0.5, then the direction will be a 50/50 blend of turbulence and light. In the case of the default SPHERE_VOLUME shape, a value of 0.5 would cause objects to move generally away from the light, but in a turbulent fashion.

If the turbulence_intensity = 1, then objects would just swirl around in no particular direction. The decay of the light is respected, however, so the objects would swirl more vigorously near the light source. If you wish to increase the general level of force you must use the light intensity or force_intensity parameter. Note that this differs from the turbulence_intensity in the Environment dynamics section, as that value controls the overall intensity of force.

turbulence_persistence

Syntax:

turbulence_persistence = <scalar>,

Range:

0 to infinity

Default:

5.0

Purpose:

This value represents the time scale. Stretch out the turbulence so that it changes more slowly.

turbulence_roughness

Syntax:

turbulence_roughness = <scalar>,

Range:

0 to 1.0

Default:

0.5

Purpose:

This value defines the High Frequency cutoff for the spatial portion of the Fourier spectrum. It is like a low-pass filter.

turbulence_space_resolution

Syntax:

turbulence_space_resolution = <scalar>,

Range:

1 to 16

Default:

16

Purpose:

This defines how large the table is in X, Y, Z. Turbulence patterns match at the edges of the turbulence box, so that this pattern is repeated seamlessly throughout the range of the volume light.

turbulence_spread

Syntax:

turbulence_spread = <scalar>,

Range:

-infinity to infinity

Default:

0.5

Purpose:

This value represents the space scale. Scale the turbulence box so that the same amount of turbulence covers a larger volume.

turbulence_time_resolution

Syntax:

turbulence_time_resolution = <scalar>,

Range:

2 to 32

Default:

16

Purpose:

For animated turbulence, this defines the resolution in time. (i.e. this many 3-D tables are created).

turbulence_variability

Syntax:

turbulence_variability = <scalar>,

Range:

0 to 1.0

Default:

0.5

Purpose:

This value defines the High Frequency cutoff for the time portion of the Fourier spectrum.

photo_effects

Syntax:

photo_effects ( 
	,
	auto_exposure = false,
	film_grain = 0.0,
	filter = (255.0, 255.0, 255.0)
);

auto_exposure

Syntax:

auto_exposure=true/false

Default:

true

Purpose:

Use auto_exposure to adjust the amount of apparent light that enters the camera. If you are using shader glow on an object entering a scene, the light level in the scene may change drastically. With auto_exposure set to true (the default), the amount of glow seen on the object can fluctuate. If this is the case, try using auto_exposure set to false.

auto_exposure only affects glow.

You may have to adjust the glow_color on the shader if you turn auto_exposure off. Do this by increasing the values above 255 (the normal limits for the color).

Example:

auto_exposure=false

film_grain

Syntax:

film_grain = <scalar>

Range:

Non-negative

Default:

0.0

Purpose:

This simulates the way film grains modify the color of an image.

Comments:

This component may be animated.

Example:

film_grain = 0.1

filter

Syntax:

filter = <color>

Range:

Non-negative

Default:

(255,255,255)

Purpose:

This color is applied as a scale of the image color, simulating a camera filter. Texture maps may also be used. For example a ramp from blue to white will make the top of the image more blue.

Comments:

Values greater than 255 can be used to enhance overall scene contrast and brightness.

Example:

filter = (255,200,100)

master_light

Syntax:

master_light ( 
,
        intensity = 1.0,
        light_color = (255.0, 255.0, 255.0)
);

intensity

Syntax:

intensity = <scalar>

Range:

Any floating point number.

Default:

1.0

Purpose:

This is a multiplier for the intensity of all lights in the scene. If the value is 2, then the overall lighting will be twice as bright. If the value is .5, then the overall lighting will be half as bright.

Example:

intensity = 1.2 

light_color

Syntax:

filter = <color>

Range:

Any floating point numbers.

Default:

(255,255,255)

Purpose:

This modifies the overall light color in a scene. If the value is (255,200,200) then the overall scene lighting will be more red.

Example:

light_color = (30, 255, 200)

shader_glow

Syntax:

shader_glow ( 
,
        glow_type =  LINEAR_GLOW,
        halo_type =  LINEAR_GLOW,
        quality = 0.5,
        threshold = 0.0,
        glow_color = (100.0, 100.0, 100.0),
        glow_spread = 0.05,
        glow_eccentricity = 0.1,
        glow_radial_noise = 0.0,
        glow_star_level = 0.0,
        glow_opacity = 0.0,
        halo_color = (100.0, 100.0, 100.0),
        halo_spread = 0.3,
        halo_eccentricity = 0.1,
        halo_radial_noise = 0.0,
        halo_star_level = 0.0,
        halo_lens_flare = 0.0,
        rotation = 0.0,
        radial_noise_frequency = 0.5,
        star_points = 4.0
);

glow_color

Syntax:

glow_color = <color>

Range:

Any floating point values.

Default:

(100,100,100)

Purpose:

To set the color and brightness for the glow effect. To create very bright glows, set the glow color high, for example(400,400,400). Setting the glow brightness on the shader should be used to set only the brightness relative to other shaders, whereas the glow_color should be used to set the overall brightness of the glow effect.

Comments:

This parameter may be texture mapped( a circular or radial ramp texture is particularily useful ). If this this texture mapped, then then texture will appear around glowing objects. The smaller the source of the glow, the more "focused" the image of the texture will appear. If the glow_eccentricity parameter is set to 1.0 then the full texture will be more visible.

Example:

glow_color = ( 300, 200, 100 )

glow_eccentricity

Syntax:

glow_eccentricity = <scalar>

Range:

Any non-negative number

Default:

0.1

Purpose:

This determines how focussed the glow effect is. A low eccentricity value will create a concentrated glow with a fast decay. A high eccentricity value will create a ball-like glow.

Comments:

The degree to which a glow effect will focus towards the center is limited. For very low values( 0.01 ) the quality parameter should be increased for the best effect. Generally, however, it is best to use a glow with a low spread value with a halo effect that is more spread out.

Example:

glow_eccentricity = .5

glow_opacity

Syntax:

glow_opacity = <scalar>

Range:

Any non-negative number

Default:

0.0

Purpose:

To allow a shader glow to obscure objects.

Comments:

Normally the shader glow is added on top of the light in the scene. If the opacity is greater than zero, then the glow will be more opaque where it is brightest. This is useful when simulating fire and smoke effects, which frequently do not let all the light in a scene pass through. If you want the glow to appear on the background only, and not obscure any objects, then an opacity value of -1 will do this.

Example:

glow_opacity = .3


glow_radial_noise

Syntax:

glow_radial_noise = <scalar>

Range:

Any floating point number

Default:

0.0

Purpose:

To simulate starburst effects and eyelashes refracting light.

Comments:

Although this is similar to the radial noise effect on light glows, the effect will be very blurry unless a small, pointlike source of shader glow is used.

Example:

glow_radial_noise = 0.5

glow_star_level

Syntax:

glow_star_level = <scalar>

Range:

Any floating point number

Default:

0.0

Purpose:

To simulate camera star filter effects.

Comments:

Although this is similar to the star_level effect on light glows, the effect will be very blurry unless a small, pointlike source of shader glow is used.

Example:

glow_star_level = .6


glow_spread

Syntax:

glow_spread = <scalar>

Range:

Any non-negative number.

Default:

0.05

Purpose:

This determines how far light from the glow will spread out across the image.

Comments:

As the spread increased, the size of texture on the glow_color increases as well.

Example:

glow_spread = .2

glow_type

Syntax:

glow_type = <constant>

Range:

<LINEAR_GLOW or SPECTRAL or RIM_HALO>

Default:

LINEAR_GLOW

Purpose:

To specify the falloff and coloration method for the glow effect.

Example:

glow_type = SPECTRAL

halo_color

Syntax:

halo_color = <color>

Range:

Any floating point values.

Default:

(100,100,100)

Purpose:

To set the color and brightness for the glow effect. To create very bright glows, set the glow_color high, for example(400,400,400). Setting the glow brightness on the shader should be used to set only the brightness relative to other shaders, whereas the halo_color should be used to set the overall brightness of the glow effect.

Comments:

This parameter may be texture mapped (a circular or radial ramp texture is particularily useful ). If this this texture mapped, then then texture will appear around glowing objects. The smaller the source of the glow, the more "focussed" the image of the texture will appear. If the halo_eccentricity parameter is set to 1.0 then the full texture will be more visible.

Example:

halo_color = ( 300, 200, 100 )

halo_eccentricity

Syntax:

halo_eccentricity = <scalar>

Range:

Any non-negative number

Default:

0.1

Purpose:

This determines how focussed the glow effect is. A low eccentricity value will create a concentrated glow with a fast decay. A high eccentricity value will create a strong halo.

Comments:

The degree to which a glow effect will focus towards the center is limited. For very low values( 0.01 ) the quality parameter should be increased for the best effect. Generally, however, it is best to use a glow with a low spread value with a halo effect that is more spread out.

Example:

halo_eccentricity = .5

halo_lens_flare

Syntax:

halo_lens_flare = scalar

Range:

any non-negative number

Default:

0.0

Purpose:

This simulates a bright glow bouncing off camera lenses.

Comments:

The effect is applied to the whole glow. To simulate a camera lens flare a small glow source should be used and the halo eccentricity should be high. This will create a set of fuzzy circles in a line through the center of the image.

Example:

halo_lens_flare = 0.5

halo_radial_noise

Syntax:

halo_radial_noise = <scalar>

Range:

Any floating point number

Default:

0.0

Purpose:

To simulate starburst effects and eyelashes refracting light.

Comments:

Although this is similar to the radial noise effect on light glows, the effect will be very blurry unless a small, pointlike source of shader glow is used.

Example:

halo_radial_noise = 0.5

halo_spread

Syntax:

halo_spread = <scalar>

Range:

Any non-negative number.

Default:

0.3

Purpose:

This determines how far light from the halo will spread out across the image.

Comments:

As the spread increased, the size of texture on the halo_color increases as well.

Example:

halo_spread = .2

halo_star_level

Syntax:

halo_star_level = <scalar>

Range:

Any floating point number

Default:

0.0

Purpose:

To simulate halo effects.

Comments:

Although this is similar to the star_level effect on light glows, the effect will be very blurry unless a small, pointlike source of shader glow is used.

Example:

halo_star_level = .6





halo_type

Syntax:

halo_type = <constant>

Range:

<LINEAR_GLOW or SPECTRAL or RIM_HALO>

Default:

LINEAR_GLOW

Purpose:

To specify the falloff and coloration method for the halo effect.

Example:

glow_type = SPECTRAL

quality

Syntax:

quality = <scalar>

Range:

Non-negative

Default:

0.5

Purpose:

Raises the quality in order to properly calculate glow for very small objects like twinkling stars. Very high values may be needed (around 50) for small objects, especially when the glow and halo spreads are large.

shader_glow is applied to a scaled-down sample of the image (for best speed). When the glowing objects are small, the quality level should be set high. For scenes where a large portion of the screen is glowing (for example, when a glowing window fills the frame) then the quality should be set low in order to avoid long rendering times.

When the image is rendered, the following lines appear if there is shader glow:

Glow Filter Width = 21
Glow Resolution = 0.638943

If the Glow Resolution is equal to 1.0, then the quality is as high as it can go (the shader glow image is the same size as the output pix file). The quality setting sets the Glow Resolution based on the Glow Filter Width so that render time is roughly constant. This takes advantage of the fact that the blurry glows (large filter size) generally do not require high resolution.

The time to calculate the shader glow generally goes up in proportion to filter_width * filter_width * pix_size * pix_size * glowing pixels. (where pix size = Glow_resolution * output_image_size and glowing_pixels is = pixels with shaderglow divided by pixels without shaderglow.

Comments:

If the quality is very high large glowing objects can take a long time to render.

Example:

quality = 10.0

radial_noise_frequency

Syntax:

radial_noise_frequency = <scalar>

Range:

-· to ·

Default:

0.5

Purpose:

To control the smoothness of the glow and fog radial noises.

Comments:

See glow_radial_noise.

Example:

radial_noise_frequency = 3.0

star_points

Syntax:

star_points = <scalar>

Range:

0 to ·

Default:

4.0

Purpose:

To set the number of points on star filters. (see glow_star_level.)

Comments:

Values of 1 and 2 are frequency useful. For example if star_points = 1.0 and glow_star_level = 1.0 and the glow_type= RAINBOW, then a familar rainbow arch will be generated.

Example:

star_points = 5.0


threshold

Syntax:

threshold = <scalar>

Range:

0-1

Default:

0

Purpose:

This can be used so that only the brightest elements of shading glow. For example, one can make specular highlights twinkle by using threshold. If the threshold is .9, for example, then only the brightest portions of a glowing object will glow.

Comments:

Sometimes it helps to lower the glow_intensity on the shader and greatly increase the specular color( beyond 255 ) to insure that only the specular highlight will glow.

Example:

threshold = .5



Bookshelf Contents Previous Next Glossary Index Search

[email protected]
Copyright © 1998, Alias|Wavefront, a division of Silicon Graphics Limited. All rights reserved.