10.1.10  Texture

Describe the surface of an object
TEXTURE:
PLAIN_TEXTURE | LAYERED_TEXTURE | PATTERNED_TEXTURE

Quick Reference Contents

10.1.10.1  Plain Texture

Describe a texture consisting of a single pigment, normal and finish:
PLAIN_TEXTURE:
texture { PLAIN_TEXTURE_BODY }
PLAIN_TEXTURE_BODY:
[PLAIN_TEXTURE_IDENT] [PNF_IDENTIFIERS] [PNF_ITEMS]
PNF_IDENTIFIERS:
[PIGMENT_IDENTIFIER] & [NORMAL_IDENTIFIER] & [FINISH_IDENTIFIER]
PNF_ITEMS:
[PIGMENT] & [NORMAL] & [FINISH] & [TRANSFORMATION...]

Quick Reference Contents

10.1.10.2  Layered Texture

Describe a texture consisting of two or more semi-transparent layers:
LAYERED_TEXTURE:
Jump to SDL
texture { LAYERED_TEXTURE_IDENT } |
PLAIN_TEXTURE PLAIN_TEXTURE...

Quick Reference Contents

10.1.10.3  Patterned Texture

Describe a texture using a pattern or blending function:
PATTERNED_TEXTURE:
Jump to SDL
texture { PATTERNED_TEXTURE_BODY }
PATTERNED_TEXTURE_BODY:
PATTERNED_TEXTURE_IDENT [TRANSFORMATION...] | TEXTURE_PATTERN [PATTERN_MODIFIERS] | MATERIAL_MAP [TRANSFORMATION...]
TEXTURE_PATTERN:
TEXTURE_LIST_PATTERN | MAP_PATTERN TEXTURE_MAP
TEXTURE_LIST_PATTERN:
brick TEXTURE, TEXTURE [BRICK_ITEMS] |
checker TEXTURE, TEXTURE |
hexagon TEXTURE, TEXTURE, TEXTURE |
object { LIST_OBJECT TEXTURE, TEXTURE }
BRICK_ITEMS:
[brick_size VECTOR] & [mortar FLOAT]
LIST_OBJECT:
UNTEXTURED_SOLID_OBJECT | UNTEXTURED_SOLID_OBJECT_IDENT
TEXTURE_MAP:
texture_map { TEXTURE_MAP_BODY } [BLEND_MAP_MODIFIERS]
TEXTURE_MAP_BODY:
TEXTURE_MAP_IDENTIFIER | TEXTURE_MAP_ENTRY...
There may be from 2 to 256 map entries.
TEXTURE_MAP_ENTRY:
[ FLOAT TEXTURE_BODY ]
The brackets here are part of the map entry.
TEXTURE_BODY:
PLAIN_TEXTURE_BODY | LAYERED_TEXTURE_IDENT | PATTERNED_TEXTURE_BODY
MATERIAL_MAP:
material_map { BITMAP_IMAGE [BITMAP_MODIFIERS] TEXTURE... }

Quick Reference Contents

10.1.10.4  Pigment

Describe a color or pattern of colors for a texture:
PIGMENT:
Jump to SDL
pigment { PIGMENT_BODY }
PIGMENT_BODY:
[PIGMENT_IDENTIFIER] [PIGMENT_TYPE] [PIGMENT_MODIFIERS]
PIGMENT_TYPE:
COLOR | COLOR_LIST_PATTERN | PIGMENT_LIST_PATTERN | IMAGE_MAP | MAP_PATTERN [COLOR_MAP] | MAP_PATTERN PIGMENT_MAP
COLOR_LIST_PATTERN:
brick [COLOR [, COLOR]] [BRICK_ITEMS] |
checker [COLOR [, COLOR]] |
hexagon [COLOR [, COLOR [, COLOR]]] |
object { LIST_OBJECT [COLOR [, COLOR]] }
PIGMENT_LIST_PATTERN:
brick PIGMENT, PIGMENT [BRICK_ITEMS] |
checker PIGMENT, PIGMENT |
hexagon PIGMENT, PIGMENT, PIGMENT |
object { LIST_OBJECT PIGMENT, PIGMENT }
IMAGE_MAP:
image_map {BITMAP_IMAGE [IMAGE_MAP_MODIFIER...] [BITMAP_MODIFIERS] }
IMAGE_MAP_MODIFIER:
filter I_PALETTE, F_AMOUNT | filter all F_AMOUNT | transmit I_PALETTE, F_AMOUNT | transmit all F_AMOUNT
COLOR_MAP:
color_map { COLOR_MAP_BODY } [BLEND_MAP_MODIFIERS] |
colour_map { COLOR_MAP_BODY } [BLEND_MAP_MODIFIERS]
COLOR_MAP_BODY:
COLOR_MAP_IDENTIFIER | COLOR_MAP_ENTRY...
There may be from 2 to 256 map entries.
COLOR_MAP_ENTRY:
[ FLOAT COLOR ]
The brackets here are part of the map entry.
PIGMENT_MAP:
pigment_map { PIGMENT_MAP_BODY } [BLEND_MAP_MODIFIERS]
PIGMENT_MAP_BODY:
PIGMENT_MAP_IDENTIFIER | PIGMENT_MAP_ENTRY...
There may be from 2 to 256 map entries.
PIGMENT_MAP_ENTRY:
[ FLOAT PIGMENT_BODY ]
The brackets here are part of the map entry.
PIGMENT_MODIFIERS:
[QUICK_COLOR] & [PATTERN_MODIFIERS]
QUICK_COLOR:
quick_color COLOR | quick_colour COLOR

