Visual Basic Enumerations

The Microsoft® Direct3D® Retained Mode enumerated types for Microsoft® Visual Basic® are:

CONST_D3DRMADDFACESFLAGS

Specifies how normal indexes should be handled.

Syntax

Enum CONST_D3DRMADDFACESFLAGS
  D3DRMADDFACES_DEFAULT
  D3DRMADDFACES_VERTICESONLY
End Enum

Values

D3DRMADDFACES_DEFAULT
Indexes of pre-existing normals will be used.
D3DRMADDFACES_VERTICESONLY
The normal with the corresponding index will be used automatically for each vertex.

CONST_D3DRMADDMESHBUILDERFLAGS

Indicates the copying options.

Syntax

Enum CONST_D3DRMADDMESHBUILDERFLAGS
  D3DRMADDMESHBUILDER_DONTCOPYAPPDATA  = 1
  D3DRMADDMESHBUILDER_FLATTENSUBMESHES = 2
  D3DRMADDMESHBUILDER_NOSUBMESHES      = 4
End Enum

Values

D3DRMADDMESHBUILDER_DONTCOPYAPPDATA
By default, Direct3DRMMeshBuilder3.AddMeshBuilder copies the application data of source meshbuilders to the destination. Specifying D3DRMADDMESHBUILDER_DONTCOPYAPPDATA prevents this from occurring.
D3DRMADDMESHBUILDER_FLATTENSUBMESHES
Causes the submesh objects not to be duplicated. Their faces are still copied, but only to the top level of the destination meshbuilder.
D3DRMADDMESHBUILDER_NOSUBMESHES
Causes sub-meshbuilders to be ignored.

CONST_D3DRMADDTRIANGLESFLAGS

Indicates options for the newly formed triangle.

Syntax

Enum CONST_D3DRMADDTRIANGLESFLAGS
  D3DRMVERTEX_STRIP = 1
  D3DRMVERTEX_FAN   = 2
  D3DRMVERTEX_LIST  = 4
End Enum

Values

D3DRMVERTEX_STRIP
Forms a new triangle in strip format with the previous two vertices.
D3DRMVERTEX_FAN
Forms a new triangle with the previous vertex and the first vertex in the fan.
D3DRMVERTEX_LIST
Starts a new list or is a member of a previously started list. If the previous vertex (or the vertex previous to that) was not marked with this flag, the following vertices must be marked with this flag until at least one triangle is formed.

CONST_D3DRMADDTRIANGLESVT

Indicates which methods to include in the description for each element.

Syntax

Enum CONST_D3DRMADDTRIANGLESVT
  D3DRMFVF_TYPE          = 1
  D3DRMFVF_NORMAL        = 2
  D3DRMFVF_COLOR         = 4
  D3DRMFVF_TEXTURECOORDS = 8
End Enum

Values

D3DRMFVF_TYPE
Value from the CONST_D3DRMADDTRIANGLESFLAGS enumerated type.
D3DRMFVF_NORMAL
Include the normal member.
D3DRMFVF_COLOR
Include the color member.
D3DRMFVF_TEXTURECOORDS
Include the tu and tv members.

CONST_D3DRMANIMATIONFLAGS

Sets the animation options.

Syntax

Enum CONST_D3DRMANIMATIONFLAGS
  D3DRMANIMATION_OPEN             = 1
  D3DRMANIMATION_CLOSED           = 2
  D3DRMANIMATION_LINEARPOSITION   = 4
  D3DRMANIMATION_SPLINEPOSITION   = 8
  D3DRMANIMATION_SCALEANDROTATION = 16 (&H10)
  D3DRMANIMATION_POSITION         = 32 (&H20)
End Enum

Values

D3DRMANIMATION_OPEN
Animation plays once and stops.
D3DRMANIMATION_CLOSED
Animation plays continually, looping back to the beginning when it reaches the end. In a closed animation, if you want a smooth transition from the end to the beginning, the last key in the animation should be a repeat of the first. This repeated key indicates the time difference between the last and first keys in the looping animation. However, if the last key is not a repeat of the first, the new interfaces (Direct3DRMAnimation2, Direct3DRMAnimationSet2) will no longer ignore it. It takes effect, and then the animation jumps immediately back to the beginning.
D3DRMANIMATION_LINEARPOSITION
Animation's position is set linearly.
D3DRMANIMATION_SPLINEPOSITION
Animation's position is set using splines.
D3DRMANIMATION_SCALEANDROTATION
Animation's scale and rotation matrix should overwrite any transformation matrices set by other methods.
D3DRMANIMATION_POSITION
Animation's position matrix should overwrite any transformation matrices set by other methods.

CONST_D3DRMCALLBACKORDERFLAGS

Used by the Direct3DRMFrame3.AddMoveCallback method to specify whether callbacks for a frame are used before or after the child frames are traversed.

Syntax

Enum CONST_D3DRMCALLBACKORDERFLAGS
  D3DRMCALLBACK_PREORDER
  D3DRMCALLBACK_POSTORDER
End Enum

Values

D3DRMCALLBACK_PREORDER
The default value. When the Direct3DRMFrame3.Move method traverses the hierarchy, callbacks for a frame are used before any child frames are traversed.
D3DRMCALLBACK_POSTORDER
When Move traverses the hierarchy, callbacks for a frame are used after the child frames are traversed.

CONST_D3DRMCOLORSOURCE

Describes the color source of a Direct3DRMMeshBuilder3 object. You can set the color source by using the Direct3DRMMeshBuilder3.SetColorSource method. To retrieve it, use the Direct3DRMMeshBuilder3.GetColorSource method.

Syntax

Enum CONST_D3DRMCOLORSOURCE
  D3DRMCOLOR_FROMFACE
  D3DRMCOLOR_FROMVERTEX
End Enum

Values

D3DRMCOLOR_FROMFACE
Object's color source is a face.
D3DRMCOLOR_FROMVERTEX
Object's color source is a vertex.

CONST_D3DRMCOMBINETYPE

