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. |
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::ColorFilland
IDirect3DMobileDevice::StretchRectmethods.
- 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
- 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.
- 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 |