DirectX 9 Bug List
This page lists known bugs in the DirectX 9 Summer Update for
Direct3D documentation and code.
Documentation
- Direct3D
- DirectX Graphics / Programming Guide / Getting Started /
Direct3D Devices / States / Render States / Antialiasing State
discusses
D3DRS_EDGEANTIALIAS , which no longer exists.
Use D3DRS_ANTIALIASEDLINEENABLE instead.
- DirectX Graphics / Programming Guide / Direct3D Rendering / Depth
Buffers / Using Z-Bias discusses the DirectX 8 render state
RS Z Bias. Refer to the documentation on
D3DRENDERSTATETYPE for the correct explanation of RS
Depth Bias and RS Slope Scale Depth Bias.
- DirectX Graphics / Reference / Direct3D / Interfaces /
IDirect3DDevice9 / CreateOffscreenPlainSurface says that using
D3DPOOL_SCRATCH is equivalent to the 8.x
CreateImageSurface method. Instead of
D3DPOOL_SCRATCH it should be
D3DPOOL_SYSTEMMEM .
- DirectX Graphics / Reference / Direct3D / Structures /
D3DPSHADERCAPS2_0 describes the
Caps member
insufficiently. The relevant flag bits in the Caps
member are listed in DirectX Graphics / Reference / Direct3D /
Constants / D3DPS20CAPS.
- D3DX
D3DXMatrixTransformation2D function prototype
declares the ScalingRotation parameter as "FLOAT
* " instead of "FLOAT ".
D3DXSHEvalSphericalLight function prototype names
the position argument "pDir " instead of
"pPos " as listed in d3dx9math.h .
- The Effect States page in the documentation is
missing the new render states associated with DirectX 9.0 graphics
(
SeparateAlphaBlendEnable , SrcBlendAlpha ,
DestBlendAlpha , etc.). All of these states can be set
from wtihin effect files by changing the render state enumeration
name to the corresponding effect state name.
- The data type listed for the
DepthBias effect file
state is incorrectly listed as int . The actual type
is float .
- X Files
- The
AnimationKey template gives an incorrect value
for the matrix keyType . A matrix key is given by a
keyType value of 4, not 3. The value 3 is not currently
used.
Managed DirectX
Microsoft.DirectX.Direct3D.Font : Calling DrawText
with DrawTextFormat.CalculateRect doesn't return the
computed rectangle to the caller since the Rectangle is
passed by value, not as an [out] parameter.
Microsoft.DirectX.Direct3D.MeshData : You cannot
set the contents of this structure after creating an instance of it.
You get a NULL reference exception.
- The
Query class doesn't function properly.
VertexFormats.ToString() incorrectly outputs
Texture0 for all FVF codes.
D3DX
- Interfaces changed in the summer update, but the IIDs did not:
IID_ID3DXBaseEffect ,
IID_ID3DXEffect ,
IID_ID3DXEffectCompiler and
IID_ID3DXFragmentLinker .
AppWizard
- The AppWizard links against the release D3DX library in the debug
configuration. Change the linker inputs to use
d3dx9dt.lib instead of d3dx9.lib for the
debug configuration.
dxutil.h generates a warning when you call
DXUtil_Trace . Adding __cdecl calling
convention to the declaration eliminates the warning. Change
VOID DXUtil_Trace( LPCTSTR strMsg, ... );
to
VOID __cdecl DXUtil_Trace( LPCTSTR strMsg, ... );
- The AppWizard explicitly excludes the
MSVCRT library
from Release builds for MFC Dialog-based application project types.
This will result in many link errors in the Release configuration when
using MFC from a DLL. To eliminate the link errors, remove
MSVCRT from the ignored libraries in the Linker property
page.
|