Specifies how to combine two matrices.

Syntax

Enum CONST_D3DRMCOMBINETYPE
  D3DRMCOMBINE_REPLACE
  D3DRMCOMBINE_BEFORE
  D3DRMCOMBINE_AFTER
End Enum

Values

D3DRMCOMBINE_REPLACE
Supplied matrix replaces the frame's current matrix.
D3DRMCOMBINE_BEFORE
Supplied matrix is multiplied with the frame's current matrix and precedes the current matrix in the calculation.
D3DRMCOMBINE_AFTER
Supplied matrix is multiplied with the frame's current matrix and follows the current matrix in the calculation.

Remarks

The order of the supplied and current matrices when they are multiplied is important because matrix multiplication is not commutative.

See Also

Direct3DRMFrame3.AddRotation, Direct3DRMFrame3.AddScale, Direct3DRMFrame3.AddTransform, Direct3DRMFrame3.AddTranslation

CONST_D3DRMCREATEDEVICEFLAGS

Defines options when creating a Direct3DRMDevice3 object.

Syntax

Enum CONST_D3DRMCREATEDEVICEFLAGS
  D3DRMDEVICE_DEFAULT
  D3DRMDEVICE_NOZBUFFER
End Enum

Values

D3DRMDEVICE_DEFAULT
Use default options.
D3DRMDEVICE_NOZBUFFER
Z-buffering not enabled.

CONST_D3DRMFOGMETHOD

Indicates the current fogging method.

Syntax

Enum CONST_D3DRMFOGMETHOD
  D3DRMFOGMETHOD_VERTEX = 1
  D3DRMFOGMETHOD_TABLE  = 2
  D3DRMFOGMETHOD_ANY    = 4
End Enum

Values

D3DRMFOGMETHOD_VERTEX
Use vertex fog.
D3DRMFOGMETHOD_TABLE
Use table fog.
D3DRMFOGMETHOD_ANY
Direct3D Retained Mode should choose an applicable method.

CONST_D3DRMFOGMODE

Contains values that specify how rapidly and in what ways the fog effect intensifies with increasing distance from the camera.

In monochromatic (ramp) lighting mode, fog works properly only when the fog color is black. (If there is no lighting, any fog color will work, because in this case any fog color is effectively black.)

Syntax

Enum CONST_D3DRMFOGMODE
  D3DRMFOG_LINEAR
  D3DRMFOG_EXPONENTIAL
  D3DRMFOG_EXPONENTIALSQUARED
End Enum

Values

D3DRMFOG_LINEAR
Fog effect intensifies linearly between the start and end points, according to the following formula.

Equation showing linear increase of fog effect with distance

This is the only fog mode currently supported.

D3DRMFOG_EXPONENTIAL
Fog effect intensifies exponentially, according to the following formula.

Equation showing exponential increase of fog effect with distance

D3DRMFOG_EXPONENTIALSQUARED
Fog effect intensifies exponentially with the square of the distance, according to the following formula.

Equation showing exponential increase of fog effect with distance squared

Remarks

Fog can be considered a measure of visibility—the lower the fog value produced by one of the fog equations, the less visible an object will be.

You can specify the fog's density and start and end points by using the Direct3DRMFrame3.SetSceneFogParams method. In the formulas for the exponential fog modes, e is the base of the natural logarithms; its value is approximately 2.71828.

See Also

Direct3DRMFrame3.SetSceneFogMode

CONST_D3DRMFPTFFLAGS

Sets options for the returned texture format.

Syntax

Enum CONST_D3DRMFPTFFLAGS
  D3DRMFPTF_ALPHA         = 1
  D3DRMFPTF_NOALPHA       = 2
  D3DRMFPTF_PALETTIZED    = 4
  D3DRMFPTF_NOTPALETTIZED = 8
End Enum

Values

D3DRMFPTF_ALPHA
The returned texture format must have an alpha channel.
D3DRMFPTF_NOALPHA
The returned texture format must not have an alpha channel. Omit both the D3DRMFPTF_ALPHA and D3DRMFPTF_NOALPHA flags to indicate that the absence of an alpha channel is preferred but not required.
D3DRMFPTF_PALETTIZED
The returned texture format must be palettized.
D3DRMFPTF_NOTPALETTIZED
The returned texture format must not be palettized. Omit both the D3DRMFPTF_PALETTIZED and D3DRMFPTF_NOTPALETTIZED flags to indicate that the absence of a palette is preferred but not required.

CONST_D3DRMFRAMECONSTRAINT

Describes the axes of rotation to constrain when viewing a Direct3DRMFrame3 object. The Direct3DRMFrame3.LookAt method uses this enumerated type.

Syntax

Enum CONST_D3DRMFRAMECONSTRAINT
  D3DRMCONSTRAIN_Z
  D3DRMCONSTRAIN_Y
  D3DRMCONSTRAIN_X
End Enum

Values

D3DRMCONSTRAIN_Z
Use only x-axis and y-axis rotations.
D3DRMCONSTRAIN_Y
Use only x-axis and z-axis rotations.
D3DRMCONSTRAIN_X
Use only y-axis and z-axis rotations.

CONST_D3DRMGENERATENORMALSFLAGS

Specifies values used by the Direct3DRMMeshBuilder3.GenerateNormals method to define how normals are generated.

Syntax

Enum CONST_D3DRMGENERATENORMALSFLAGS
  D3DRMGENERATENORMALS_PRECOMPACT     = 1
  D3DRMGENERATENORMALS_USECREASEANGLE = 2
End Enum

Values

D3DRMGENERATENORMALS_PRECOMPACT
Algorithm should attempt to compact mesh vertices before it generates normals.
D3DRMGENERATENORMALS_USECREASEANGLE
The parameter indicating the crease angle should be used; otherwise it is ignored.

CONST_D3DRMHANDEDNESS

Indicates the current options for the Direct3D Retained Mode coordinate system.

Syntax

Enum CONST_D3DRMHANDEDNESS
  D3DRMOPTIONS_LEFTHANDED  = 1
  D3DRMOPTIONS_RIGHTHANDED = 2
