Autodesk



Your Ad Here


SDL: The Alias Scene Description Language Procedural Textures and Natural Phenomena > Volume

About solid textures

Solid textures use the surface (x, y, z) point to reference into a three dimensional space of texture values. However, the (x, y, z) point is not passed directly to the table. It is first multiplied by a texture transformation matrix. The default case is no specified texture transformation. In that case, the world space surface point is used directly. If an object moves in world space it will move through its solid texture. A wooden object would move through the wood grain. While this may be desirable in certain animations, it is better to have control over solid texture transformations.

If a transformation is to be used, it must be specified using the following syntax.

In the DEFINITION section, the transformation must be declared using

	transformation example; 

Similarly, the transformation name must be included in the DEFINITION of the texture being used. For example,

	color=texture (procedure=Smarble, 
	transformation_name=example); 

In the MODEL section, use

	example = current_transformation( ); 

The assignment statement actually saves the current transformation in the hierarchy. This means that if it is placed immediately before the piece of geometry to be textured, the texture will stick to the geometry independent of the transformation applied to the geometry. It is possible to transform the texture in an arbitrary way by bracketing the assignment statement with its own transformations, e.g.:

	{ 
		rotate (xaxis,25); 
		translate (10,5,2); 
		example = current_transformation ( ); 
	} 

NOTE:

1) The definition of the transformation must be BEFORE the definition of the texture.

2) The assignment can be anywhere in the model section, either before or after the patch.

Also note that there is a similar function, current_position, which returns a "triple" - very handy for fancy camera/spotlight motions.

Projection

"Projection" is a solid texture.

The Projection procedure can be thought of as the solid equivalent of a two-dimensional texture.

A solid file texture can be extremely beneficial as it is not affected by the parameterization of a surface. Therefore, a solid file texture is not prone to the same distortion that can occur when mapping a surface texture to a surface with uneven parameterization.

The projection procedure requires the input of a source texture (see How to Use). Environment textures are not recommended as source textures for the Projection procedure. Although the system will allow you to use Environment textures, the results are likely to be unpredictable.

If the input source texture is a file, it can be projected in six different ways, through the use of the Projection argument.

When the noise amplitude is set to 0, the image file specified is simply projected through space. When the noise amplitude is not equal to 0, the projection is perturbed with fractal noise (this takes much more time to render). The Projection texture works in a similar fashion to sMarble and sWood: it moves an image through space, creating a solid block with the image on it. Therefore, if you want to create solid marble; and solid wood textures from scanned-in images or painted pix files, you can create them using Projection.

Argument Name
Absolute Range
Useful Range
Default
Description
xmult
-infinity, infinity
-10, 10
1.0
Scaling factors for extent of pix file
ymult
-infinity, infinity
-10, 10
1.0
" " "
xoffset
-infinity, infinity
-10, 10
0.0
Offsets for position of pix file
yoffset
-infinity, infinity
-10, 10
0.0
" " " "
xamplitude
-infinity, infinity
0, 10
1.5
Amplitude of noise function for x direction
yamplitude
-infinity, infinity
0, 10
1.5
Amplitude of noise function for y direction
projection_type
 
triplanar
cubic
ball
cylindrical
spherical
planar
 
Projection type used for mapping the solid texture
xripples
0, infinity
0, 100
1.0
Fundamental frequencies for noise function
yripples
0, infinity
0, 100
1.0
" "
zripples
0, infinity
0, 100
1.0
" "
level_min
0, infinity
0, 50
0.0
Minimum allowed level of iteration
level_max
0, infinity
0, 50
20.0
Maximum allowed level of iteration
ratio
0, 1
0, 1
0.707
Ratio for fractal noise
transformation_name
   
no default.
 

Please note that X,Y, and Z refer to the height, width, and depth respectively of the scene as it would appear in the FRONT window, regardless of coordinate system.

Granite

The Granite solid texture is essentially the same as the Leather texture, with the additional feature that three cell colors can be specified as opposed to only one cell color in a Leather texture. The Granite texture is a simulation of three different substances suspended in a medium.

