Clootie graphics pages

Home | Articles | Projects | Delphi | C++Builder | TMT pascal | Links | About

News archive
2nd Half of 2004

 << Current news 1st Half of 2004 >> 
DirectX SDK 
MS DirectX SDK Microsoft released December 2004 update to DirectX 9.0 SDK, so I'm presenting Delphi / C++Builder / FreePascal versions of it.

Download updated headers, libraries and helper DLL's for: Headers for Delphi and FreePascal and helper DLL libraries can also be downloaded from SourceForge.
Just read it: Open Letter to the C++Builder Community - by Borland Staff.
I'm happy to announce next milestone in FreePascal support!
Now Delphi conversion of Samples Framework from October 2004 DirectX SDK and all samples are Freepascal compatible.
Note: there are still some bugs in initialization / finalization steps of Direct3D then samples are compiled under FreePascal. But they are only exposed then user tries to switch to fullscreen from windowed mode or vice versa (or changes device properties too much). I was unable to find out in fixed timeframe where the problem lies, so it's currently on hand of FreePascal users.
As it was mentioned some days ago one needs latest developer build of FreePascal to compile and run samples correctly. Probably I'll submit some more patches to FreePascal team for UNICODE/WideString/WideChar support in compiler but not much changes will be done in samples or framework as a result of that.

Download samples and framework for Delphi and FreePascal from this site, or download them from SourceForge.
OK, good news for FreePascal users. After mine fixes to RTL have been committed to FreePascal source tree, latest developer build of FreePascal (I've used build from 04-Dec-04) allowed me to run DirectX 9.0 SDK October 2004 examples! Sample framework (or FreePascal RTL itself) still contains some FPC related bugs, but progress is already visible!
DirectX SDK examples 
I've uploaded GetDXVer DirectX SDK sample from Miscellaneous [Misc] folder. This sample was converted some time ago, but sample was available only throw SourceForge CVS. GetDXVer is Delphi and FreePascal compatible.
Just some additions about FreePascal support.
Althrow Delphi version of Samples Framework from Summer and October 2004 DirectX SDK releases currently do not runs at all then compiled with FreePascal; previous release of Delphi DirectX SDK - Summer 2003 - compiles with FreePascal and runs just fine after that.
DirectX SDK examples 
Today I present a major update to samples section of October 2004 Delphi DirectX 9 SDK. All previously available samples and D3DFramework have been updated too.
New samples include: BasicHLSL, EmptyProject, FragmentLinker, MeshFromOBJ, ShadowMap.

BasicHLSL image FragmentLinker image

Compatibility: With new updated D3DFramework every sample can be compiled under every Delphi version supported by DirectX headers! These inclides Delphi 5, 6, 7 and newest Delphi 2005! Latest snapshots of FreePascal compiler 1.9.5 compiles framework and sample code but this code still raises AV exceptions at application start, but FreePascal support is progressing. Compiling samples in TMT pascal will not be supported.

MeshFromOBJ image ShadowMap image

PS. Both framework and samples can be downloaded from SourceForge CVS repositary.
PPS. Additional media files required by samples can be downloaded from CVS too.
DirectX SDK 
MS DirectX SDK New release of DirectX headers and libraries. This release was fully tested against Delphi2005/Win32 and uses new inline compiler feature.

  List of changes:
  • Direct3D9.pas, DXErr9.pas, DXTypes.pas
    • Borland C++ and C++Builder compatibility fixes
  • D3DX9.pas
    • fixed: Delphi2005 inline related fixes and workarounds
    • fixed: D3DXCreateFontIndirect
    • Borland C++ and C++Builder compatibility fixes
  • DirectSound.pas
    • fixed: IKsPropertySet.QuerySupport
    • fixed: DirectSoundFullDuplexCreate8
  • DirectShow9.pas - syncronized with latest headers from DSPack suite
Thanks to: Allen Drennan; Fruit, Bill M OGUS-OGES; Tamas MIKLOS for their bug reports.

PS. This Release do not contain special folder with Borland compliant headers for Delphi9 aka Delphi2005. So Delphi2005 users recommended to use JEDI compliant headers (as power users should always do :-)).

Download headers: for Delphi, FreePascal from this site, or download them from SourceForge.
DirectX SDK 
MS DirectX SDK DirectX headers and libraries updated to "October 2004 SDK Update"! There are some additional changes besides new SDK related updates.

  List of changes:
  • - updated with preliminary Delphi9 compatibility
  • Direct3D9.pas - added INLINE support for Delphi9 and FreePascal
  • D3DX9.pas
    • added experimential INLINE support for Delphi9 and FreePascal
    • changed D3DXGatherFragments, D3DXGatherFragmentsFromXXX declaration
  • DirectShow9.pas - syncronized headers from DSPack suite - currently supports Summer 2004 Update SDK