End Enum

Values

D3DRMOPTIONS_LEFTHANDED
Use left-handed geometry. This value is the default.
D3DRMOPTIONS_RIGHTHANDED
Use right-handed geometry.

Remarks

D3DRMOPTIONS_LEFTHANDED and D3DRMOPTIONS_RIGHTHANDED affect picking, ray picking, and the following interfaces.

CONST_D3DRMINTERPOLATIONFLAGS

Defines options for the Interpolate method on interpolator objects, modifying how the object is loaded.

Syntax

Enum CONST_D3DRMINTERPOLATIONFLAGS
  D3DRMINTERPOLATION_OPEN         = 1
  D3DRMINTERPOLATION_CLOSED       = 2
  D3DRMINTERPOLATION_LINEAR       = 4
  D3DRMINTERPOLATION_SPLINE       = 8
  D3DRMINTERPOLATION_VERTEXCOLOR  = 64 (&H40)
  D3DRMINTERPOLATION_SLERPNORMALS = 128 (&H80)
  D3DRMINTERPOLATION_NEAREST      = 256 (&H100)
End Enum

Values

D3DRMINTERPOLATION_OPEN
First and last keys of each key chain (execution thread) will fix the interpolated values outside the index span.
D3DRMINTERPOLATION_CLOSED
Interpolation is cyclic. The keys effectively repeat infinitely with a period equal to the index span. For compatibility with animations, any key with an index equal to the end of the span is ignored.
D3DRMINTERPOLATION_LINEAR
Linear interpolation between the two nearest keys is used for determining in-between values on each key chain.
D3DRMINTERPOLATION_SPLINE
B-spline blending function on the four nearest keys is used for determining in-between values on each key chain.
D3DRMINTERPOLATION_VERTEXCOLOR
Vertex colors should be interpolated. Only affects the interpolation of Direct3DRMMesh.SetVertices.
D3DRMINTERPOLATION_SLERPNORMALS
Vertex normals should be spherically interpolated (not currently implemented). Only affects the interpolation of SetVertices.
D3DRMINTERPOLATION_NEAREST
Nearest key value is used for determining in-between values on each key chain.

CONST_D3DRMLIGHTTYPE

Defines the light type used in the Direct3DRM3.CreateLight method.

Syntax

Enum CONST_D3DRMLIGHTTYPE
  D3DRMLIGHT_AMBIENT
  D3DRMLIGHT_POINT
  D3DRMLIGHT_SPOT
  D3DRMLIGHT_DIRECTIONAL
  D3DRMLIGHT_PARALLELPOINT
End Enum

Values

D3DRMLIGHT_AMBIENT
Light is an ambient source.
D3DRMLIGHT_POINT
Light is a point source.
D3DRMLIGHT_SPOT
Light is a spotlight source.
D3DRMLIGHT_DIRECTIONAL
Light is a directional source.
D3DRMLIGHT_PARALLELPOINT
Light is a parallel point source.

CONST_D3DRMLOADFLAGS

Defines options for the Direct3DRM3.LoadFromFile, Direct3DRMAnimationSet2.LoadFromFile, Direct3DRMFrame3.LoadFromFile, Direct3DRMMeshBuilder3.LoadFromFile, and Direct3DRMProgressiveMesh.LoadFromFile methods. These options modify how the object is loaded.

Syntax

Enum CONST_D3DRMLOADFLAGS
  D3DRMLOAD_FROMFILE            = 0
  D3DRMLOAD_FROMRESOURCE        = 1
  D3DRMLOAD_FROMMEMORY          = 2
  D3DRMLOAD_FROMSTREAM          = 4
  D3DRMLOAD_FROMUR              = 8
  D3DRMLOAD_BYNAME              = 16 (&H10)
  D3DRMLOAD_BYPOSITION          = 32 (&H20)
  D3DRMLOAD_BYGUID              = 64 (&H40)
  D3DRMLOAD_FIRST               = 128 (&H80)
  D3DRMLOAD_INSTANCEBYREFERENCE = 256 (&H100)
  D3DRMLOAD_INSTANCEBYCOPYING   = 512 (&H200)
  D3DRMLOAD_ASYNCHRONOUS        = 1024 (&H400)
End Enum

Values

Source flags:

D3DRMLOAD_FROMFILE
Load from a file. This is the default setting.
D3DRMLOAD_FROMRESOURCE
Load from a resource.
D3DRMLOAD_FROMMEMORY
Load from memory.
D3DRMLOAD_FROMSTREAM
Load from stream.
D3DRMLOAD_FROMUR
Load from a URL.

Identifier flags:

D3DRMLOAD_BYNAME
Load any object by using a specified name.
D3DRMLOAD_BYPOSITION
Load a stand-alone object based on a given zero-based position (that is, the nth object in the file). Stand-alone objects can contain other objects, but are not contained by any other objects.
D3DRMLOAD_BYGUID
Load any object by using a specified globally unique identifier (GUID).
D3DRMLOAD_FIRST
Default setting. Load the first stand-alone object of the given type (for example, a mesh if the application uses Direct3DRMMeshBuilder3.LoadFromFile). Stand-alone objects can contain other objects, but are not contained by any other objects.

Instance flags:

D3DRMLOAD_INSTANCEBYREFERENCE
Check whether an object already exists with the same name as specified and, if so, use an instance of that object instead of creating a new one.
D3DRMLOAD_INSTANCEBYCOPYING
Check whether an object already exists with the same name as specified and, if so, copy that object.

Load flag:

D3DRMLOAD_ASYNCHRONOUS
LoadFromFile call will return immediately. It is up to the application to use events to find out how the load is progressing. By default, loading is done synchronously, and the LoadFromFile call will not return until all data has been loaded or an error occurs.

Remarks

Each of the LoadFromFile methods uses a filename parameter to specify the source of the object and an id parameter to identify the object. The system interprets the contents of the filename parameter based on the choice of source flags, and it interprets the contents of the id parameter based on the choice of identifier flags.

