Colors based on wrapped procedural textures

Brick, Paver:

This shader allows the user to choose between several different patterns, to use different colors and parameters. There are set in the Brick, Paver Options dialog shown in Figure 2.2.8.

paver options.tiff
Figure 2.2.8: The Brick, Paver Options dialog.

 

Dimensions: This group of parameters controls the sizes of the pattern, as follows:

Patterns: A number of patterns can be selected from this pop up menu: Herringbone, Pinwheel, Boxed Basketweave, Double Basketweave, Single Basketweave, Diamonds, Hexagon, Running Bond, Stacked Bond, Combination Running/Stacked Bond, Squares, and Octagon.

 

Brick Size: This parameter controls the brick layout of certain patterns. It is dimmed when it cannot be applied.

 

Mortar Thickness: This parameter controls the amount of space between bricks.

 

Mortar Fuzz: This parameter controls the antialiasing between the edge of a brick and mortar.

Colors: The colors shown in the three boxes are used to generate the paver pattern. They can be redefined in the usual way (double click on them to invoke the color wheel).

 

Variation: This group of options controls how details of a pattern vary.

Color Variation: This parameter controls the variation in the tone of different bricks.

 

Noise Scale: This parameter controls the noise pattern that mixes the two brick colors.

 

Rough Scale: This parameter controls the amount of the variations on the brick edges.

 

Rough Amplitude: This parameter controls the size range of the variations.

 

Noise: This pop up menu controls the noise pattern that mixes the two brick colors.

Examples of patterns that can be generated with this shader are shown in Figures 2.2.9 and 2.2.10.

 

 

Brick Paver.tif

Scale

300

300

300

300

Pattern

Basket Weave, Box

Hexagon

Octagon

Stacked Bond

Brick Size

50

50

50

50

Mortar Thickness

25

25

25

25

Mortar Fuzz

10

10

10

10

Figure 2.2.9: Brick, Paver textures displayed on 8' x 8' squares

 

paver examples.tif

Figure 2.2.10: Patterns that can be generated with the Brick, Paver shader.

 

 

Brick, Simple:

This shader generates a simple brick pattern, in which all bricks have the same color. Its dialog and parameters are shown in Figure 2.2.11.

d_simple_brick_opts.tiff
Figure 2.2.11: The Simple Brick Options dialog.

 

Brick Length, Brick Height: These parameters represent the horizontal and vertical dimensions of a brick, expressed as percentages of the texture tile.

 

Mortar Thickness: This parameter controls the width of the mortar, expressed as a percentage of the tile. Note that if the tile is not square, the vertical and horizontal mortar lines will have different widths.

 

Offset: This parameter determines how the vertical mortar joints line up. At 50% they are centered relative to the bricks on the row above them. At 0% or 100% they are aligned with the vertical joints on the row above them.

 

Fuzz: This parameter controls the smoothness of the edges in the brick pattern. A value of 0% creates crisp edges. 100% fuzz causes blurred edges.

 

 

TextureBlocks_SBrick.tif

Scale

100

100

100

100

Brick Length

90

90

30

200

Brick Height

40

40

60

30

Mortar Thickness

10

25

10

10

Offset

50

50

50

50

Fuzz

50

50

50

50

 

Figure 2.2.12: Simple Brick textures displayed on 4' x 4' squares.

 

 

Brick, Textured:

This shader generates a more detailed brick texture. The side of each brick (stretcher) has a base color, randomly assigned from two colors. The bricks are painted with the base color and are textured randomly using the second color variation. The front of each brick (header) is painted with two different colors allowing for varying patterns of stretchers and headers (Figure 2.2.13).

 

d_textured_brick_opts.tiff
Figure 2.2.13: The Textured Brick Options dialog.
 
D_BrickTextured_Layout.tiff
Figure 2.2.14: The Layout pop up menu.
 
1
Brick_typs.tif
 
a
b
c
2
Brick_typs_B.tif
 
a
b
c
 
Figure 2.2.15: Textured Brick of Layout type (a) Stretchers Only, (b)
Bands, and (c) Alternate with # Of Stretchers (1) 1 and (2) 3.

Bonds: These options specify a brick pattern.

Layout: Three brick styles can be selected from this pop up menu: Stretchers Only, Bands, and Alternate (Figure 2.2.14).

 

The Bands and Alternate bond styles generate additional bricks, whose headers are visible. The dimension of the brick ends is determined by the value in the Brick Depth field. The color of the brick headers can be different from the color of their stretchers and is determined by the additional two color fields.