And don't forget to download helper DLL's updated to October 2004 SDK (they include various bug fixes by MS and some new functionality).
DirectX SDK 
Microsoft released new DirectX SDK Update: October 2004 (download link).
This update contains fixes to D3DX library, new samples, new features for PIX tool, updated Maya exporter.

So this means that current page containing DirectX 9 SDK Summer 2004 Update will transform to "October 2004" page. Due to this I'll put on hold some already translated samples - so they will be syncronized with new MS SDK. But for people who want to look at some examples right now I recommend to look at CVS repositary @ SourceForge - it already contains some new samples and fixes to Direct3D Sample Framework (aka D3DFramework).
DirectX SDK 
MS DirectX SDK Due to hurry, in which last release was made, it contained stupid error (referencing D3DX9File unit now integrated inside D3DX9.pas). And as I was off-line for previous two weeks I couldn’t fix it. I'm sorry for that and present new headers revision.

  List of changes:
  • - common revision for Delphi / TMT pascal / FreePascal now supplied
  • DirectShow9.pas - syncronized DirectShow headers with latest version from DSPack suite
  • DXTypes.pas, DirectMusic.pas, DirectSound.pas - modified so now only single type instance of TReferenceTime is declared in headers
Download headers: for Delphi, FreePascal from this site, or download them from SourceForge.
DirectX SDK 
MS DirectX SDK Updated Delphi/FreePascal DirectX SDK 9.0 Summer 2004 headers.

  List of changes:
  • Direct3D9.pas - C++Builder compatibility
  • D3DX9File.pas - removed complitely, as it's contents embedded in D3DX9.pas
  • D3DX9.pas
    • C++Builder compatibility
    • embedded D3DX9File.pas
    • Fixed: D3DXPlaneTransform, Catmull-rom functions
  • D3DX8.pas
    • Fixed: D3DXPlaneTransform, Catmull-rom functions
  • DirectInput.pas
    • Fixed: DIRECT_INPUT_6 define handling
  • DxDiag.pas - new header file added
DirectX SDK examples 
Updated Delphi Direct3D Sample Framework:
  • Fixed bug with single letter application name displayed in window caption;
  • Worked around Delphi bug with WideFormat routines for "%.02f" (used in FPS counter)
  • Streamlined FreePascal paths after testing with current snapshot of 1.9.5 compiler. Current version still has UNICODE related bugs, so samples compiled with it fail to run. Note: now I can definatly state that FreePascal support of D3DFramework will NOT be realized for compiler 1.9.4 or less (but headers are still compiling under 1.9.2 just fine).
DirectX SDK 
Delphi DirectX SDK updates:
DirectX SDK examples 
After releasing DirectX headers for updated SDK, I'm providing to your pleasure new "rewritten from scratch" Direct3D Samples framework and couple of samples, showing it's features!

New D3DFramework hase some new very nice features but also some things I don't like about it. Most great and stunning feature is added 3D accelerated GUI working in windowed and fullscreen mode! It's even include IME capable edit controls! As new framework is fully UNICODE based for string handling - localization of Direct3D application will be easy to any written language!

Blobs image CustomUI image
Above you can see pictures of samples I've used to test new D3DFramework: Blobs and CustomUI. For most of you more interesting will be the CustomIU sample showing GUI capabilities of new framework. Better quality screenshot of CustomUI can be viewed under this link.

Compatibility: Currently D3DFramework and samples compiles and runs just fine under Delphi6 and Delphi7. Delphi5 compatibiliy is planned, but time when it will be out depends on your feedback. If I recieve enougth requests in mine mail box I'll speed it up. FreePascal compiler 1.9.2 [and up] compiles framework and sample code just fine but contains too many bugs in compiler and RTL in UNICODE/WideString handling so samples fail at runtime. So officially supported FreePascal version probably will be released for updated compiler only. Compiling samples in TMT pascal will not be supported.

PS. Both framework and samples can be downloaded from SourceForge CVS repositary.
PPS. Additional media files required by samples can be downloaded from CVS too.
DirectX SDK 
MS DirectX SDK
I'm proud to announce the release of DirectX SDK 9.0 Summer 2004 Update for Borland Delphi and FreePascal.

With this SDK release MS made updates to Direct3D9 and D3DX9.

Supported versions:
Delphi - from 5 to 7 (version 4 should be Ok too, just untested);
FreePascal 1.9.2 and up (also known as FreePascal 2.0 betas).