The instance flags do not change the interpretation of any of the parameters. By using the D3DRMLOAD_INSTANCEBYREFERENCE flag, an application can load the same file twice without creating any new objects. If an object does not have a name, setting the D3DRMLOAD_INSTANCEBYREFERENCE flag has the same effect as setting the D3DRMLOAD_INSTANCEBYCOPYING flag—the loader creates each unnamed object as a new one, even if some of the objects are identical.

CONST_D3DRMMAPPINGFLAGS

Specifies values used by the Direct3DRMMesh.GetGroupMapping and Direct3DRMMesh.SetGroupMapping methods to define how textures are mapped to a group.

Syntax

Enum CONST_D3DRMMAPPINGFLAGS
  D3DRMMAP_WRAPU        = 1
  D3DRMMAP_WRAPV        = 2
  D3DRMMAP_PERSPCORRECT = 4
End Enum

Values

D3DRMMAP_WRAPU
Texture wraps in the u-direction.
D3DRMMAP_WRAPV
Texture wraps in the v-direction.
D3DRMMAP_PERSPCORRECT
Texture wrapping is perspective-corrected.

Remarks

The D3DRMMAP_WRAPU and D3DRMMAP_WRAPV flags determine how the rasterizer interprets texture coordinates. The rasterizer always interpolates the shortest distance between texture coordinates; that is, a line. The path taken by this line, and the valid values for the u- and v-coordinates, vary with the use of the wrapping flags. Setting these flags causes the line to wrap around the texture edge in the u- or v- direction, as if the texture had a cylindrical or toroidal topology.

If either D3DRMMAP_WRAPU or D3DRMMAP_WRAPV is set, the texture is a cylinder with an infinite length and a circumference of 1.0. Texture coordinates greater than 1.0 are valid only in the dimension that is not wrapped. The shortest distance between texture coordinates varies with the wrapping flag; if D3DRMMAP_WRAPU is set, the shortest line between (0.1, 0.1) and (0.9, 0.9) passes through (0, 0.5).

If both D3DRMMAP_WRAPU and D3DRMMAP_WRAPV are set, the texture is a torus. Because the system is closed, texture coordinates greater that 1.0 are invalid. The shortest line between (0.1, 0.1) and (0.9, 0.9) passes through (0, 0).

CONST_D3DRMMATERIALMODE

Describes the source of material information for visuals rendered with a frame.

Syntax

Enum CONST_D3DRMMATERIALMODE
  D3DRMMATERIAL_FROMMESH
  D3DRMMATERIAL_FROMPARENT
  D3DRMMATERIAL_FROMFRAME
End Enum

Values

D3DRMMATERIAL_FROMMESH
Material information is retrieved from the visual object (the mesh) itself. This is the default setting.
D3DRMMATERIAL_FROMPARENT
Material information, along with color or texture information, is inherited from the parent frame.
D3DRMMATERIAL_FROMFRAME
Material information is retrieved from the frame, overriding any previous material information that the visual object might have possessed.

See Also

Direct3DRMFrame3.GetMaterialMode, Direct3DRMFrame3.SetMaterialMode

CONST_D3DRMMATERIALOVERRIDEFLAGS

Sets specific material attributes.

Syntax

Enum CONST_D3DRMMATERIALOVERRIDEFLAGS
  D3DRMMATERIALOVERRIDE_DIFFUSE_ALPHAONLY     = 1
  D3DRMMATERIALOVERRIDE_DIFFUSE_RGBONLY       = 2
  D3DRMMATERIALOVERRIDE_DIFFUSE               = 3
  D3DRMMATERIALOVERRIDE_AMBIENT               = 4
  D3DRMMATERIALOVERRIDE_EMISSIVE              = 8
  D3DRMMATERIALOVERRIDE_SPECULAR              = 16 (&H10)
  D3DRMMATERIALOVERRIDE_POWER                 = 32 (&H20)
  D3DRMMATERIALOVERRIDE_TEXTURE               = 64 (&H40)
  D3DRMMATERIALOVERRIDE_DIFFUSE_ALPHAMULTIPLY = 128 (&H80)
  D3DRMMATERIALOVERRIDE_ALL                   = 255 (&HFF)
End Enum

Values

D3DRMMATERIALOVERRIDE_DIFFUSE_ALPHAONLY
Override the diffuse alpha value of the material only.
D3DRMMATERIALOVERRIDE_DIFFUSE_RGBONLY
Override the diffuse RGB values of the material only.
D3DRMMATERIALOVERRIDE_DIFFUSE
Override the diffuse property of the material.
D3DRMMATERIALOVERRIDE_AMBIENT
Override the ambient property of the material.
D3DRMMATERIALOVERRIDE_EMISSIVE
Override the emissive property of the material.
D3DRMMATERIALOVERRIDE_SPECULAR
Override the specular property of the material.
D3DRMMATERIALOVERRIDE_POWER
Override the specular power property of the material.
D3DRMMATERIALOVERRIDE_TEXTURE
Override the texture property of the material.
D3DRMMATERIALOVERRIDE_DIFFUSE_ALPHAMULTIPLY
Override the diffuse alpha multiply property of the material.
D3DRMMATERIALOVERRIDE_ALL
Override all properties of the material.

CONST_D3DRMMESHBUILDERAGEFLAGS

Indicates the the aging options for the meshbuilder. The default value is zero, which indicates that the meshbuilder ages normally (that is, any change to the meshbuilder causes aging).

Syntax

Enum CONST_D3DRMMESHBUILDERAGEFLAGS
  D3DRMMESHBUILDERAGE_GEOMETRY  = 1
  D3DRMMESHBUILDERAGE_MATERIALS = 2 
  D3DRMMESHBUILDERAGE_TEXTURES  = 4
End Enum

Values