Stretchers Only: This bond style only generates rows of stretchers, that is bricks whose sides are visible (Figure 2.2.15(1a)).

 

Bands: This style consists of alternating rows of stretchers (bricks whose sides are visible) and rows of bricks whose headers are visible (Figure 2.2.15(1b)).

 

Alternate: This layout generates rows of bricks that alternate between their stretchers and their headers being visible (Figure 2.2.15(1c)).

Offset: This option sets the horizontal offset between two rows of bricks. At 50%, the vertical joint of one stretcher brick in the Stretchers Only and Bands layout is located in the center of the stretchers above. At 100% or 0%, the vertical joints are aligned. In the Alternate layout, the offset determines the horizontal offset between the header bricks of two different rows.

 

# Of Stretchers: The number entered in this field determines how many times the stretchers will be repeated. When used with Bands, complete rows are repeated (Figure 2.2.15(2b)). When used with Alternate, it affects the number of stretchers arranged horizontally (Figure 2.2.15(2c)). This parameter has no effect on the Stretchers Only style (Figure 2.2.15(2a)).

Dimensions: This group of options determines the sizes of the bricks and mortar joints through the following parameters: Scale, Length, Height, Depth, and Mortar.

 

Colors: This group of options consists of color boxes, which can be changed by clicking on them to invoke the standard color picker dialog.

Stretcher 1, Stretcher 2: These colors are used to paint the stretchers of bricks. The first is the base color; the second is used to apply a random texture on the first.

 

Header 1, Header 2: These colors are used to paint the headers of bricks, whenever they are included in the layout. The first and second colors are used as they are for the stretchers.

Variation: These parameters determine the shape of the edges of the bricks.

Rough Scale, Rough Amplitude: These slider parameters control the size and the depth of the roughness of the edges between the bricks and the mortar.

 

Fuzz: As for Brick, Simple.

 

t_brick(t).PICT

Scale

200

200

200

200

Brick Length

90

90

90

90

Brick Height

40

40

40

40

Mortar

10

10

20

20

Rough Scale

0

50

100

25

Rough Amplitude

0

50

25

100

Fuzz

50

50

50

50

 

 

t_brick(t).PICT

Scale

200

200

200

200

Brick Length

90

90

90

500

Brick Height

40

40

40

10

Mortar

10

10

20

10

Rough Scale

500

50

500

500

Rough Amplitude

500

5000

5000

5000

Fuzz

50

50

50

50

 

Figure 2.2.16: Textured Brick textures for Stretchers Only layout.

 

 

Checker:

This shader generates a checker board pattern from two colors, as shown in its dialog, Figure 2.2.17.

 

d_checkerP85.tiff
 
Figure 2.2.17: The Checker Options dialog.
 
 
t_checker.PICT
Scale
100
 
200
 
Figure 2.2.18: Wrapped Checker textures

 

 

Fabric:

d_fabric_opts.tiff
Figure 2.2.19: The Fabric Options dialog.
 
 
sample_tile_sml.tif
Figure 2.2.20: The parameters of the Fabric shader.

This shader simulates a woven pattern. It can be used to render a wood lattice fence, a wood basket, or cloth. The parameters in the Fabric Options dialog (Figure 2.2.19) control color, dimensions of the threads, and background. They are graphically shown in Figure 2.2.20.

 

Thread Color: The base color of the threads.

 

Shaded Color: The color with which the thread is interpolated towards the edges of the threads.

 

 

Colors based on wrapped procedural textures

Brick, Paver:

This shader allows the user to choose between several different patterns, to use different colors and parameters. There are set in the Brick, Paver Options dialog shown in Figure 2.2.8.

paver options.tiff
Figure 2.2.8: The Brick, Paver Options dialog.

 

Dimensions: This group of parameters controls the sizes of the pattern, as follows:

Patterns: A number of patterns can be selected from this pop up menu: Herringbone, Pinwheel, Boxed Basketweave, Double Basketweave, Single Basketweave, Diamonds, Hexagon, Running Bond, Stacked Bond, Combination Running/Stacked Bond, Squares, and Octagon.

 

Brick Size: This parameter controls the brick layout of certain patterns. It is dimmed when it cannot be applied.

 

Mortar Thickness: This parameter controls the amount of space between bricks.

 

Mortar Fuzz: This parameter controls the antialiasing between the edge of a brick and mortar.

Colors: The colors shown in the three boxes are used to generate the paver pattern. They can be redefined in the usual way (double click on them to invoke the color wheel).

 

