The Active Network
ActiveWin Active Network | AskAW | Reviews | Interviews | FAQ's | Mailing List | Forum


D3DX 8.0b Readme

This release of the D3DX library is a bug fix release of the version of the library in DirectX 8.0.  Since D3DX is a static library you will need to replace your local copy and recompile your application to gain access to the fixes.

Bug Fixes

The following lists some of bugs have been fixed in this release.  They are separated out by the functionality that they affect.


        D3DXCreateTextureFromFileEx can now load certain16-bit BMPs generated by IE 5.5
Add unicode support to D3DXCreateText functions

        All D3DX functions use D3DLOCK_NOSYSLOCK when locking resource 


        D3DXCreateEffectFromFile(A or W) now returns D3DXERR_INVALIDDATA for errors

        Effect compiler now handles vector literals correctly

        Setting a shader constant to a matrix in an effect, now performs transpose

        Setting NULL vertex and pixel shaders in an effect are now allowed



        ID3DXMesh::GenerateAdjacency() now works with non-zero epsilon parameter. When epsilon is non-zero, all vertices whose distance is less than epsilon share the same point representative, and are treated as collocated for adjacency generation.

        ID3DXMesh::CloneMeshFVF now fails for meshes with D3DFVF_XYZRHW

        ID3DXMesh::DrawSubset now uses hardware for 32bit drawing if available.

        Calls to ID3DXMesh::Optimize with the SHAREVB flag set will now work.

        ID3DXSkinMesh::ConvertToIndexedBlendedMesh has some bug fixes

        ID3DXSkinMesh::ConvertToBlendedMesh has some bug fixes and performance improvements

        Calling ID3DXSkinMesh::GetMaxVertexInfluences before calling any ID3DXSkinMesh::ConvertTo* calls now works.

        ID3DXSPMesh::ClonePMesh no works with 32bit meshes with more than 65,536 faces.

        D3DXSaveMesh & D3DXLoadMesh* functions now handle 3d texture coordinates correctly.

        D3DXLoadMesh*  initializes D3DMATERIAL8 correctly.

        D3DXLoadMesh* now handles duplicated entries in the VertexColors template.

        D3DXLoadMesh* functions can now return D3DXERR_LOADEDMESHASNODATA which indicates that a empty mesh template was found in the .X file

        D3DXCleanMesh works correctly with multi-attribute meshes

        D3DXIntersectMesh now handles 32 bit meshes.

        Effect & X file in text format now works if the (Windows) decimal separator isn't a point.



        Box filter now handles odd sized source surfaces.



        Many improvements and bug-fixes to the SkinnedMesh sample

        SkinnedMesh samples no longer ignores paletted skinning caps.


Files Included


o       D3dx8d.dll

o       D3dx8mesh.h

o       D3dx8.lib

o       D3dx8d.lib

o       D3dx8dt.lib

o       Skinnedmesh.exe

o       Skinnedmesh.cpp

o       Skinnedmesh.h

o       Mload.cpp

o       Mdraw.cpp

Installation Instructions

The following steps to install this release of D3DX.


1)      DirectX 8.0 SDK should be installed.  If you do not currently have it go to to download it. The following instructions assume the location of the SDK install is c:\mssdk. Replace that with the correct path of the DirectX 8.0 SDK.

2)      Extract this zip file into a temp directory (say c:\temp).

3)      Rename d3dx8.lib, d3dx8d.lib d3dx8dt.lib in c:\mssdk\lib to d3dx8.lib.old d3dx8d.lib.old d3dx8dt.lib.old respectively. This step may be skipped if you do not want to keep backups of original libs (not recommended)

4)      Copy c:\temp\d3dx8mesh.h to c:\mssdk\include

5)      Copy d3dx8.lib, d3dx8d.lib and d3dx8dt.lib from c:\temp to c:\mssdk\lib.

6)      Copy skinnedmesh.cpp, skinnedmesh.h, mload.cpp and mdraw.cpp from c:\temp to c:\mssdk\samples\multimedia\direct3d\skinnedmesh

7)      Copy c:\temp\skinnedmesh.exe to c:\mssdk\samples\multimedia\direct3d\bin

8)      For Win9x, assuming c:\windows is your OS directory, copy c:\temp\d3dx8d.dll to c:\windows\system. For Win2K, assuming c:\winnt is your OS directory, copy c:\temp\d3dx8d.dll to c:\winnt\system32

9)      Rebuild all Direct3D samples

10)  Rebuild your apps that depend on D3DX8

Library replacements

The files that are replaced should match the following sizes.


DirectX 8.0/8.0a (dated 10/20/2000)

DirectX 8.0b (dated 3/14/2001)


1,545,750 bytes

1,597,942 bytes


     40,142 bytes

     40,142 bytes


1,823,620 bytes

1,869,126 bytes


   504,320 bytes

   522,752 bytes



  *   *