As always you can find distinct (Borland compliant) headers for different Delphi versions along with general multi-version JEDI version of Delphi headers. Updated D3DX9 library requires D3DX92ab.dll for all non-MS compilers.
In addition to usial release as file archives here - on this site - I've started new project at called delphi-dx9sdk, so you can download everything related to updated DirectX SDK from SourceForge too. Also at SourceForge CVS you can get raw (unprocessed to different compilers) headers the same day as I fix bugs in them, so you will not be forced to wait for new official release of headers! Another great feature for some of your: headers stored in CVS are supporting DirectX 8.0/8.1/9.1/9.2 modifications of Direct3D and D3DX in single codebase!

So, what are you waiting for? Start downloading headers either from this site or SourceForge!

PS. TMT pascal is no longer supported officially, but headers in CVS at SourceForge still contains TMT pascal specific paths and if anyone want to test them - I'll be glad to hear some feedback and fix possible bugs in headers.
DirectX SDK 
MS DirectX SDK New DirectX library pack for C++Builder.
Now supports DirectX 9.0 SDK Summer 2004. Updated d3d9.lib and set of d3dx9 libraries. As usial D3DX9 libraries links to specially made D3DX92ab.dll or MS made d3dx9d.dll (debug version of libraries).
Note: I have not succeded in compiling new SDK samples under C++Builder. Anyone who succeded in it please mail me, so I can update step-by-step instruction how to do it.

PS. Delphi headers with new sample framework will be released soon too.
DirectX SDK examples 
Ok, final samples from DirectX 9.0 SDK Summer 2003. Yes, they are really final! Now all samples from Summer 2003 SDK are available in Delphi version!

SHPRTPixel image SHPRTVertex image
Samples are: SHPRTPixel, SHPRTVertex.
Samples demonstrates how use D3DXSHPRTSimulation(), D3DXSHPRTSimulationTex(), a per vertex / texel precomputed radiance transfer (PRT) simulator that uses low-order spherical harmonics (SH) and records the results to a file. And later visualized with right pixel or vertex shader.
Come to BorCon 2004 (US) to see the next Delphi release!
In-depth details on DiamondBack, the code name for the next Delphi release, will be shown throughout BorCon 2004. If you use Delphi, you'll want to be there!

Delphi developers, BorCon will be the first public showing anywhere of DiamondBack, the code name for the next version of Delphi. BorCon is the only place to learn all the exciting new features coming in Diamondback. Don't miss this once in a lifetime opportunity to get an advance look at the future of Delphi!

See all the latest Delphi features in the DiamondBack preview at BorCon 2004.

Learn from in-depth DiamondBack at tutorial sessions.
Additional info could be read in original article on BDN.

DirectX SDK examples 
Yep, I've uploaded new samples to Delphi DirectX 9.0 SDK Summer 2003 update: Bumpmapping, PixelMotionBlur and SHIrradianceEnvMap.
DirectX SDK 
MS DirectX SDK New (and probably last) release of Delphi/FreePascal DirectX headers for Summer 2003 release of DirectX9 SDK!
You can get them from: Delphi headers, FreePascal headers.

  List of changes:
  • Direct3D9.pas
    • Changed: IDirect3DSurface9.GetContainer now returns untyped parameter (out ppContainer) instead of pointer. So new usage can be: surface.GetContainer(IID_IDirect3DTexture9, fTexture);
    • Added ATI 3Dc/ATI2N texture format (D3DFORMAT)
    • some other corrections in parameter names and comments
  • D3DX9.pas
    • Added overloaded versions of "constructor" functions: D3DXVector4 and D3DXVector4_16F
    • Added type declarations for: IID_ID3DXBuffer, IID_ID3DXRenderToSurface, IID_ID3DXRenderToEnvMap, IID_ID3DXLine, IID_ID3DXConstantTable, IID_ID3DXEffectPool
    • Changed: TD3DXFontDesc, D3DXCreateFont - Height now declared as Integer instead of Longint for better compatibility with Platform SDK.
    • Changed: ID3DXPatchMesh/ID3DXSkinInfo.GetDeclaration now uses (out Declaration: TFVFDeclaration) as return parameter
    • Fixed: D3DXIntersectTri now returns BOOL type
    • Fixed: TD3DXFill2D, TD3DXFill3D procedural callback type declarations now use stdcall calling convention
    • Fixed: D3DXFillCubeTexture
    • some other corrections in parameter names and comments
  • dxerr9.pas
    • Fixed: DXTraceW
  • DXTypes.pas
    • Added generic Windows types for Win32 / Win64 compatibility

Please inform me of any grammar or general errors, contained on these pages, Alexey Barkovoy