D3DMPROFILE

A version of this page is also available for

Windows Embedded CE 6.0 R3

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::ColorFill and IDirect3DMobileDevice::StretchRect methods.
    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

Reference

Direct3D Mobile Enumerations
IDirect3DMobileDevice::ColorFill
IDirect3DMobileDevice::StretchRect
D3DMPMISCCAPS Values
D3DMDEVCAPS Values