Variation: This group of options controls how details of a pattern vary.

Color Variation: This parameter controls the variation in the tone of different bricks.

 

Noise Scale: This parameter controls the noise pattern that mixes the two brick colors.

 

Rough Scale: This parameter controls the amount of the variations on the brick edges.

 

Rough Amplitude: This parameter controls the size range of the variations.

 

Noise: This pop up menu controls the noise pattern that mixes the two brick colors.

Examples of patterns that can be generated with this shader are shown in Figures 2.2.9 and 2.2.10.

 

 

Brick Paver.tif

Scale

300

300

300

300

Pattern

Basket Weave, Box

Hexagon

Octagon

Stacked Bond

Brick Size

50

50

50

50

Mortar Thickness

25

25

25

25

Mortar Fuzz

10

10

10

10

Figure 2.2.9: Brick, Paver textures displayed on 8' x 8' squares

 

paver examples.tif

Figure 2.2.10: Patterns that can be generated with the Brick, Paver shader.

 

 

Brick, Simple:

This shader generates a simple brick pattern, in which all bricks have the same color. Its dialog and parameters are shown in Figure 2.2.11.

d_simple_brick_opts.tiff
Figure 2.2.11: The Simple Brick Options dialog.

 

Brick Length, Brick Height: These parameters represent the horizontal and vertical dimensions of a brick, expressed as percentages of the texture tile.

 

Mortar Thickness: This parameter controls the width of the mortar, expressed as a percentage of the tile. Note that if the tile is not square, the vertical and horizontal mortar lines will have different widths.

 

Offset: This parameter determines how the vertical mortar joints line up. At 50% they are centered relative to the bricks on the row above them. At 0% or 100% they are aligned with the vertical joints on the row above them.

 

Fuzz: This parameter controls the smoothness of the edges in the brick pattern. A value of 0% creates crisp edges. 100% fuzz causes blurred edges.

 

 

TextureBlocks_SBrick.tif

Scale

100

100

100

100

Brick Length

90

90

30

200

Brick Height

40

40

60

30

Mortar Thickness

10

25

10

10

Offset

50

50

50

50

Fuzz

50

50

50

50

 

Figure 2.2.12: Simple Brick textures displayed on 4' x 4' squares.

 

 

Brick, Textured:

This shader generates a more detailed brick texture. The side of each brick (stretcher) has a base color, randomly assigned from two colors. The bricks are painted with the base color and are textured randomly using the second color variation. The front of each brick (header) is painted with two different colors allowing for varying patterns of stretchers and headers (Figure 2.2.13).

 

d_textured_brick_opts.tiff
Figure 2.2.13: The Textured Brick Options dialog.
 
D_BrickTextured_Layout.tiff
Figure 2.2.14: The Layout pop up menu.
 
1
Brick_typs.tif
 
a
b
c
2
Brick_typs_B.tif
 
a
b
c
 
Figure 2.2.15: Textured Brick of Layout type (a) Stretchers Only, (b)
Bands, and (c) Alternate with # Of Stretchers (1) 1 and (2) 3.

Bonds: These options specify a brick pattern.

Layout: Three brick styles can be selected from this pop up menu: Stretchers Only, Bands, and Alternate (Figure 2.2.14).

 

The Bands and Alternate bond styles generate additional bricks, whose headers are visible. The dimension of the brick ends is determined by the value in the Brick Depth field. The color of the brick headers can be different from the color of their stretchers and is determined by the additional two color fields.

Stretchers Only: This bond style only generates rows of stretchers, that is bricks whose sides are visible (Figure 2.2.15(1a)).

 

Bands: This style consists of alternating rows of stretchers (bricks whose sides are visible) and rows of bricks whose headers are visible (Figure 2.2.15(1b)).

 

Alternate: This layout generates rows of bricks that alternate between their stretchers and their headers being visible (Figure 2.2.15(1c)).

Offset: This option sets the horizontal offset between two rows of bricks. At 50%, the vertical joint of one stretcher brick in the Stretchers Only and Bands layout is located in the center of the stretchers above. At 100% or 0%, the vertical joints are aligned. In the Alternate layout, the offset determines the horizontal offset between the header bricks of two different rows.

 

# Of Stretchers: The number entered in this field determines how many times the stretchers will be repeated. When used with Bands, complete rows are repeated (Figure 2.2.15(2b)). When used with Alternate, it affects the number of stretchers arranged horizontally (Figure 2.2.15(2c)). This parameter has no effect on the Stretchers Only style (Figure 2.2.15(2a)).