Argument Name
Absolute Range
Useful Range
Default
Description
color1
-infinity, infinity
0 to 255
0.0, 0.0, 0.0
RGB value for first granite component.
color2
-infinity, infinity
0 to 255
140.0, 200.0, 100.0
RGB value for second granite component.
color3
-infinity, infinity
0 to 255
160.0, 210.0, 210.0
RGB value for third granite component.
filler_color
-infinity, infinity
0 to 255
150.0, 75.0, 50.0
Determines the color of the medium in which the spheres are suspended.
cell_size
0, infinity
0 to 1
0.15
Determines the general size of the texture and is equivalent to scaling the texture DAG node.
density
0, infinity
0 to 1
1.0
Determines the average number of spheres per node of the 3D lattice used in the procedure. The spheres are fully packed at a density value of 1.0.
mix_ratio
0, infinity
0 to 1
0.5
allows for the three different substances to be mixed in different proportions. At a value of 0.0, Color1 is the highest in terms of proportion to the other two colors. At a value of 0.5, Color2 is the highest and at a value of 1.0, Color3 is the highest.
spottyness
0, infinity
0 to 1
0.3
Determines the randomization of the general intensity of the Cell_color. At a value of 1.0, the intensity is fully random (if the threshold parameter is set to 0.00).
randomness
0, infinity
0 to 1
1.0
The spheres or cells are oriented in a regular 3D lattice by default. The position of the spheres is perturbed by the Randomness value. At a value of 1.0, the sphere location is totally random and at a value of 0.00, the location of the spheres is totally regular.
threshold
0, infinity
0 to 1
0.5
Determines the amount that the three colors used in the procedure mix into each other. At a threshold of 1.0, no mixing occurs and the spheres appear as solid color dots.
creases
0, 1 (OFF, ON)
OFF, ON
ON
Is actually an option that can be toggled ON or OFF. If Creases is set to ON, the spheres don't mix with each other. This creates boundaries like those found in a collection of living cells. The resulting texture has edges that resemble creases in leather. If creases is set to OFF, the spheres diffuse uniformly into each other and no straight line segments appear on the resulting texture.
xripples
0, infinity
0, 100
1.0
Fundamental frequencies for noise function
yripples
0, infinity
0, 100
1.0
" "
zripples
0, infinity
0, 100
1.0
" "
level_min
0, infinity
0, 50
0.0
Minimum allowed level of iteration
level_max
0, infinity
0, 50
20.0
Maximum allowed level of iteration
ratio
0, 1
0, 1
0.707
Ratio for fractal noise
transformation_name
   
no default.
 

Leather

The Leather solid texture is ideal for creating a range of effects such as concrete, Styrofoam and alligator skin, as well as leather. For many applications, a simple pix file of leather will suffice for a good leather simulation. However, it is sometimes nearly impossible to map a file texture to a surface without distortions and discontinuities (mapping a simple two-dimensional file texture to an automotive dashboard, for example). Worldspace texture mapping is one solution to this problem, but it requires more effort and does not work for all possible topologies. The procedural Leather texture overcomes these problems by using a 3D noise of spheres to simulate a leather surface. This texture is unlike leather in that real leather is a surface, and not a substance. However, this texture can nicely simulate many types of animal skin, particularly when used as a bump map.

If the surface is deformed during an animation (morphing), then the effect will not be natural, as the surface will move through the solid texture.

The texture is made up of a collection of spheres suspended in a medium.

Argument Name
Absolute Range
Useful Range
Default
Description
cell_color
-infinity, infinity
0 to 255
95.0, 40.0, 15.0
Determines the color of the spheres used in the procedure.
crease_color
-infinity, infinity
0 to 255
60.0, 30.0, 0.0
Determines the color of the medium in which the spheres are suspended.
cell_size
0, infinity
0 to 1
0.5
Determines the general size of the texture and is equivalent to scaling the texture DAG node.
density
0, infinity
0 to 1
1.0
Determines the average number of spheres per node of the 3D lattice used in the procedure. The spheres are fully packed at a density value of 1.0.
spottyness
0, infinity
0 to 1
0.1
Determines the randomization of the general intensity of the Cell_color. At a value of 1.0, the intensity is fully random (if the threshold parameter is set to 0.00).
randomness
0, infinity
0 to 1
0.5
The spheres or cells are oriented in a regular 3D lattice by default. The position of the spheres is perturbed by the Randomness value. At a value of 1.0, the sphere location is totally random and at a value of 0.00, the location of the spheres is totally regular.
threshold
0, infinity
0 to 1
0.83
Determines the amount that the two colors used in the procedure mix into each other. At a threshold of 1.0, no mixing occurs and the spheres appear as solid color dots.
creases
0, 1 (OFF, ON)
OFF, ON
ON
If Creases is set to ON, the spheres don't mix with each other. This creates boundaries like those found in a collection of living cells. The resulting texture has edges that resemble creases in leather. If Creases is set to OFF, the spheres diffuse uniformly into each other and no straight line segments appear on the resulting texture.
transformation_name
   