D3DRMMESHBUILDERAGE_GEOMETRY
The meshbuilder ages whenever the mesh geometry is changed (for example, addition of vertices, faces, or another meshbuilder).
D3DRMMESHBUILDERAGE_MATERIALS
The meshbuilder ages whenever a material-related property of the mesh changes, or when faces or another mesh are added.
D3DRMMESHBUILDERAGE_TEXTURES
The meshbuilder ages whenever a texture-related property of the mesh changes, or when faces or another mesh are added.

CONST_D3DRMMESHBUILDERENABLEFLAGS

Indicates whether rendering and picking are enabled.

Syntax

Enum CONST_D3DRMMESHBUILDERENABLEFLAGS 
  D3DRMMESHBUILDER_RENDERENABLE = 1
  D3DRMMESHBUILDER_PICKENABLE   = 2
End Enum

Values

D3DRMMESHBUILDER_RENDERENABLE
Rendering is enabled on the current object. This setting is the default.
D3DRMMESHBUILDER_PICKENABLE
Picking is enabled on the current object. This setting is the default.

CONST_D3DRMPALETTEFLAGS

Defines how a color can be used. When creating a palette through Microsoft® DirectDraw® and using it in Direct3D Retained Mode, you can set the palette flags for a palette entry and mark whether this entry can be changed by Retained Mode.

Syntax

Enum CONST_D3DRMPALETTEFLAGS
  D3DRMPALETTE_FREE
  D3DRMPALETTE_READONLY
  D3DRMPALETTE_RESERVED
End Enum

Values

D3DRMPALETTE_FREE
Renderer can use this entry freely.
D3DRMPALETTE_READONLY
Fixed but can be used by renderer.
D3DRMPALETTE_RESERVED
Cannot be used by renderer.

CONST_D3DRMPARENTINGFLAGS

Defines which Direct3DRMMeshBuilder3 object to retrieve.

Syntax

Enum CONST_D3DRMPARENTINGFLAGS
  D3DRMMESHBUILDER_DIRECTPARENT = 1
  D3DRMMESHBUILDER_ROOTMESH     = 2
End Enum

Values

D3DRMMESHBUILDER_DIRECTPARENT
Retrieve the direct parent of the current Direct3DRMMeshBuilder3 object.
D3DRMMESHBUILDER_ROOTMESH
Retrieve the final parent (the parent which itself has no parents) of the current Direct3DRMMeshBuilder3 object.

CONST_D3DRMPMESHEVENTFLAGS

Used by Direct3DRMProgressiveMesh.RegisterEvents either to signal when the base mesh has been downloaded, or to signal when all data has been downloaded.

Syntax

Enum CONST_D3DRMPMESHEVENTFLAGS
  D3DRMPMESHEVENT_BASEMESH = 1
  D3DRMPMESHEVENT_COMPLETE = 2
End Enum

Values

D3DRMPMESHEVENT_BASEMESH
The event is signaled when the base mesh has been downloaded.
D3DRMPMESHEVENT_COMPLETE
The event is signaled when all data has been downloaded.

CONST_D3DRMPMESHSTATUSFLAGS

Defines the state of the mesh as returned in the Direct3DRMProgressiveMesh.GetLoadStatus method.

Syntax

Enum CONST_D3DRMPMESHSTATUSFLAGS
  D3DRMPMESHSTATUS_VALID            = 1
  D3DRMPMESHSTATUS_INTERRUPTED      = 2
  D3DRMPMESHSTATUS_BASEMESHCOMPLETE = 4
  D3DRMPMESHSTATUS_COMPLETE         = 8
  D3DRMPMESHSTATUS_RENDERABLE       = 16 (&H10)
End Enum

Values

D3DRMPMESHSTATUS_VALID
Data is not corrupt.
D3DRMPMESHSTATUS_INTERRUPTED
Download was interrupted.
D3DRMPMESHSTATUS_BASEMESHCOMPLETE
Base mesh has been downloaded.
D3DRMPMESHSTATUS_COMPLETE
Load is complete.
D3DRMPMESHSTATUS_RENDERABLE
Base mesh has been downloaded and the data is not corrupt.

CONST_D3DRMPROJECTIONTYPE

Defines the type of projection used in a Direct3DRMViewport object. The Direct3DRMViewport2.GetProjection and Direct3DRMViewport2.SetProjection methods use this enumerated type. The right-hand types enable right-handed projection.

Note Use Direct3DRM3.SetOptions to specify right-handed geometry.

The axes of the camera (see Direct3DRMFrame3.SetAxes) are used in both left-handed and right-handed projection to determine what direction the camera is facing.

Syntax

Enum CONST_D3DRMPROJECTIONTYPE
  D3DRMPROJECT_PERSPECTIVE
  D3DRMPROJECT_ORTHOGRAPHIC
  D3DRMPROJECT_RIGHTHANDPERSPECTIVE
  D3DRMPROJECT_RIGHTHANDORTHOGRAPHIC
End Enum

Values

D3DRMPROJECT_PERSPECTIVE
Projection is perspective and left-handed.
D3DRMPROJECT_ORTHOGRAPHIC
Projection is orthographic and left-handed.
D3DRMPROJECT_RIGHTHANDPERSPECTIVE
Projection is perspective and right-handed.
D3DRMPROJECT_RIGHTHANDORTHOGRAPHIC
Projection is orthographic and right-handed.

CONST_D3DRMRAYPICKFLAGS

Specifies values used by the DirectDRMFrame3.RayPick method to calculate the intersection between any visuals and a specified ray.

Syntax

Enum CONST_D3DRMRAYPICKFLAGS
  D3DRMRAYPICK_ONLYBOUNDINGBOXES       = 1
  D3DRMRAYPICK_IGNOREFURTHERPRIMITIVES = 2
  D3DRMRAYPICK_INTERPOLATEUV           = 4
  D3DRMRAYPICK_INTERPOLATECOLOR        = 8
  D3DRMRAYPICK_INTERPOLATENORMAL       = 16 (&H10)
End Enum

Values

Optimization flags:

D3DRMRAYPICK_ONLYBOUNDINGBOXES
Only intersections with bounding boxes of the visuals in the hierarchy are calculated. Does not check for exact face intersections.
D3DRMRAYPICK_IGNOREFURTHERPRIMITIVES
Only intersections closest to the visual that intersects the ray are calculated. Ignores visuals farther away than the closest one found in a search.

Interpolation flags:

D3DRMRAYPICK_INTERPOLATEUV
Interpolate texture coordinates.
D3DRMRAYPICK_INTERPOLATECOLOR
Interpolate color.
D3DRMRAYPICK_INTERPOLATENORMAL
Interpolate normal.

CONST_D3DRMRENDERMODEFLAGS

Specifies the transparency mode for transparent objects.

Syntax

Enum CONST_D3DRMRENDERMODEFLAGS
  D3DRMRENDERMODE_BLENDEDTRANSPARENCY      = 1
  D3DRMRENDERMODE_SORTEDTRANSPARENCY       = 2
  D3DRMRENDERMODE_LIGHTINMODELSPACE        = 8
  D3DRMRENDERMODE_VIEWDEPENDENTSPECULAR    = 16 (&H10)
  D3DRMRENDERMODE_DISABLESORTEDALPHAZWRITE = 32 (&H20)
End Enum

Values

D3DRMRENDERMODE_BLENDEDTRANSPARENCY
Sets the transparency mode to alpha blending. Blended transparency combines two images by adding their color values at each pixel.
D3DRMRENDERMODE_SORTEDTRANSPARENCY
Sets the transparency mode so that transparent polygons in the scene are buffered, sorted, and rendered in a second pass. This flag has no effect if the D3DRMRENDERMODE_BLENDEDTRANSPARENCY flag is not also set. Transparent polygons in external visuals or user visuals are not sorted. Only native Retained Mode visuals (such as D3DRMMesh objects and D3DRMMeshBuilder objects) are sorted.
D3DRMRENDERMODE_LIGHTINMODELSPACE
Sets the transparency mode so that light is rendered in model space.
D3DRMRENDERMODE_VIEWDEPENDENTSPECULAR
Sets the transparency mode to view dependent specular.
D3DRMRENDERMODE_DISABLESORTEDALPHAZWRITE
Sets the transparency mode so that sorting is disabled.

Remarks

If the D3DRMRENDERMODE_BLENDEDTRANSPARENCY and D3DRMRENDERMODE_SORTEDTRANSPARENCY flags are set together, it ensures that when two transparent objects are rendered one on top of the other, the image will blend in the correct order to ensure the right visual result.

The D3DRMRENDERMODE_SORTEDTRANSPARENCY flag turns on per-triangle back-to-front sorting of alpha polygons.

The D3DRMRENDERMODE_BLENDEDTRANSPARENCY flag turns on true alpha blending as opposed to stippled alpha. In true alpha blending, the pixels of overlapping triangles are blended together. In stippled alpha, some pixels from the triangle in front are not drawn, revealing the triangle below. When doing stippled alpha, it is not necessary to sort triangles because the result is the same no matter what order triangles are rendered.

CONST_D3DRMRENDERQUALITY

Defines quality options set by the Direct3DRMDevice3.SetQuality, Direct3DRMMeshBuilder3.SetQuality, and Direct3DRMProgressiveMesh.SetQuality methods. Additionally, CONST_D3DRMRENDERQUALITY defines the fill mode, the light mode, and the shade mode.

Syntax

Enum CONST_D3DRMRENDERQUALITY
  D3DRMFILL_POINTS      = 0
  D3DRMFILL_WIREFRAME   = 64(&H40)
  D3DRMFILL_SOLID       = 128(&H80)
  D3DRMFILL_MASK        = 448(&H1C0)
  D3DRMFILL_MAX         = 512(&H200)

  D3DRMLIGHT_OFF        = 0
  D3DRMLIGHT_ON         = 8
  D3DRMLIGHT_MASK       = 56(&H38)
  D3DRMLIGHT_MAX        = 64(&H40)

  D3DRMRENDER_WIREFRAME = 64  (&H40)
  D3DRMRENDER_UNLITFLAT = 128 (&H80)
  D3DRMRENDER_FLAT      = 136 (&H88)
  D3DRMRENDER_GOURAUD   = 137 (&H89)
  D3DRMRENDER_PHONG     = 138 (&H8A)

  D3DRMSHADE_FLAT       = 0
  D3DRMSHADE_GOURAUD    = 1
  D3DRMSHADE_PHONG      = 2
  D3DRMSHADE_MASK       = 7
  D3DRMSHADE_MAX        = 8
End Enum

Values

D3DRMFILL_POINTS
Fill points only; minimum fill mode.
D3DRMFILL_WIREFRAME
Fill wire frames.
D3DRMFILL_SOLID
Fill solid objects.
D3DRMFILL_MASK
Fill using a mask.
D3DRMFILL_MAX
Maximum value for fill mode.
D3DRMLIGHT_OFF
Lighting is off.
D3DRMLIGHT_ON
Lighting is on.
D3DRMLIGHT_MASK
Lighting uses a mask.
D3DRMLIGHT_MAX
Maximum lighting mode.
D3DRMRENDER_WIREFRAME
Specifies wire-frame fill mode.
D3DRMRENDER_UNLITFLAT
Specifies flat shading and lights off.
D3DRMRENDER_FLAT
Specifies flat shading, lights on, and solid fill.
D3DRMRENDER_GOURAUD
Specifies Gouraud shading, lights on, and solid fill.
D3DRMRENDER_PHONG
Not implemented, defaults to Gouraud shading.
D3DRMSHADE_FLAT
Render object with flat shading. This is the default setting.
D3DRMSHADE_GOURAUD
Render object with Gouraud shading.
D3DRMSHADE_PHONG
Render object with Phong shading.
D3DRMSHADE_MASK
Render object with mask shading.
D3DRMSHADE_MAX
Render object with maximum shading.

Remarks

The rendering quality is the maximum quality at which rendering can take place on the rendering surface of that device.