Quick Reference Contents

10.1.10.5  Normal

Simulate the visual or tactile surface characteristics of a texture:
NORMAL:
Jump to SDL
normal { NORMAL_BODY }
NORMAL_BODY:
[NORMAL_IDENTIFIER] [NORMAL_TYPE] [NORMAL_MODIFIERS]
NORMAL_TYPE:
NORMAL_PATTERN | BUMP_MAP
NORMAL_PATTERN:
NORMAL_LIST_PATTERN |
MAP_PATTERN [F_DEPTH] [SLOPE_MAP] |
MAP_PATTERN NORMAL_MAP
NORMAL_LIST_PATTERN:
brick NORMAL, NORMAL [BRICK_ITEMS] | brick [F_DEPTH] [BRICK_ITEMS] |
checker NORMAL, NORMAL | checker [F_DEPTH] |
hexagon NORMAL, NORMAL, NORMAL | hexagon [F_DEPTH] |
object { LIST_OBJECT NORMAL, NORMAL } | object { LIST_OBJECT } [F_DEPTH]
NORMAL_MAP:
normal_map { NORMAL_MAP_BODY } [BLEND_MAP_MODIFIERS]
NORMAL_MAP_BODY:
NORMAL_MAP_IDENTIFIER | NORMAL_MAP_ENTRY...
There may be from 2 to 256 map entries.
NORMAL_MAP_ENTRY:
[ FLOAT NORMAL_BODY ]
The brackets here are part of the map entry.
SLOPE_MAP:
slope_map { SLOPE_MAP_BODY } [BLEND_MAP_MODIFIERS]
SLOPE_MAP_BODY:
SLOPE_MAP_IDENTIFIER | SLOPE_MAP_ENTRY...
There may be from 2 to 256 map entries.
SLOPE_MAP_ENTRY:
[ FLOAT, < F_HEIGHT, F_SLOPE > ]
The brackets here are part of the map entry.
BUMP_MAP:
bump_map { BITMAP_IMAGE [BUMP_MAP_MODIFIERS] }
BUMP_MAP_MODIFIERS:
[BITMAP_MODIFIERS] & [BUMP_METHOD] & [bump_size FLOAT]
BUMP_METHOD:
use_index | use_color | use_colour
NORMAL_MODIFIERS:
[PATTERN_MODIFIERS] & [bump_size FLOAT] & [no_bump_scale [BOOL]] & [accuracy FLOAT]

Quick Reference Contents

10.1.10.6  Finish

Describe the reflective properties of a surface:
FINISH:
Jump to SDL
finish { [FINISH_IDENTIFIER] [FINISH_ITEMS] }
FINISH_ITEMS:
[ambient COLOR] & [diffuse FLOAT] & [brilliance FLOAT] & [PHONG] & [SPECULAR] & [REFLECTION] & [IRID] & [crand FLOAT] & [conserve_energy [BOOL]]
PHONG:
phong FLOAT & [phong_size FLOAT] & [metallic [FLOAT]]
SPECULAR:
specular FLOAT & [roughness FLOAT] & [metallic [FLOAT]]
REFLECTION:
reflection COLOR [reflection_exponent FLOAT] |
reflection { [COLOR,] COLOR [REFLECTION_ITEMS] }
REFLECTION_ITEMS:
[fresnel BOOL] & [falloff FLOAT] & [exponent FLOAT] & [metallic [FLOAT]]
Must also use interior {ior FLOAT} in the object when fresnel is used.
IRID:
irid { F_AMOUNT [IRID_ITEMS] }
IRID_ITEMS:
[thickness FLOAT] & [turbulence FLOAT]

Quick Reference Contents

10.1.10.7  Pattern