no default.
 

sCloud

The sCloud procedure is commonly used to create effects such as smoke and steam in addition to clouds. The transparency level of the cloud area itself can be interactively adjusted. The area surrounding the cloud is always transparent, regardless of the type of mapping used.

sCloud requires that the geometry being textured is a sphere. The spheres can be transformed in any way (for example, non-proportionally scaled), but the actual base component must be a sphere. Any other geometry will give unreliable and/or unpredictable results, although you are not prevented from doing so.

When using sCloud for non-color mapping, it becomes a solid fractal texture that has an added threshold depending on surface orientation.

As a surface curves into outline, the threshold is increased and added to the fractal, the result is clipped to 1.0. If this technique is used to transparency map ellipsoids (non-proportionally-scaled spherical patches), the results look like puffs or clouds. If the texture is applied to non-ellipsoidal shapes, the results will be of unreliable quality.

A series of nested ellipsoids; can be used to simulate fiery smoke. Each ellipsoid is given a transparency map defined by sCloud. This procedure creates a fractal with a slope-dependent offset added to it. This leads to an opaque center and a ragged transparent edge. Each ellipsoid looks like a puff of smoke. The fire effect is achieved by making the ellipsoids have different optical properties. The outer ellipsoid is made gray and dim. The inner ellipsoids are made successively brighter and more orange.

Argument Name
Absolute Range
Useful Range
Default
Description
contrast
-1, 1
-1, 1
1.0
Relative contrast for color1 and color2
colour1 (triple)
0, infinity
0, 255
60, 0, 0
First color
colour2 (triple)
0, infinity
0, 255
255,255,255
Second color
transparency_range
0, infinity
0, 1
0.5
Transition range for texture value
center_threshold
-infinity, infinity
-1, 0
0.0
Threshold value for face on surfaces.
edge_threshold
-infinity, infinity
1.0, 2.0
1.0
Threshold value for outlines
soft_edges
TRUE FALSE
 
FALSE
Makes the texture color blend to black as surface tilts away from eye. Good for flame effect when used with incandescence mapping on ellipsoids. The alpha channel always does this blending, regardless of this flag.
amplitude
0, infinity
0-100
1.0
Noise amplitude
xripples
0, infinity
0, 100
1.0
Fundamental frequencies for noise function
yripples
0, infinity
0, 100
1.0
" "
zripples
0, infinity
0, 100
1.0
" "
level_min
0, infinity
0, 50
0.0
Minimum allowed level of iteration
level_max
0, infinity
0, 50
20.0
Maximum allowed level of iteration
ratio
0, 1
0, 1
0.707
Ratio for fractal noise
transformation_name
   
no default.
 

"sCloud" is a solid texture.

sCloud requires that the geometry being textured is a sphere. The sphere(s) may be transformed in any way, but the actual component(s) must be a sphere. Any other geometry will give unreliable and unpredictable results.

sFractal

sFractal is a solid fractal texture that returns a scalar value.

Argument Name
Absolute Range
Useful Range
Default
Description
threshold
0, 1
0, 1
0.0
Additive threshold
xripples
0, infinity
0, 100
1.0
Fundamental frequencies for noise function
yripples
0, infinity
0, 100
1.0
" " " "
zripples
0, infinity
0, 100
1.0
" " " "
level_min
0, infinity
0, 50
0.0
Minimum allowed level of iteration
level_max
0, infinity
0, 50
20.0
Maximum allowed level of iteration
amplitude
-infinity, infinity
0, 1
1.0
Scaling factor for noise before clipping
xripples
0, infinity
0, 100
1.0
Fundamental frequencies for noise function
yripples
0, infinity
0, 100
1.0
" "
zripples
0, infinity
0, 100
1.0
" "
level_min
0, infinity
0, 50
0.0
Minimum allowed level of iteration
level_max
0, infinity
0, 50
20.0
Maximum allowed level of iteration
ratio
0, 1
0, 1
0.707
Ratio for fractal noise
transformation_name
   