An object's quality has three components: shade mode (flat or Gouraud), lighting type (on or off), and fill mode (point, wire frame, or solid).

CONST_D3DRMSAVEFLAGS

Defines save options for the Direct3DRMMeshBuilder3.Save method.

Syntax

Enum CONST_D3DRMSAVEFLAGS
  D3DRMXOFSAVE_NORMALS            = 1
  D3DRMXOFSAVE_TEXTURECOORDINATES = 2
  D3DRMXOFSAVE_MATERIALS          = 4
  D3DRMXOFSAVE_TEXTURENAMES       = 8
  D3DRMXOFSAVE_ALL                = 15
  D3DRMXOFSAVE_TEMPLATES          = 16 (&H10)
  D3DRMXOFSAVE_TEXTURETOPOLOGY    = 32 (&H20)
End Enum

Values

D3DRMXOFSAVE_NORMALS
Save normal vectors in addition to the basic geometry.
D3DRMXOFSAVE_TEXTURECOORDINATES
Save texture coordinates in addition to the basic geometry.
D3DRMXOFSAVE_MATERIALS
Save materials in addition to the basic geometry.
D3DRMXOFSAVE_TEXTURENAMES
Save texture names in addition to the basic geometry.
D3DRMXOFSAVE_ALL
Save normal vectors, texture coordinates, materials, and texture names in addition to the basic geometry.
D3DRMXOFSAVE_TEMPLATES
Save templates with the file. By default, templates are not saved.
D3DRMSAVE_TEXTURETOPOLOGY
Save the mesh's face wrap values (set by Direct3DRMMeshBuilder3.SetTextureTopology or Direct3DRMFace2.SetTextureTopology). This flag is not included when you pass D3DRMXOFSAVE_ALL to the Save method. You should pass D3DRMSAVE_TEXTURETOPOLOGY and D3DRMXOFSAVE_ALL if you want to save everything. You only need to pass this flag when you have called Direct3DRMMeshBuilder3.SetTextureTopology or Direct3DRMFace2.SetTextureTopology and want to preserve the values you set.

CONST_D3DRMSORTMODE

Describes how child frames are sorted in a scene.

Syntax

Enum CONST_D3DRMSORTMODE
  D3DRMSORT_FROMPARENT
  D3DRMSORT_NONE
  D3DRMSORT_FRONTTOBACK
  D3DRMSORT_BACKTOFRONT
End Enum

Values

D3DRMSORT_FROMPARENT
Child frames inherit the sorting order of their parents. This is the default setting.
D3DRMSORT_NONE
Child frames are not sorted.
D3DRMSORT_FRONTTOBACK
Child frames are sorted front-to-back.
D3DRMSORT_BACKTOFRONT
Child frames are sorted back-to-front.

See Also

Direct3DRMFrame3.GetSortMode, Direct3DRMFrame3.SetSortMode

CONST_D3DRMSTATECHANGEFLAGS

Sets options for state changes.

Syntax

Enum CONST_D3DRMSTATECHANGEFLAGS
  D3DRMSTATECHANGE_UPDATEONLY  = 1
  D3DRMSTATECHANGE_VOLATILE    = 2
  D3DRMSTATECHANGE_NONVOLATILE = 4
  D3DRMSTATECHANGE_RENDER      = 32 (&H20)
  D3DRMSTATECHANGE_LIGHT       = 64 (&H40)
End Enum

Values

D3DRMSTATECHANGE_UPDATEONLY
Flag indicating a state change.
D3DRMSTATECHANGE_VOLATILE
Flag indicating a state change.
D3DRMSTATECHANGE_NONVOLATILE
Flag indicating a state change.
D3DRMSTATECHANGE_RENDER
Flag indicating a state change.
D3DRMSTATECHANGE_LIGHT
Flag indicating a state change.

CONST_D3DRMTEXTURECACHEFLAGS

Controls the texture-management system with respect to the current texture.

Syntax

Enum CONST_D3DRMTEXTURECACHEFLAGS
  D3DRMTEXTURE_FORCERESIDENT         = 1
  D3DRMTEXTURE_STATIC                = 2
  D3DRMTEXTURE_DOWNSAMPLEPOINT       = 4
  D3DRMTEXTURE_DOWNSAMPLEBILINEAR    = 8
  D3DRMTEXTURE_DOWNSAMPLEREDUCEDEPTH = 16 (&H10)
  D3DRMTEXTURE_DOWNSAMPLENONE        = 32 (&H20)
End Enum

Values

D3DRMTEXTURE_FORCERESIDENT
Indicates that the texture should be kept in video memory (in a hardware scenario).
D3DRMTEXTURE_STATIC
Indicates that the texture will not change.
D3DRMTEXTURE_DOWNSAMPLEPOINT
Indicates that when the texture is downsampled, point filtering should be used.
D3DRMTEXTURE_DOWNSAMPLEBILINEAR
Indicates that when the texture is downsampled, bilinear filtering should be used.
D3DRMTEXTURE_DOWNSAMPLEREDUCEDEPTH
Indicates that when the texture is downsampled, the pixel depth should be reduced. If no lower bit depth is available, the size of the texture will be reduced.
D3DRMTEXTURE_DOWNSAMPLENONE
Indicates that the texture should never be downsampled. The default value is D3DRMTEXTURE_DOWNSAMPLEPOINT.

CONST_D3DRMTEXTURECHANGEDFLAGS

Indicates changes in the texture.

Syntax

Enum CONST_D3DRMTEXTURECHANGEDFLAGS
  D3DRMTEXTURE_CHANGEDPIXELS  = 64 (&H40)
  D3DRMTEXTURE_CHANGEDPALETTE = 128 (&H80)
  D3DRMTEXTURE_INVALIDATEONLY = 256 (&H100)
End Enum

Values

D3DRMTEXTURE_CHANGEDPIXELS
Indicates that the pixel values have changed.
D3DRMTEXTURE_CHANGEDPALETTE
Indicates that the palette has changed.
D3DRMTEXTURE_INVALIDATEONLY
Indicates that the texture regions are invalidated but do not need to be updated by the application.

