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.
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
· 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.
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 http://msdn.microsoft.com/directx 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
The files that are replaced should match the following sizes.