Tuesday 12 October 2010

Update for use with June 2010 DirectX SDK

I've updated my Direct2D/Direct3D Delphi interface units for use with the June 2010 DirectX SDK.

The units should work with Delphi 2009, 2010 and XE. They may work (or be made to work) with other versions of Delphi.

Key changes:

UD3DCommon_JSB.pas added.
UD3DCompiler_JSB.pas added (allows D3D11 shader reflection).

Note that UD3DCommon_JSB.pas may need to be added to the "uses" section of existing applications.

See http://www.jsbmedical.co.uk/DirectXForDelphi/ for the units and effects DLL.

Note that applications that use these units will require the June 2010 DirectX redistributable files to be installed. The version suffix associated with this version is 43 (e.g. D3DCompiler_43.dll, d3dx11_43.dll etc).

Hint: You may wish to merge the new units with your existing units (e.g. using BeyondCompare) rather than overwrite them, so that you are aware of the changes.

JB.

1 comment:

  1. In samples there are some small errors (imho):

    //------------------------

    HelloWorld_NonVCL:

    program HelloWorld_NonVCL;

    uses
    {$IFDEF UseJSBDirect2D}
    DirectWrite_JSB,
    D2D1_JSB,
    DXTypes_JSB in 'DXTypes_JSB.pas'
    {$ELSE}
    D2D1,
    {$ENDIF}
    Windows,
    Messages,
    ActiveX,
    SysUtils,
    Math;

    ...

    //------------------------

    HelloWorld:

    unit UMain;

    {$DEFINE UseJSBDirect2D}

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    StdCtrls, Dialogs, d2d1,
    {$IFDEF UseJSBDirect2D}
    DirectWrite_JSB, D2D1_JSB;
    {$ELSE}
    D2D1;
    {$ENDIF}

    ReplyDelete