Clootie graphics pages

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

Delphi resources

Resources are separated in different areas:
  1. MS DirectX SDK's
  2. DirectX examples
  3. NVIDIA Cg
  4. Some VCL/WinAPI requested sources. Win32 API headers for Delphi
  5. Utils written in Borland Delphi mostly for Delphi development
All resources come with source if overwise is not specially noted. Some resources also contain compiled version.

 Here you can see some description of resources and links to them:
 MS DirectX SDK's
MS DirectX SDK's means what here you can find Delphi DirectX headers compliant to Borland and JEDI standarts, ObjectPascal adaptation of all Direct3D examples and some examples from other parts of Microsoft DirectX SDK's. All headers and examples are tested in Delphi5 and up. Actually headers and most examples should be compatible with Delphi4, but this is not guarantied.

DirectX SDK items divided in most up to date version - currently DirectX 9.0 - and possible "downgrade" options - items deprecated or just not more meaningfull to use in recent DirectX version.

Here is your choice:
  • Delphi DirectX 9.0 SDK with examples
    (April 2007 Update)
    (last updated: May-2007)
    Contains headers for all (up to 9.0) versions of DirectDraw, Direct3D, D3DX, DirectInput, DirectSound, DirectMusic, DirectPlay8 (DirectX9 version), DirectXSetup, X3DAudio, XACT, XInput; dxerr9 (DirectX 9.x error reporting) headers with support library; DirectDraw, Direct3D, XACT and misc examples.
  • Delphi DirectX 9.0 SDK with examples
    (both original and Summer 2003 update)
    (last updated: Aug-2004)
    Contains headers for all (up to 9.0) versions of DirectDraw, Direct3D, DirectInput, DirectSound, DirectMusic; DirectPlay8 (updated to DirectX9); D3DX 9.0 headers with support library; dxerr9 (DirectX 9.x error reporting) headers with support library; DirectDraw, Direct3D and DirectSound examples.
  • Delphi DirectX 8.1 SDK with examples (last updated: Apr-2004) - downgrade
    Contains headers for all (up to 8.1) versions of DirectDraw, Direct3D; D3DX 8.1 headers with support library; dxerr8 (DirectX 8.x error reporting) headers with support library; DirectDraw and Direct3D examples.
  • Delphi DirectX 8.0 SDK with examples (last updated: Dec-2003) - downgrade
    Contains only Direct3D and D3DX8 (including support library) headers and Direct3D examples - these changed much in 8.1 version - and dxerr8 (DirectX 8.x error reporting) headers with support library.
  • Additional comments
    Most of examples are pure Win32 API - do not use Delphi VCL library, so their complied size is under 100K (although this is not without a "help" of D3DX8/D3DX9 forced to dynamically link with Delphi in Direct3D projects). But MS MFC based examples are converted to Borland VCL - these are VCLxxx examples, also some other examples uses VCL, for example, all Direct3D 8.x tutorials.

    What is unique about these DirectX headers?
    Double Borland and JEDI compliance generally means two simple things:
    (1)  DirectX headers can be compiled either with dynamic or static linking. Normally Borland prefers static linking as this will not force loading libraries what can be unused at all (for example someone just want to use type declarations from headers), but dynamic linking can be preferred if your program can work without DirectX or you just want to gracefully tell user what he should install required DirectX version.
    (2) Your projects compiled against these headers in Delphi later can be used in one source base in C++ Builder projects. You can see what it's very easy to do, as most SDK examples come with C++ Builder project files what was tested to compile fine on C++ Builder 5. Also special project what demonstrate building executable from two initially "independent" Delphi and C++ Builder projects are available here.
     DirectX examples
    DirectX examples (like SDK ones above) what shows various techniques and most of them based on DirectX SDK D3DFramework. Currently there are Direct3D and DirectShow examples available. Examples are compilable with C++Builder. Let's go:
  • Delphi DirectX examples (last updated: Jul-2003)
  •  NVIDIA Cg
    NVIDIA Cg is high level C-like language for writing pixel and vertex shaders.
    Delphi/C++Builder toolkit allows to use this language internaly in your programs either in DirectX or OpenGL. Cg programs are compiled internally in PixelShader/VertexShader programs under DirectX and to register combiners and VertexPrograms under OpenGL. This behaviour allows to use NVIDIA Cg language in DirectX 8.x applications on any DX8 class GPU - like ATi Radeon 8500, SiS Xabre, Matrox Parhelia, 3DLabs P10, etc. And now for DirectX9 class cards: Radeon 95xx/X800 and GeForceFX, GeForce6 series!
  • NVIDIA Cg - Delphi and C++Builder toolkit (last updated: Mar-2005)
  •  Some VCL/WinAPI requested sources. Win32 API headers for Delphi.
    Other Delphi graphics related sources. Mostly VCL and non-API or Win32 API related. Also from this page you can download some C/C++ headers adaptated for Borland Delphi. Actually for components currently only Delphi6 (and up) compatible version of TGifImage component, originally developed by Ander Melander's, is located here. It has fixed issues with drawing of animated GIF's.
  • Other Delphi graphics related sources (last updated: May-2005)
  •  Utils written in Borland Delphi
    Utils written in Borland Delphi mostly for Delphi development.

    There are currently two different utilities:

    CRLF conversion utility. It can be used for helping multi-complier development between Delphi (pre 6) and Kylix. As you probably know Unix OS'es prefer LF line breaks, but DOS/Windows environment commonly uses CR/LF sequence for the same purpose. So Kylix (and many other Unix "pure text" or code editors) normally produces LF delimited source code. This is not problem with Delphi6 compiler/IDE, but can lead to quite strage errors/error reporting in previous Delphi versions.

    Pascal Preprocessor is a pre-processing utility what is targeted to be able to do any pre-processing what can be done with Delphi5 pre-processor. Utility can pre-process IF[n]DEF, DEFINE, UNDEF, INCLUDE directives; can expand or skip INC files; count statistics; have options to leave/replace original files, their timestamps; "intelligently" remove lines with pre-processor directives to produce "right" formatted texts; have predefined pre-processor states for different compilers and many more. Examples for it's usage are included in download archive.
    What it can't do? Currently pre-processor can't handle Delphi6 and Kylix enhanced {$IF xxx} directive; not correctly handles {$IFOPT yyy} directive (wrongly thinks what option always not defined) and definitely can't roast chickens.
  • Utilitites download page (last updated: Mar-2002)

  • Please inform me of any grammar or general errors, contained on these pages, Alexey Barkovoy
    Last updated: 01-May-2007