Dimensions: This group of options determines the sizes of the bricks and mortar joints through the following parameters: Scale, Length, Height, Depth, and Mortar.

 

Colors: This group of options consists of color boxes, which can be changed by clicking on them to invoke the standard color picker dialog.

Stretcher 1, Stretcher 2: These colors are used to paint the stretchers of bricks. The first is the base color; the second is used to apply a random texture on the first.

 

Header 1, Header 2: These colors are used to paint the headers of bricks, whenever they are included in the layout. The first and second colors are used as they are for the stretchers.

Variation: These parameters determine the shape of the edges of the bricks.

Rough Scale, Rough Amplitude: These slider parameters control the size and the depth of the roughness of the edges between the bricks and the mortar.

 

Fuzz: As for Brick, Simple.

 

t_brick(t).PICT

Scale

200

200

200

200

Brick Length

90

90

90

90

Brick Height

40

40

40

40

Mortar

10

10

20

20

Rough Scale

0

50

100

25

Rough Amplitude

0

50

25

100

Fuzz

50

50

50

50

 

Brick Height

40

.

 

Examples of Gradient textures are shown in Figure 2.2.25.

 

 

Gradient.tif

Scale

100

800

100

400

Blend

Smooth

Linear

Smooth

Smooth

Direction

Straight

Straight

Radial

Circular

Tiled

ON

ON

ON

OFF

Noise Scale

50

50

50

50

Noise Amplitude

0

50

0

100

Noise

Simple

Simple

Best

Simple

 

Figure 2.2.25: Gradient textures.

 

 

Grid:

d_grid_opts.tiff
Figure 2.2.26: The Grid Options dialog.

This shader generates a two color grid pattern whose tiles can be square or have different horizontal and vertical dimensions. Its dialog is shown in Figure 2.2.26.

 

 

TextureBlocks_Grid.tif

Scale

100

100

100

100

Width

80

80

80

20

Height

80

40

400

20

Grid Size

20

20

20

30

 

Figure 2.2.27: Grid textures.

 

 

Paint Splat:

d_paint_splat_opts.tiff
Figure 2.2.28: The Paint Splat Options dialog.
aone_layer.tifbthree_layers.tifcfive_layers.tif
Figure 2.2.29: The Paint Splat color shader applied to a bike helmet.
(a) One, (b) three, and (c) five layers.

This shader generates a pattern of one or more layers of random dots on a plain background color. Each layer has its own parameters that allow the user to change the color, size and shape of the dots.

 

Background Color: The plain background color on which the dot layers are placed.

 

Fuzz: This parameter controls the smoothness of the edge between the dots and the background.

 

# Of Layers: From this menu the number of dot layers is chosen. From 1 to 5 layers are supported. The dots of Layer 1 are always rendered first, with the other layers placed on top. The parameters of each layer are shown in a separate tab.

 

Layer Scale: This parameter applies an additional scale to the dots. This allows the user to create layered dots of different sizes.

 

Density: When this parameter is increased, more dots will cover the background. A low density parameter will generate less dots.

 

Variation: When this parameter is set to 0%, all dots have the same size. At 100%, the dots will vary randomly from a small size up to the size they would be at 0%.

 

Detail: At 0% the dots will be perfectly circular. Increasing the detail parameter will result in a rougher dot edge.

 

Color 1, Color 2: The color of the dots is a random mixture of these two colors.

decal_splats.tif
Figure 2.2.30: The Paint Splat shader applied as a decal

The Paint Splat shader may also be used very effectively as a decal. In the example below, the bike helmet is assigned the Stripe color shader as its main material. A decal material is created with the Paint Splat shader for the color shader and also for the transparency shader. As a transparency shader, the paint splat pattern acts as a stencil, rendering just the dots, but not the background. With the Decal tool, the paint splat decal material is assigned as a decal to the helmet surface. The resulting rendering is shown in the Figure 2.2.30.

 

 

Polka Dots:

d_polka_dots_opts.tiff
Figure 2.2.31: The Polka Dots Options dialog.

This shader generates a flat dot pattern based on values entered for the size of and distance between the dots, as well as the smoothness of their edges. Its dialog is shown in Figure 2.2.31.

 

Separation: This parameter, expressed as a percentage of the tile size, represents the distance between the centers of the dots.

 

Radius: This parameter represents the radius of the polka dots relative to the tile size.

 