no default.
 

sRock

sRock is a simulation of particles suspended in a medium. "grain_size" represents the particle size. "diffusion" controls the amount of mixing between the particles and the medium. A diffusion of 0 will result in a sharp boundary between the particles and the medium. A diffusion of 1.0 will result in a complete blending. The variable "mix_ratio" controls the proportion of particles to medium. If it is 1.0, the color is entirely color1; if it is 0, the color is entirely color2. If sRock is applied as a bump map, then "mix_ratio" of 0.5 will result in even pits and bumps. If it is greater than 0.5, the surface will have discrete bumps. If it is less than 0.5, the surface will have discrete pits (depending on the parameterization of the surface).

If the surface is far enough from the eye that the grains become smaller than pixel resolution, the blur effect will cause the texture to become a single color. This is fine for color mapping, and helps to avoid aliasing problems. However, if sRock is applied as a bump map, the surface will appear to become smooth at large distances. A possible solution is to use an eccentric Blinn shader, which mimics the microfacets of the bump map. If you want a video snow effect, set the blur to 0.001 and the grain_size to 0.0001.

"sRock" is a solid texture.

Argument Name
Absolute Range
Useful Range
Default
Description
colour1 (triple)
0, infinity
0, 255
255,255,255
First color
colour2 (triple)
0, infinity
0, 255
60,0,0
Second color
contrast
0-1
0-1
1.0
Controls contrast between two colors
grain_size
0, infinity
0-0.1
0.01
Particle size
diffusion
0, infinity
0-1
1.0
Controls amount of mixing between particles and the medium
mix_ratio
0-1
0-1
1.0
Controls the proportion of particles to medium
transformation_name
   
no default.
 

Argument Name
Absolute Range
Useful Range
Default
Description
amplitude
-infinity, infinity
0, 10
1.5
Amplitude of noise function
contrast
-1, 1
-1, 1
0.5
Contrast at boundary between vein and filler
diffusion
0, infinity
0, 10
0.5
Degree of vein diffusion into filler material
vein_width
0, 1
0, 1
0.1
Thickness of vein material
filler_color (triple)
0, infinity
0, 255
255,255,255
Color of filler material
vein_color (triple)
0, infinity
0, 255
76, 0, 0
Color of filler material
xripples
0, infinity
0, 100
1.0
Fundamental frequencies for noise function
yripples
0, infinity
0, 100
1.0
" "
zripples
0, infinity
0, 100
1.0
" "
level_min
0, infinity
0, 50
0.0
Minimum allowed level of iteration
level_max
0, infinity
0, 50
20.0
Maximum allowed level of iteration
ratio
0, 1
0, 1
0.707
Ratio for fractal noise
transformation_name
   
no default.
 

sMarble

"sMarble" is a solid texture.

Snow

The "Snow" texture varies the surface color based on the orientation of the surface. With the default settings, the snow color will appear on the top of the object and the surface color will appear on the bottom. The rate at which the snow color blends into the surface color is determined by the "depth_decay" parameter. The threshold determines the maximum slope that will hold snow. (Thicker snow is more opaque). The direction of the snow (determined by wind in the real world) may be set by rotating the texture placement icon, or in sdl by setting the "vector" parameter.

Fractal bump maps are useful in combination with snow because the snow follows the bumping. This creates realistic snow effects by simulating the clumping of snowflakes. Generally, the alpha mult and blur mult for the fractal bump map should be low for best results.

It is useful also to make snow a transparency map on a white shader that is then layered on other shaders in a scene. In this manner the snow can be applied to all the objects in a scene. This also allows the snow to have its own unique shading attributes. Note that the alpha mult should be -1.0 and the alpha offset should be 1.0 for the snow transparency map.

