D3DMPROFILE (Windows Embedded CE 6.0)
1/6/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.- 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.
- World, view, and projection transformations.
- Correct drawing of all primitive types according to Direct3D Mobile Rasterization Rules.
- The device must support both direct and index vertex buffer accesses.
- Both 16 and 32-bit indexes.
- Flat shading and all fill modes.
- Scene presentation via swap effect.
- The creation of, and rasterization to, an off-screen back buffer.
- Hidden surface removal. Its depth buffer must support the operators for > (less than)' or -> (less than or equal to) operators.
- The creation and locking of image surfaces, vertex buffers, and index buffers.
- Clearing the back buffer and depth buffer.
- The viewport transformation with clipping to the viewport.
- Either vertex fog or pixel fog.
- The 2-D operations for the IDirect3DMobileDevice::ColorFill and IDirect3DMobileDevice::StretchRect methods.
- The D3DMPRESENT_INTERVAL_ONE presentation parameter.
- 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.
- 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.
- Scissoring to the viewport. For more information, see Clipping.
- 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 |
See Also
Reference
Direct3D Mobile Enumerations
IDirect3DMobileDevice::ColorFill
IDirect3DMobileDevice::StretchRect
D3DMPMISCCAPS Values
D3DMDEVCAPS Values