DoTextureMapDiffuseColor(3D)

NAME
DoTextureMapDiffuseColor - Create a diffuse color texture map primitive attribute object

SYNOPSIS
C:
DtObject DoTextureMapDiffuseColor(operator, mapping,
	raster)
DtMapOperator operator;
DtObject mapping;
DtObject raster;

FORTRAN:
INTEGER*4 DOTMDC(OPRATR, MAPPNG, RASTER)
INTEGER*4 OPRATR
INTEGER*4 MAPPNG
INTEGER*4 RASTER

DESCRIPTION

DoTextureMapDiffuseColor creates a primitive attribute object that specifies a texture map for diffuse color.

A texture-mapped primitive object can be affected by more than one DoTextureMapDiffuseColor attribute. The parameter operator specifies whether subsequent primitive objects will be affected by this diffuse color texture only, or also by other diffuse color textures higher up in the scene hierarchy. The possible values for operator are:

DcMapReplace <DCMR>
    Any diffuse color textures already defined will be ignored by subsequent primitive objects.

DcMapAdd <DCMADD>
    Use this texture in addition to the diffuse color textures higher up in the hierarchy. In case of overlapping textures, the one that is defined closest to the primitive object affected by the textures will be evaluated first. A primitive object can only be affected by textures above it in the hierarchy.

The parameter mapping specifies which mapping procedure to use. Possible values for mapping are:

DcStdTableLookup <DCSTLU>
    Use the default 2-dimensional tabular texture mapping method the renderer provides.

DcStd3dTableLookup <DCS3TL>
    Use the default 3-dimensional tabular texture mapping method the renderer provides.

Dc2PartMap <DC2PM>
    Use a two-part mapping method, where a two-dimensional tabular texture is mapped onto a relatively simple three-dimensional intermediate surface before being projected onto the target primitive object. See DoTextureIntermediateSurf <DOTIMS> for more information regarding two-part mapping.

Renderer-specific mappings
    Use any renderer-specific mappings documented in your Dore System Guide.

The parameter raster is the actual texture map data to be used by the texturing procedure. raster is a handle to an object created with DoRaster <DORS>, or DoFileRaster <DOFRS>. The number of channels of data used for mapping the diffuse color depends on the color model. Three channels are required if an RGB color model is used for the diffuse color. If the raster data is in the standard Dore format, the following convention is used. For rasters of type DcRasterRGB <DCRRGB>, DcRasterRGBA <DCRRA>, DcRasterRGBZ <DCRRZ>, and DcRasterRGBAZ <DCRRAZ> the RGB channels are used. Some texture maps also use the alpha channel (see DoTextureOp). Rasters of type DcRasterA <DCRA> and DcRasterZ <DCRZ> cannot be used as diffuse color texture maps in conjunction with the RGB color model.

DoTextureMapDiffuseColor is a primitive attribute and is inherited by subsequent primitive objects, as are all primitive attributes. Unlike most other primitive attributes though, DoTextureMapDiffuseColor also inherits a set of attributes, i.e. the texture attributes. The texture attributes specify things such as which set of primitive uv coordinates to use, how to extend a texture when the primitive uv coordinates extend beyond the limits of the texture, how to transform the primitive uv coordinates before applying the texture, etc. The current values of the texture attributes are bound to the DoTextureMapDiffuseColor object when it is executed during traversal. Thus the texture attributes are only indirectly bound to the primitive objects.

ERRORS
DoTextureMapDiffuseColor will fail if raster is not a DoRaster object or a DoFileRaster object.

[WARNING - invalid or deleted object]

SEE ALSO
DoDiffuseColor(3D), DoFileRaster(3D), DoRaster(3D), DoTextureMapDiffuseColorSwitch(3D), DoTextureIntermediateSurf(3D), DoTextureUVIndex(3D), DoTextureUVWIndex(3D), DoTextureMatrixUV(3D), DoTextureMatrixUVW(3D), DoTextureScaleUV(3D), DoTextureScaleUVW(3D), DoTextureTranslateUV(3D), DoTextureTranslateUVW(3D), DoTextureExtendUV(3D), DoTextureExtendUVW(3D), DoTextureOp(3D), DoTextureAntiAlias(3D)