Argument Name
Absolute Range
Useful Range
Default
Description
snow_color
0, infinity
0,255
255,255,255
Color of snow
surface_color;
0, infinity
0,255
128, 0, 0
Color of surface
contrast
0, 1
0, 1
1.0
Contrast between surface and snow color
threshold
0, 1
0, 1
0.5
Max slope for snow
depth_decay
0, infinity
0, 10
5.0
Rate of transition between snow and surface color
thickness
0, 1
0, 1
1.0
This determines the opacity of the snow
vector_x
-infinity, infinity
-1, 1
0.0
up vector for snow
vector_y
-infinity, infinity
-1, 1
1.0
 
vector_z
-infinity, infinity
-1, 1
0.0
 
transformation_name
   
no default.
 

sWood

"sWood" is a solid texture.

Argument Name
Absolute Range
Useful Range
Default
Description
xmult
-infinity, infinity
-10, 10
1.0
Scaling factors for extent of pix file
ymult
-infinity, infinity
-10, 10
1.0
" " " "
xoffset
-infinity, infinity
-10, 10
0.0
Offsets for position of pix file
yoffset
-infinity, infinity
-10, 10
0.0
" " "
xamplitude
-infinity, infinity
0, 10
0.1
Amplitude of noise function for x direction
yamplitude
-infinity, infinity
0, 10
0.1
Amplitude of noise function for y direction
center_u
-3,3
-3,3
0.5
Origin for growth of ring layers
center_v
-3, 3
-3, 3
0.5
" " "
grain_contrast
0, 1
0, 1
1.0
Contrast between vein and wood color
grain_spacing
0, 1
0, 1
0.01
Spacing of grain dots
grain_color (triple)
0, infinity
0, 255
30, 10, 0
Color of the grain
filler_color (triple)
0, infinity
0, 255
210,160,120
Color of the filler part between rings
vein_color (triple)
0, infinity
0, 255
40, 20, 10
Color of the vein part of rings
vein_spread
0, infinity
0, 3
0.25
Diffusion of vein color into the rings
layer_size
0, infinity
0, 0.5
0.02
Mean spacing between rings
randomness
0, 1
0, 1
0.5
Degree of randomization of layers
age
0, infinity
0, 100
20.0
Time in years for ring layer thickness to reach maximum
xripples
0, infinity
0, 100
1.0
Fundamental frequencies for noise function
yripples
0, infinity
0, 100
1.0
" "
zripples
0, infinity
0, 100
1.0
" "
level_min
0, infinity
0, 50
0.0
Minimum allowed level of iteration
level_max
0, infinity
0, 50
20.0
Maximum allowed level of iteration
ratio
0, 1
0, 1
0.707
Ratio for fractal noise
transformation_name
   
no default.
 

Volume

The Volume procedure allows the system to interpret multiple pix files in a sequence as a volume of pixels. When an object is assigned a shader with its color set to a volumetric texture, and "mapping" is set to "volumetric," the object will appear to cut through a cube formed by stacking the pix files up. X, Y, and Z on the surface are mapped to U,V, and pixfile number. The size of the cube is defined by the texture transform.

When used as a subtexture of the "Ball" texture, "mapping" should be set to "directional." In this case, the pix file sequence should be set to a sequence of ball images photographed from equal angles around the ball. The volume then maps U,V, View_Direction to U,V, Pixfile number.

Argument Name
Absolute Range
Useful Range
Default
Description
from
1-1024
1-1024
1
The extension number of the first pix file in the sequence of pix files that makes up the pixel volume
to
1-1024
1-1024
1
The extension number of the last pix file in the sequence of pix files that makes up the pixel volume.
pix_sequence
---
---
---
The name of the first pix file of the sequence of pix files that make up the pixel volume.
mapping
directional, volumetric
directional, volumetric
 
The method by which UV or XYZ parameters are mapped onto pixel values for the pixel volume.
xripples
0, infinity
0, 100
1.0
Fundamental frequencies for noise function
yripples
0, infinity
0, 100
1.0
" "
zripples
0, infinity
0, 100
1.0
" "
level_min
0, infinity
0, 50
0.0
Minimum allowed level of iteration
level_max
0, infinity
0, 50
20.0
Maximum allowed level of iteration
ratio
0, 1
0, 1
0.707
Ratio for fractal noise
transformation_name
   
no default.
 


Autodesk
www.autodesk.com
aliasstudio.docs@mail.autodesk.com

Return to AliasStudio Index


Your Ad Here