D3DMPROFILE (Windows CE 5.0)
This enumeration identifies all of the Direct3D Mobile profiles defined by Microsoft. All Direct3D Mobile drivers must support the base profile, D3DMPROFILE_BASE.
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
OS Versions: Windows CE 5.0 and later.
Header: D3dmtypes.h.
See Also
Direct3D Mobile Enumerations | IDirect3DMobileDevice::ColorFill | IDirect3DMobileDevice::StretchRect | D3DMPMISCCAPS Values | D3DMDEVCAPS Values
Send Feedback on this topic to the authors