Fuzz: This slider parameter controls the smoothness of the edge between the dots and the background color.

Note that radius values greater than 50 (with separation at 100%) result in overlapping dots. Separation values other than 100% result in scaled tiles.

 

 

t_brick(t).PICT

Scale

200

200

200

200

Brick Length

90

90

90

500

 

TextureBlocks_SPolka.tif

Scale

100

100

100

100

Separation

100

100

200

100

Radius

40

20

20

55

Fuzz

10

10

120

10

 
Figure 2.2.32: Wrapped Polka Dots.

 

 

 

Roof Tiles:

d_roof_tiles_opts.tiff

Figure 2.2.33: The Roof Tiles Options dialog.

This shader generates a pattern of roof shingles or roof tiles. The Type menu offers eight different styles: Flat, Scalloped, Diamond, Hexagonal, Classic, Espana, Spanish, and Roma. Examples of all eight patterns are shown in Figure 2.2.34.

 

The dimensions and colors of the tiles are entered in the Dimensions and Colors option groups. The Variation slider determines how much color variation occurs on each tile. The variation is displayed as a pattern of light and dark patches. The Variation Scale slider determines the size of the patches. The Roof Tiles Options dialog is shown in Figure 2.2.33.

 

 
ex_roof_tiles_X.tif
a
b
c
d
 
ex_roof_tiles_X.tif
e
a gradient None.tiff
b gradient Linear.tiff
c gradient Smooth.tiff
Figure 2.2.22: Blend options: (a) None,
(b) Linear, and (c) Smooth.
gradient screen cap.tiff
Figure 2.2.23: The Gradient Options dialog.

 

Blend: This pop up menu contains three choices for interpolating colors into each other. They are illustrated in Figure 2.2.22.

None: With this item selected, no interpolation is applied, which causes an abrupt shift from one color to another.

 

Linear: This item causes a direct interpolation between two colors.

 

Smooth: With this item, the interpolation curve is flattened near the ends of the line, which causes the ends of the transition to be less noticeable.

 

Color Mixer: This is a horizontal rectangle, found under the Blend menu. It can be used to mix colors, to introduce new and delete colors, interactively.

 

For each color in the rectangle, a little diamond is displayed under it. Above one of the colors, a small triangle is also displayed, while the diamond is highlighted in red, which signifies that the color is active. These handles are used to apply operations, as follows:

  • Clicking on a diamond makes that color active and displays a triangle above it. When active, the attributes of a color can be edited numerically using options in the dialog.

  •  

  • Clicking inside the rectangle generates a new color, which is initially the color shown at the click point. This color is also displayed in the Color box. Clicking on the box invokes the Color Wheel, which allows you to redefine the color in the usual manner.

  •  

  • Clicking and dragging a diamond repositions the respective color relative to the other colors. When two diamonds get close to each other, the one on the right will move down, preventing it from obscuring the other. Each additional close marker will be moved farther down.

  •  

  • The left and right arrow buttons, found under the mixer can be used to move the active color to the next color. The sequence is circular and after the last color the selection moves to the first.

  •  

  • Clicking on the trash button delete the active color.

Position: The value displayed in this alpha field represents the position of the active color, Changing this value either numerically or by using the slide rule repositions the active color. Or, reversely, when moving the active color the value in the field changes.

a type linear.jpg   b type linear angle.JPG   c type radial.JPG   d type circular.JPG
Figure 2.2.24: Direction options:(a) Straight and
Angle=0°, (b) Straight and Angle=45°, (c)
Radial, and (d) Circular

 

Direction: This pop up menu controls the shape of the gradient, as shown in Figure 2.2.24.

Straight: When this item is selected, which is the default, the gradient follows a linear path. The angle of this path is controlled by the Angle option.

 

Radial: With this item selected, the path of the interpolation runs around a circular path, which causes the colors to radiate from the center of the texture sample.

 

Circular: With this item on, the gradient interpolates from the center of the sample towards the outside. This option forms concentric rings.

Angle: The value entered in this field determines the orientation of the Straight and Radial gradients.

 

Variation: This group of options allows one to add randomness to the pattern.

Noise Scale: This slide rule controls the size of the noise pattern.

 

Noise Amplitude: This slide rule controls the intensity of the noise pattern.

Area Sample, Noise Quality, # Of Impulses: As for the other shaders>

 
Figure 2.2.40: Examples of the Wood Boards shader with different board layouts:
(a) Square, (b) Herring Bone, (c) Floor Boards, and (d) Ladder.