Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This enumeration identifies all of the Direct3D Mobile profiles defined by Microsoft. All Direct3D Mobile drivers must support the base profile, D3DMPROFILE_BASE.

Syntax

typedef enum _D3DMPROFILE {
  D3DMPROFILE_BASE		= 0,
  D3DMPROFILE_FORCE_DWORD = 0x7fffffff,
} D3DMPROFILE;

Elements

D3DMPROFILE_BASE

Indicates the most fundamental Direct3D Mobile device profile. The following list identifies the capabilities that a device must support to meet the requirements for the base profile.

  1. All possible flexible vertex format (FVF) combinations. Although a device does not need to implement all features (4 texture stages, for example), it must be able to stride or access all FVF buffers.

  2. World, view, and projection transformations.

  3. Correct drawing of all primitive types according to Direct3D Mobile Rasterization Rules.

  4. The device must support both direct and index vertex buffer accesses.

  5. Both 16 and 32-bit indexes.

  6. Flat shading and all fill modes.

  7. Scene presentation via swap effect.

  8. The creation of, and rasterization to, an off-screen back buffer.

  9. Hidden surface removal. Its depth buffer must support the operators for > (less than)' or -> (less than or equal to) operators.

  10. The creation and locking of image surfaces, vertex buffers, and index buffers.

  11. Clearing the back buffer and depth buffer.

  12. The viewport transformation with clipping to the viewport.

  13. Either vertex fog or pixel fog.

  14. The 2-D operations for the IDirect3DMobileDevice::ColorFilland IDirect3DMobileDevice::StretchRectmethods.

  15. The D3DMPRESENT_INTERVAL_ONE presentation parameter.

  16. At least one of the color types RGB, xRGB, or RGBA for surfaces and textures. The type(s) supported for the surfaces and textures need not be identical.

  17. Both the culling of counterclockwise vertices (D3DMPMISCCAPS_CULLCCW) as well as the ability to not cull back faces (D3DMPMISCCAPS_CULLNONE). For more information, see D3DMPMISCCAPS Values.

  18. Scissoring to the viewport. For more information, see Clipping.

  19. Lighting. Support for specular lighting is optional and indicated by the D3DMRS_SPECULARENABLE capability bit. For more information, see D3DMDEVCAPS Values.

The following table shows the capability bits that a base profile-compliant driver must expose.

Capability Category Capability Bit

Presentation Intervals

D3DMPRESENT_INTERVAL_DEFAULT

D3DMPRESENT_INTERVAL_ONE

SurfaceCaps

D3DMSURFCAPS_SYSFRONTBUFFER or D3DMSURFCAPS_VIDFRONTBUFFER

D3DMSURFCAPS_SYSBACKBUFFER or D3DMSURFCAPS_VIDBACKBUFFER

D3DMSURFCAPS_SYSDEPTHBUFFER or D3DMSURFCAPS_VIDDEPTHBUFFER

D3DMSURFCAPS_SYSVERTEXBUFFER or D3DMSURFCAPS_VIDVERTEXBUFFER

D3DMSURFCAPS_SYSINDEXBUFFER or D3DMSURFCAPS_VIDINDEXBUFFER

D3DMSURFCAPS_SYSIMAGESURFACE or D3DMSURFCAPS_VIDIMAGESURFACE

PrimitiveMiscCaps

D3DMPMISCCAPS_CULLNONE

D3DMPMISCCAPS_CULLCCW

RasterCaps

D3DMPRASTERCAPS_WFOG or D3DMPRASTERCAPS_ZFOG

D3DMPRASTERCAPS_FOGVERTEX or D3DMPRASTERCAPS_FOGTABLE

ZCmpCaps

D3DMPCMPCAPS_NEVER

D3DMPCMPCAPS_LESS or D3DMPCMPCAPS_LESSEQUAL

D3DMPCMPCAPS_ALWAYS

BlendOpCaps

D3DMBLENDOPCAPS_ADD              

ShadeCaps

D3DMPSHADECAPS_COLORGOURAUDRGB       

VertexProcessingCaps

D3DMVTXPCAPS_DIRECTIONALLIGHTS

D3DMVTXPCAPS_POSITIONALLIGHTS

The following table shows the render state modes that a base profile-compliant driver must support.

Render State Mode

D3DMRS_SHADEMODE

D3DMSHADE_FLAT

D3DMSHADE_GOURAUD

D3DMRS_FILLMODE

D3DMFILL_POINT

D3DMFILL_WIREFRAME

D3DMFILL_SOLID

D3DMRS_ZWRITEENABLE

TRUE / FALSE

D3DMRS_LASTPIXEL

TRUE / FALSE

D3DMRS_CULLMODE

D3DMCULL_NONE

D3DMCULL_CCW

D3DMRS_ZFUNC

D3DMCMP_NEVER

D3DMCMP_ALWAYS

D3DMCMP_LESS or D3DMCMP_LESSEQUAL

D3DMRS_FOGENABLE

TRUE / FALSE

D3DMRS_FOGCOLOR

D3DMCOLORVALUE

D3DMRS_FOGTABLEMODE or D3DMRS_FOGVERTEXMODE

D3DMFOG_NONE

D3DMFOG_EXP

D3DMFOG_EXP2

D3DMFOG_LINEAR

D3DMRS_FOGSTART

D3DMVALUE

D3DMRS_FOGEND

D3DMVALUE

D3DMRS_FOGDENSITY

D3DMVALUE

D3DMRS_CLIPPING

TRUE / FALSE

D3DMRS_LIGHTING

TRUE / FALSE

D3DMRS_AMBIENT

D3DMCOLOR

D3DMRS_COLORVERTEX

TRUE / FALSE

D3DMRS_DIFFUSEMATERIALSOURCE

D3DMMCS_MATERIAL

D3DMMCS_COLOR1

D3DMRS_AMBIENTMATERIALSOURCE

D3DMMCS_MATERIAL

D3DMMCS_COLOR1

D3DMRS_ZENABLE

D3DMZB_FALSE

D3DMZB_TRUE or D3DMZB_USEW

The following list shows the the render target formats that base profile-compliant drivers must support. Image surfaces and texture target surfaces (if supported) must support at least one of the surface format types in this list.

  • D3DMFMT_A8R8G8B8

  • D3DMFMT_R5G6B5

  • D3DMFMT_X1R5G5B5

  • D3DMFMT_X8R8G8B8

D3DMPROFILE_FORCE_DWORD

Forces the compiler to interpret the enumeration as a ULONG value. This value is not used directly in Direct3D Mobile programming.

Requirements

Header d3dmtypes.h
Windows Embedded CE Windows CE 5.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also