imagico.de
imagico.de

imagico.de

IsoWood

IsoWood Include File 0.3 - Documentation

This POV-Ray include file offers a several maros that generate realistic wooden shapes like planks, posts etc. Most shapes can be generated in different quality levels.

The first version of this tool (0.1) was published in August 2000 for use with the isosurface patch in MegaPOV 0.5 and offered a few basic plank and cylinder macros. The second version (0.2) added more macros and offered additional features like deformation of wood objects and parquet macros.

Meanwhile the isosurface feature has been integrated into POV-Ray 3.5 and this version is designed to be used with this version. Some features will require MegaPOV 1.x. This version is no more syntax compatible to the older versions.

For some features of the IsoWood include file the IsoCSG library is required.

Modelling with isosurfaces is not trivial - it requires a good deal of experience to create good results efficiently. Some basic information about isosurfaces can be found in the POV-Ray documentation and in Mike's isosurface tutorial.

The macros in this include file create different types of wooden objects. The main function of these macros is to disturb the surface of the wood objects according to a wood pattern. Using isosurfaces for this purpose really changes the shape of the surface rather than just modifying the normal vector.

isosurface/normal comparison

Of course this very detailed geometry has its price - the render speed can be very slow. Therefore the IsoWood include file offers different quality modes for most shapes to allow fast previews.

List of available macros

The main macros included in the file are the following:




Description of the macros

some general variables

IW_Quality

This is a global quality parameter. Depending on its value the macros generate different kinds wood shapes. This can be useful especially for test renders.

possible values are:

This variable has only influence on some of the macros. It can be changed anywhere in the POV-Script and inluences following macro calls. The default value is 2.

The following table shows examples with the different qualities.

IW_Quality 0 IW_Quality 1 IW_Quality 2
IW_Quality 0 IW_Quality 1 IW_Quality 2

IW_ISO variables

parameters for the isosurface object. See the megapov documentation for their use.

IW_Plain_Tex

This is the texture used for the wood shapes with IW_Quality 0. By default it is a plain red texture.

IW_Rand_Seed

The random seed used in the macros. Default is seed(0).

The plank macros

These macros generate box shaped wooden planks. They are created at the origin like shown in the following illustration.

IsoWood sample

all these macros have a number of common parameters:

IW_Plank_Round

A simple rounded box shape

IW_Plank_Round sample

parameters:

IW_Plank_RoundW

Same as IW_Plank_Round but with a warp.

IW_Plank_RoundW sample

parameters:

IW_Plank_RoundT

Same as IW_Plank_Round but with independent texture.

IW_Plank_RoundT sample

parameters:

IW_Plank_Round_Cut

A rounded box shape cut at the ends in z-Direction

IW_Plank_Round_Cut sample

parameters:

IW_Plank_Round_CutE

Same as IW_Plank_Round_Cut but with roughness changing towards the ends from Strength to Strength2 and warp.

IW_Plank_Round_CutE sample

parameters:

IW_Plank_Round_CutW

Same as IW_Plank_Round_Cut but with warp.

IW_Plank_Round_CutW sample

parameters:

IW_Plank_Round_CutT

Same as IW_Plank_Round_Cut but with independent texture.

IW_Plank_Round_CutT sample

parameters:

IW_Plank_Chamfered

A chamfered box shape cut at the ends in z-Direction

IW_Plank_Chamfered sample

parameters:

IW_Plank_ChamferedE

Same as IW_Plank_Chamfered but with roughness changing towards the ends from Strength to Strength2 and warp.

IW_Plank_ChamferedE sample

parameters:

IW_Plank_ChamferedW

Same as IW_Plank_Chamfered but with warp.

IW_Plank_ChamferedW sample

parameters:

IW_Plank_ChamferedT

Same as IW_Plank_Chamfered but with independent texture.

IW_Plank_ChamferedT sample

parameters:

IW_Plank_DRound

A double rounded box shape

IW_Plank_DRound sample

parameters:

The cylinder macros

IsoWood sample

common parameters:

IW_Cylinder

simple cylindrical wood shape

IsoWood sample

parameters:

IW_CylinderT

Same as IW_Cylinder but with independent texture.

IsoWood sample

parameters:

IW_Cylinder_Chamfered

cylindrical wood with cut & chamfered ends

IsoWood sample

parameters:

IW_Cylinder_ChamferedT

Same as IW_Cylinder_Chamfered but with independent texture.

IsoWood sample

parameters:

The half cylinder macros

IsoWood sample

Syntax is the same as with the full cylinder macros.

IW_Cylinder_Half

simple half cylindrical wood shape.

IsoWood sample

parameters:

IW_Cylinder_HalfT

Same as IW_Cylinder_Half but with independent texture.

IsoWood sample

parameters:

IW_Cylinder_Half_Chamfered

half cylindrical wood with cut & chamfered ends.

