. | readme.txt |
DirectDraw | ddraw.pas |
Direct3D IM | d3dtypes.pas, d3dcaps.pas, d3d.pas |
Direct3D RM | d3drmwin.pas, d3drmdef.pas, d3drm.pas, d3drmobj.pas |
LHA E DX3D3D30.LZH として解凍してください。
これはDirectX2,X3のヘッダーユニットソースのみです。 実行するためには本 ソースを使用してプログラムを作成する必要があります。
作成したプログラムを実行するためにはDirectX2またはDirectX3のランタイ ムがインストールされていることが必要です
本ユニットを使用される場合はSDKのドキュメントか書籍(例えば DirextX2 開発マニュアル)と本ユニット中の宣言を比較しながら使用されることをお勧め します.また作業の都合上,宣言の順序は大きく異なっています.
Delphiの浮動小数点ユニットの使い方によると思われる問題が出る個所があり ます. 以下の関数を使用する場合は
IDirect3DRMViewport.Render(...); IDirect3DDevice.Execute(...);関数を呼出す直前に
asm finit end;
等のようにコード中に書く必要はなく,Delphi2.0用のソース中の
DirectDraw.Release; 等は削除する必要があるようです.存在すると
2重に呼ばれることになって,実行時エラーとなります.
IUnknown interfaceとその子孫はDelphiにより自動的にReleaseが呼ば れて解放されます.従ってオブジェクトの解放の順序をコントロールす ることができなくなりますが,実験した範囲では,宣言の順序どおりに 解放されるようです.
現在以下に示す順で宣言した場合には正常に動作しましたが,この部 分を逆順にした場合は実行時エラーとなりました. したがって,解放は宣言の順番に従うと思われます.
Viewport : IDirect3DViewport; D3dDevice : IDirect3DDevice; ZBuffer : IDirectDrawSurface; BackBuffer : IDirectDrawSurface; FrontBuffer : IDirectDrawSurface; D3D : IDirect3D; DDraw2 : IDirectDraw2; DDraw : IDirectDraw;以上,本ユニットを使用する場合
このソースおよびこのテキストの著作権は水谷 純, mizutani.jun@nifty.ne.jp が保有していますが,本ソースのすべて,または一部分の配布,使用,使用した プログラムの公開,販売,改変は自由にして頂いてかまいません.改変したソ ースを公開される場合は,改変した旨をソース内に記述してください. 本ソフトウェアによって生じた損害について著作者は責任を負いません.
バグ報告は歓迎いたします.また今後変更される可能性があることにご留意くだ さい.