//なんでもいい、αナシ DGFMT_RGB:Array[0..3] of D3DFORMAT = (D3DFMT_X8R8G8B8, D3DFMT_R8G8B8, D3DFMT_R5G6B5, D3DFMT_X1R5G5B5); //なんどもいいのでα付き DGFMT_ARGB:Array[0..2] of D3DFORMAT = (D3DFMT_A8R8G8B8, D3DFMT_A4R4G4B4, D3DFMT_A1R5G5B5); //16ビットので、αナシ DGFMT_HighColor:Array[0..1] of D3DFORMAT = (D3DFMT_R5G6B5, D3DFMT_X1R5G5B5); //16ビットので、αアリ DGFMT_HighColorA:Array[0..1] of D3DFORMAT = (D3DFMT_A4R4G4B4, D3DFMT_A1R5G5B5); //なんでもいいからTrueColor、αはいらん DGFMT_TrueColor:Array[0..1] of D3DFORMAT = (D3DFMT_X8R8G8B8, D3DFMT_R8G8B8); /////バンプマップのフォーマット //単なるバンプ、ルミナンス付きでもいいや DGFMT_Bump:Array[0..2] of D3DFORMAT = (D3DFMT_V8U8, D3DFMT_X8L8V8U8, D3DFMT_L6V5U5); //ルナミンス付きバンプ DGFMT_BumpL:Array[0..1] of D3DFORMAT = (D3DFMT_X8L8V8U8, D3DFMT_L6V5U5);
TDGTexture.Createメソッドに渡す、テクスチャのフォーマットを第一希望から順に並べたものです。
/////デプスステンシルバッファフォーマット //なんでもいいから安上がりの DGFMT_ZCheap:Array[0..2] of D3DFORMAT = (D3DFMT_D16, D3DFMT_D16_LOCKABLE, D3DFMT_D32); //できれば32 DGFMT_ZDetail:Array[0..3] of D3DFORMAT = (D3DFMT_D32, D3DFMT_D24X8, D3DFMT_D16_LOCKABLE, D3DFMT_D16); //ステンシル欲しい DGFMT_ZStencil:Array[0..2] of D3DFORMAT = (D3DFMT_D24S8, D3DFMT_D24X4S4, D3DFMT_D15S1);
TDGCarad.WidoeMode, TDGCarad.FullscreenModeメソッドに渡す、デプスステンシルバッファのフォーマットを第一希望から順に並べたものです。
DGCarad_debugIndent:Integer = 0;
デバッグメッセージを出力する際の、インデントの深さを指定します。0でインデント無し、1以上にすると、2 * DGCarad_debugIndent個のスペースがメッセージ本文の前に入れられます。
procedure DGCarad_PutDebugMessage(mes:String);
デバッグログに mes で示される文字列を出力します。
デバッグログは、アプリケーションと同じディレクトリに、「DGCarad_debugLog.txt」というファイル名で保存されます。
function D3DFORMATToString(fmt:D3DFORMAT):String;
フォーマットを文字列に変換します。例えば、fmtにD3DFMT_A8R8G8 が指定されると、返り値は 'A8R8G8' になります。
function IsARGBFormat(fmt:D3DFORMAT):Boolean; //色情報を含むテクスチャフォーマットかどうか判断
fmtが色情報を格納するためのフォーマットならTrueを、そうでなければFalseを返します。
例えば、fmtがD3DFMT_A8R8G8B8やD3DFMT_X1R5G5B5などならばTrueを返します。 D3DFMT_Z16など、デプスステンシルバッファ用のフォーマットや、D3DFMT_U8V8など、バンプマップ用のフォーマットならFalseを返します。
function GetPixelBits(fmt:D3DFORMAT):UINT;
fmtで示されるフォーマットを持ったテクスチャの1ピクセルは、何ビットのメモリを食うかを返します
function D3DColorToPhysical(col:D3DCOLOR; fmt:D3DFORMAT):DWord; function ARGBToPhysical(a,r,g,b:DWord; fmt:D3DFORMAT):DWord; function PhysicalToARGB(pcol:DWord; fmt:D3DFORMAT):D3DCOLOR;
fmtで指定されるフォーマットを持つテクスチャでの色表現(物理カラー)と、ARGB値やD3DCOLORによる色表現を相互に変換します。
procedure LoadBMPStreamToTexture(texture:IDirect3DTexture9; source:TStream);
textureで示されるIDirect3DTexture9オブジェクト(TDGTexture.Textureなど)に対して、sourceで示されるBMPを格納したストリームから、画像を読み込みます
procedure LoadBMPStreamToLockedRect(LockedRect:D3DLOCKED_RECT; lockedRegion:TRect; ddsd:D3DSURFACE_DESC; source:TStream);
ロックされたテクスチャに対して、BMP画像を読み込みます。
LockedRectはTDGCarad.LockRectや、IDirect3DTexture9.Lockで返されるロック情報を、lockedRegionには、ロックされた範囲を示す座標値を指定してください。
また、ddsdは読み込み先のロック範囲を持つテクスチャのサーフェス情報(TDGCarad.Texture.GetLevelDescで取得できます)を指定してください。
sourceで示されるBMPを格納したストリームから画像を読み込みます。