Specify a pattern function for a texture, pigment, normal or density:
MAP_PATTERN:
Jump to SDL
AGATE | average | boxed | bozo | bumps | cells | CRACKLE | cylindrical | DENSITY_FILE | dents | FACETS | FRACTAL | function { FN_FLOAT } | gradient VECTOR | granite | IMAGE_PATTERN | leopard | marble | onion | pigment_pattern { PIGMENT_BODY } | planar | QUILTED | radial | ripples | SLOPE | spherical | spiral1 I_NUM_ARMS | spiral2 I_NUM_ARMS | spotted | waves | wood | wrinkles
AGATE:
agate [agate_turb FLOAT]
CRACKLE:
crackle [CRACKLE_TYPES]
CRACKLE_TYPES:
[form VECTOR] & [metric FLOAT] & [offset FLOAT] & [solid]
DENSITY_FILE:
density_file df3 FILE_NAME [interpolate DENSITY_INTERPOLATE]
DENSITY_INTERPOLATE:
0 | 1
FACETS:
facets FACETS_TYPE
Note, facets can only be used as a normal pattern.
FACETS_TYPE:
coords F_SCALE | size F_SIZE_FACTOR
FRACTAL:
MANDELBROT_FRACTAL | JULIA_FRACTAL | MAGNET_MANDEL_FRACTAL | MAGNET_JULIA_FRACTAL
MANDELBROT_FRACTAL:
mandel I_ITERATIONS [exponent INT] [exterior EXTERIOR_TYPE, F_FACTOR] [interior INTERIOR_TYPE, F_FACTOR]
JULIA_FRACTAL:
julia V2_COMPLEX, I_ITERATIONS [exponent INT] [exterior EXTERIOR_TYPE, F_FACTOR] [interior INTERIOR_TYPE, F_FACTOR]
MAGNET_MANDEL_FRACTAL:
magnet MAGNET_TYPE mandel I_ITERATIONS [exterior EXTERIOR_TYPE, F_FACTOR] [interior INTERIOR_TYPE, F_FACTOR]
MAGNET_TYPE:
1 | 2
MAGNET_JULIA_FRACTAL:
magnet MAGNET_TYPE julia V2_COMPLEX, I_ITERATIONS [exterior EXTERIOR_TYPE, F_FACTOR] [interior INTERIOR_TYPE, F_FACTOR]
EXTERIOR_TYPE:
0 | 1 | 2 | 3 | 4 | 5 | 6
INTERIOR_TYPE:
0 | 1 | 2 | 3 | 4 | 5 | 6
IMAGE_PATTERN:
image_pattern {BITMAP_IMAGE [IMAGE_PATTERN_MODIFIERS] }
IMAGE_PATTERN_MODIFIERS:
[BITMAP_MODIFIERS] & [use_alpha]
QUILTED:
quilted [control0 FLOAT] [control1 FLOAT]
SLOPE:
slope { V_DIRECTION [, F_LOW_SLOPE, F_HIGH_SLOPE ] [altitude VECTOR [, F_LOW_ALT, F_HIGH_ALT ]] }
The slope pattern does not work in media densities.

Quick Reference Contents

10.1.10.8  Pattern Modifiers

Modify the evaluation of a pattern function:
PATTERN_MODIFIERS:
Jump to SDL
[TURBULENCE] & [WARP...] & [TRANSFORMATION...] & [noise_generator NG_TYPE]
NG_TYPE:
1 | 2 | 3
TURBULENCE:
turbulence VECTOR & [octaves INT] & [omega FLOAT] & [lambda FLOAT]
WARP:
warp { WARP_ITEM }
WARP_ITEM:
REPEAT_WARP | BLACK_HOLE_WARP | TURBULENCE | CYLINDRICAL_WARP | SPHERICAL_WARP | TOROIDAL_WARP | PLANAR_WARP
REPEAT_WARP:
repeat VECTOR [offset VECTOR] [flip VECTOR]
BLACK_HOLE_WARP:
black_hole V_LOCATION, F_RADIUS [BLACK_HOLE_ITEMS]
BLACK_HOLE_ITEMS:
[strength FLOAT] & [falloff FLOAT] & [inverse] & [repeat VECTOR [turbulence VECTOR]]
CYLINDRICAL_WARP:
cylindrical [orientation VECTOR] [dist_exp FLOAT]
SPHERICAL_WARP:
spherical [orientation VECTOR] [dist_exp FLOAT]
TOROIDAL_WARP:
toroidal [orientation VECTOR] [dist_exp FLOAT] [major_radius FLOAT]
PLANAR_WARP:
planar [V_NORMAL, F_DISTANCE]
Modify the usage of a blend map:
BLEND_MAP_MODIFIERS:
Jump to SDL
[frequency FLOAT] & [phase FLOAT] & [WAVEFORM]
WAVEFORM:
Jump to SDL
ramp_wave | triangle_wave | sine_wave | scallop_wave | cubic_wave | poly_wave [F_EXPONENT]
Specify a two-dimensional bitmap image for a pattern:
BITMAP_IMAGE:
FUNCTION_IMAGE | BITMAP_TYPE FILE_NAME
FUNCTION_IMAGE:
Jump to SDL
function I_WIDTH, I_HEIGHT { FUNCTION_IMAGE_BODY }
FUNCTION_IMAGE_BODY:
PIGMENT | FN_FLOAT | pattern { PATTERN [PATTERN_MODIFIERS] }
PATTERN:
MAP_PATTERN | brick [BRICK_ITEMS] | checker | hexagon | object { LIST_OBJECT }
BITMAP_TYPE:
Jump to SDL
gif | tga | iff | ppm | pgm | png | jpeg | tiff | sys
Modify how a 2-D bitmap is to be applied to a 3-D surface:
BITMAP_MODIFIERS:
Jump to SDL
[once] & [map_type MAP_TYPE] & [interpolate INTERPOLATE_TYPE]
MAP_TYPE:
0 | 1 | 2 | 5
INTERPOLATE_TYPE:
2 | 4

Quick Reference Contents