CONST_D3DRMTEXTUREQUALITY

Describes how a device interpolates between pixels in a texture and pixels in a viewport. This enumerated type is used by the Direct3DRMDevice3.SetTextureQuality and Direct3DRMDevice3.GetTextureQuality methods.

Syntax

Enum CONST_D3DRMTEXTUREQUALITY
  D3DRMTEXTURE_NEAREST
  D3DRMTEXTURE_LINEAR
  D3DRMTEXTURE_MIPNEAREST
  D3DRMTEXTURE_MIPLINEAR
  D3DRMTEXTURE_LINEARMIPNEAREST
  D3DRMTEXTURE_LINEARMIPLINEAR
End Enum

Values

D3DRMTEXTURE_NEAREST
Choose the nearest pixel in the texture. Does not support mipmapping.
D3DRMTEXTURE_LINEAR
Linearly interpolate the four nearest pixels. Does not support mipmapping.
D3DRMTEXTURE_MIPNEAREST
Similar to D3DRMTEXTURE_NEAREST, but uses the appropriate mipmap instead of the texture. Pixel sampling and mipmapping are both nearest.
D3DRMTEXTURE_MIPLINEAR
Similar to D3DRMTEXTURE_LINEAR, but uses the appropriate mipmap instead of the texture. Pixel sampling is linear; mipmapping is nearest.
D3DRMTEXTURE_LINEARMIPNEAREST
Similar to D3DRMTEXTURE_MIPNEAREST, but interpolates between the two nearest mipmaps. Pixel sampling is nearest; mipmapping is linear.
D3DRMTEXTURE_LINEARMIPLINEAR
Similar to D3DRMTEXTURE_MIPLINEAR, but interpolates between the two nearest mipmaps. Both pixel sampling and mipmapping are linear.

CONST_D3DRMTRAVERALFLAGS

Indicates the traversal status of the current frame.

Syntax

Enum CONST_D3DRMTRAVERALFLAGS
  D3DRMFRAME_RENDERENABLE        = 1
  D3DRMFRAME_PICKENABLE          = 2
  D3DRMFRAME_RENDERANDPICKENABLE = 3
End Enum

Values

D3DRMFRAME_RENDERENABLE
Render this frame or any children of this frame.
D3DRMFRAME_PICKENABLE
Pick any visuals in this frame or any children of this frame.
D3DRMFRAME_RENDERANDPICKENABLE
Render and pick any visuals in this frame or any children of this frame.

CONST_D3DRMVIEWPORTCLEARFLAGS

Sets the clear options.

Syntax

Enum CONST_D3DRMVIEWPORTCLEARFLAGS
  D3DRMCLEAR_TARGET     = 1
  D3DRMCLEAR_ZBUFFER    = 2
  D3DRMCLEAR_DIRTYRECTS = 4
  D3DRMCLEAR_ALL        = 7
End Enum

Values

D3DRMCLEAR_TARGET
Clear only the destination rendering surface.
D3DRMCLEAR_ZBUFFER
Clear only the z-buffer surface.
D3DRMCLEAR_DIRTYRECTS
Clear only the dirty rectangle list.
D3DRMCLEAR_ALL
Clear the target, z-buffer, and dirty rectangle list. This flag is equivalent to using Direct3DRMViewport.Clear.

CONST_D3DRMWIREFRAMEFLAGS

Set the wire frame options.

Syntax

Enum CONST_D3DRMWIREFRAMEFLAGS
  D3DRMWIREFRAME_CULL       = 1
  D3DRMWIREFRAME_HIDDENLINE = 2
End Enum

Values

D3DRMWIREFRAME_CULL
Back-facing faces are not drawn.
D3DRMWIREFRAME_HIDDENLINE
Wire-frame-rendered lines are obscured by nearer objects.

CONST_D3DRMWRAPTYPE

Defines the type of Direct3DRMWrap object created by the Direct3DRM3.CreateWrap method.

Syntax

Enum CONST_D3DRMWRAPTYPE
  D3DRMWRAP_FLAT
  D3DRMWRAP_CYLINDER
  D3DRMWRAP_SPHERE
  D3DRMWRAP_CHROME
End Enum

Values

D3DRMWRAP_FLAT
Wrap is flat.
D3DRMWRAP_CYLINDER
Wrap is cylindrical.
D3DRMWRAP_SPHERE
Wrap is spherical.
D3DRMWRAP_CHROME
Wrap allocates texture coordinates so that the texture appears to be reflected onto the objects.

CONST_D3DRMXOFFORMAT

Defines the file type used by the Direct3DRMMeshBuilder3.Save method.

Syntax

Enum CONST_D3DRMXOFFORMAT
  D3DRMXOF_BINARY
  D3DRMXOF_COMPRESSED
  D3DRMXOF_TEXT
End Enum

Values

D3DRMXOF_BINARY
File is in binary format. This is the default setting.
D3DRMXOF_COMPRESSED
Not currently supported.
D3DRMXOF_TEXT
File is in text format.

Remarks

The D3DRMXOF_BINARY and D3DRMXOF_TEXT settings are mutually exclusive.

CONST_D3DRMZBUFFERMODE

Indicates whether z-buffering is enabled.

Syntax

Enum CONST_D3DRMZBUFFERMODE
  D3DRMZBUFFER_FROMPARENT
  D3DRMZBUFFER_ENABLE
  D3DRMZBUFFER_DISABLE
End Enum

Values

D3DRMZBUFFER_FROMPARENT
Frame inherits the z-buffer setting from its parent frame. This is the default setting.
D3DRMZBUFFER_ENABLE
Z-buffering is enabled.
D3DRMZBUFFER_DISABLE
Z-buffering is disabled.

See Also

Direct3DRMFrame3.GetZbufferMode, Direct3DRMFrame3.SetZbufferMode


Top of Page Top of Page
© 2000 Microsoft and/or its suppliers. All rights reserved. Terms of Use.