IsoWood sample

parameters:

IW_Cylinder_Half_ChamferedT

Same as IW_Cylinder_Half_Chamfered but with independent texture.

IsoWood sample

parameters:

The cylindrical wood post macros

These macros create wood shapes to be used as wooden posts. The shapes are only modelled at one end, the other end is left open so it will be cut by the container shape of the isosurface. This will make the function faster than in the conventional cylinder shape macros.

The Length parameter specifies the distance of the modelled end from the origin (in z-direction).

IW_Cylinder_Post_Round

Cylindrical wood post with rounded end

IsoWood sample

parameters:

IW_Cylinder_Post_RoundT

Same as IW_Cylinder_Post_Round but with independent texture.

IsoWood sample

parameters:

IW_Cylinder_Post_Broken

Cylindrical wood post broken at one end

IsoWood sample

parameters:

IW_Cylinder_Post_BrokenT

Same as IW_Cylinder_Post_Broken but with independent texture.

IsoWood sample

parameters:

The cylindrical wood spike macros

IW_Cylinder_Spike4

Cylindrical wood spike with 4 cuts at the end

IsoWood sample

parameters:

IW_Cylinder_Spike8

Same as IW_Cylinder_Spike4 but 8 cuts at the end.

IsoWood sample

The custom shape macros

IW_Shape

Creates a wood shape from an arabitrary user defined function, for example a function created with the IsoCSG library.

IW_Shape sample

parameters:

IW_ShapeW

Same as IW_Shape but with warp.

IW_ShapeW sample

parameters:

IW_ShapeT

Same as IW_Shape but with independent texture.

IsoWood sample

parameters:

box wrappers for plank macros

The parameters xSize, ySize, zSize are replaced by two vectors: Start and End. This way the macros can be used as replacement for the Povray box shape.

IsoWood sample

IW_Box_Round

see IW_Plank_Round.

IW_Box_RoundW

see IW_Plank_RoundW.

IW_Box_RoundT

see IW_Plank_RoundT.

IW_Box_Round_CutE

see IW_Plank_Round_CutE.

IW_Box_Round_CutW

see IW_Plank_Round_CutW.

IW_Box_Round_CutT

see IW_Plank_Round_CutT.

IW_Box_Chamfered

see IW_Plank_Chamfered.

IW_Box_ChamferedE

see IW_Plank_ChamferedE.

IW_Box_ChamferedW

see IW_Plank_ChamferedW.

IW_Box_ChamferedT

see IW_Plank_ChamferedT.

distorted shapes

These macros generate wood objects distorted by additional functions.

IW_Plank_RoundN

Same type as IW_Plank_Round.

The function used for the distortion is a vector function defining the displacement in x, y and z direction.

IsoWood sample

parameters:

IW_Plank_Round_CutN

Same type as IW_Plank_Round_Cut.

The function used for the distortion is a vector function defining the displacement in x, y and z direction.

IsoWood sample

parameters:

IW_Plank_ChamferedN

Same type as IW_Plank_Chamfered.

The function used for the distortion is a vector function defining the displacement in x, y and z direction.

IsoWood sample

parameters:

IW_CylinderN

Same type as IW_Cylinder.

The function used for the distortion is a vector function defining the displacement in x, y and z direction.

IsoWood sample

parameters:

IW_CylinderR

Same type as IW_Cylinder.

The function used for the distortion is a float function defining the displacement in radial direction. The wood structure does not follow the distortion.

IsoWood sample

parameters:

parquet macros

These macros can be used for generating parquet floors.

parameters:

xSize and ySize must be dividable without remainder, otherwise an error occurs. Their order does not matter.

Some of the parameters are only needed for certain types of planks. Otherwise you can use anything in those fields.

IW_Parquet_A

Geometry:

      ------||||----
      |------||||---
      ||------||||--
      |||------||||-
      ||||------||||
      -||||------|||
      --||||------||
     

IsoWood sample

IW_Parquet_B

Geometry:

      ------||||||--
      ||||||------||
      ||||||------||
      ||||||------||
      ||||||------||
      ------||||||--
      ------||||||--
     

IsoWood sample

the warp macros

The warp macros can be used in the E, W and N type wood planks for additional irregularities like knotholes. The WarpNbr parameter specifies the macro used. WarpNbr 0 does not use any warp.

All warp macros have 4 parameters for proper placement of the warps:

There are 4 warp macros that should be considered as working examples, feel free to write additional ones.

The warp macros 3 and 4 require MegaPOV 1.x.

IW_Warp_01 (WarpNbr 1)

IsoWood sample

IW_Warp_02 (WarpNbr 2)

IsoWood sample

IW_Warp_03 (WarpNbr 3)

IsoWood sample

IW_Warp_04 (WarpNbr 4)

IsoWood sample

IW_Warp_05 (WarpNbr 5)

IsoWood sample