⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d3dx9.pas

📁 冒险岛吸怪源码UCE的制作材料 用于冒险岛游戏的外挂
💻 PAS
📖 第 1 页 / 共 5 页
字号:
(*)

type
  PD3DXPlane = ^TD3DXPlane;
  TD3DXPlane = packed record
    a, b, c, d : Single;
  end;

const
  D3DXPlaneZero : TD3DXPlane = (a : 0; b : 0; c : 0; d : 0);
function D3DXPlane(const a, b, c, d : Single) : TD3DXPlane;
function D3DXPlaneEqual(const p1, p2 : TD3DXPlane) : Boolean;

(*)
 *******************************************************************************
 *
 * Colors
 *
 *******************************************************************************
(*)

type
  PD3DXColor = ^TD3DXColor;
  TD3DXColor = packed record
    r, g, b, a : Single;
  end;

function D3DXColor(const r, g, b, a : Single) : TD3DXColor;
function D3DXColorToLongWord(const c : TD3DXColor): LongWord;
function D3DXColorFromLongWord(const c : LongWord) : TD3DXColor;
function D3DXColorEqual(const c1, c2 : TD3DXColor) : Boolean;

(*)
 *******************************************************************************
 *
 * D3DX math functions:
 *
 * NOTE:
 *  * All these functions can take the same object as in and out parameters.
 *
 *  * Out parameters are typically also returned as return values, so that
 *    the output of one function may be used as a parameter to another.
 *
 *******************************************************************************
(*)

(*)
 *******************************************************************************
 * Float16
 *******************************************************************************
(*)

// non-inline

// Converts an array 32-bit floats to 16-bit floats
function D3DXFloat32To16Array(OutArray : PD3DXFloat16; InArray : PSingle; const n : Cardinal) : PD3DXFloat16 stdcall; external d3dx9dllname;

// Converts an array 16-bit floats to 32-bit floats
function D3DXFloat16To32Array(OutArray : PSingle; InArray : PD3DXFloat16; const n : Cardinal) : PSingle; stdcall; external d3dx9dllname;

(*)
 *******************************************************************************
 * 2D Vector
 *******************************************************************************
(*)

// inline, Delphi uses dll

function D3DXVec2Length(const V : TD3DXVector2) : Single; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Length';
function D3DXVec2Length(V : PD3DXVector2) : Single; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Length';

function D3DXVec2LengthSq(const V : TD3DXVector2) : Single; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2LengthSq';
function D3DXVec2LengthSq(V : PD3DXVector2) : Single; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2LengthSq';

function D3DXVec2Dot(V1, V2 : PD3DXVector2) : Single; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Dot';
function D3DXVec2Dot(const V1 : TD3DXVector2; V2 : PD3DXVector2) : Single; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Dot';
function D3DXVec2Dot(V1 : PD3DXVector2; const V2 : TD3DXVector2) : Single; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Dot';
function D3DXVec2Dot(const V1, V2 : TD3DXVector2) : Single; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Dot';

// Z component of ((x1,y1,0) cross (x2,y2,0))
function D3DXVec2CCW(V1, V2 : PD3DXVector2) : Single; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2CCW';
function D3DXVec2CCW(const V1 : TD3DXVector2; V2 : PD3DXVector2) : Single; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2CCW';
function D3DXVec2CCW(V1 : PD3DXVector2; const V2 : TD3DXVector2) : Single; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2CCW';
function D3DXVec2CCW(const V1, V2 : TD3DXVector2) : Single; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2CCW';

function D3DXVec2Add(Out, V1, V2 : PD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Add';
function D3DXVec2Add(out Out : TD3DXVector2; V1, V2 : PD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Add';
function D3DXVec2Add(Out : PD3DXVector2; const V1 : TD3DXVector2; V2 : PD3DXVector2) : pD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Add';
function D3DXVec2Add(out Out : TD3DXVector2; const V1 : TD3DXVector2; V2 : PD3DXVector2) : pD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Add';
function D3DXVec2Add(Out, V1 : PD3DXVector2; const V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Add';
function D3DXVec2Add(out Out : TD3DXVector2; V1 : PD3DXVector2; const V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Add';
function D3DXVec2Add(Out : PD3DXVector2; const V1, V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Add';
function D3DXVec2Add(out Out : TD3DXVector2; const V1, V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Add';

function D3DXVec2Subtract(Out, V1, V2 : PD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Subtract';
function D3DXVec2Subtract(out Out : TD3DXVector2; V1, V2 : PD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Subtract';
function D3DXVec2Subtract(Out : PD3DXVector2; const V1 : TD3DXVector2; V2 : PD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Subtract';
function D3DXVec2Subtract(out Out : TD3DXVector2; const V1 : TD3DXVector2; V2 : PD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Subtract';
function D3DXVec2Subtract(Out, V1 : PD3DXVector2; const V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Subtract';
function D3DXVec2Subtract(out Out : TD3DXVector2; V1 : PD3DXVector2; const V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Subtract';
function D3DXVec2Subtract(Out : PD3DXVector2; const V1, V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Subtract';
function D3DXVec2Subtract(out Out : TD3DXVector2; const V1, V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Subtract';

// Minimize each component.  x = min(x1, x2), y = min(y1, y2)
function D3DXVec2Minimize(Out, V1, V2 : PD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Minimize';
function D3DXVec2Minimize(out Out : TD3DXVector2; V1, V2 : PD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Minimize';
function D3DXVec2Minimize(Out : PD3DXVector2; const V1 : TD3DXVector2; V2 : PD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Minimize';
function D3DXVec2Minimize(out Out : TD3DXVector2; const V1 : TD3DXVector2; V2 : PD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Minimize';
function D3DXVec2Minimize(Out, V1 : PD3DXVector2; const V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Minimize';
function D3DXVec2Minimize(out Out : TD3DXVector2; V1 : PD3DXVector2; const V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Minimize';
function D3DXVec2Minimize(Out : PD3DXVector2; const V1, V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Minimize';
function D3DXVec2Minimize(out Out : TD3DXVector2; const V1, V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Minimize';

// Maximize each component.  x = max(x1, x2), y = max(y1, y2)
function D3DXVec2Maximize(Out, V1, V2 : PD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Maximize';
function D3DXVec2Maximize(out Out : TD3DXVector2; V1, V2 : PD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Maximize';
function D3DXVec2Maximize(Out : PD3DXVector2; const V1 : TD3DXVector2; V2 : PD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Maximize';
function D3DXVec2Maximize(out Out : TD3DXVector2; const V1 : TD3DXVector2; V2 : PD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Maximize';
function D3DXVec2Maximize(Out, V1 : PD3DXVector2; const V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Maximize';
function D3DXVec2Maximize(out Out : TD3DXVector2; V1 : PD3DXVector2; const V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Maximize';
function D3DXVec2Maximize(Out : PD3DXVector2; const V1, V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Maximize';
function D3DXVec2Maximize(out Out : TD3DXVector2; const V1, V2 : TD3DXVector2) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Maximize';

function D3DXVec2Scale(Out, V : PD3DXVector2; const ScaleBy : Single) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Scale';
function D3DXVec2Scale(out Out : TD3DXVector2; V : PD3DXVector2; const ScaleBy : Single) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Scale';
function D3DXVec2Scale(Out : PD3DXVector2; const V : TD3DXVector2; const ScaleBy : Single) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Scale';
function D3DXVec2Scale(out Out : TD3DXVector2; const V : TD3DXVector2; const ScaleBy : Single) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Scale';

// Linear interpolation. V1 + s(V2-V1)
function D3DXVec2Lerp(Out, V1, V2 : PD3DXVector2; const ScaleBy : Single) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Lerp';
function D3DXVec2Lerp(out Out : TD3DXVector2; V1, V2 : PD3DXVector2; const ScaleBy : Single) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Lerp';
function D3DXVec2Lerp(Out : PD3DXVector2; const V1 : TD3DXVector2; V2 : PD3DXVector2; const ScaleBy : Single) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Lerp';
function D3DXVec2Lerp(out Out : TD3DXVector2; const V1 : TD3DXVector2; V2 : PD3DXVector2; const ScaleBy : Single) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Lerp';
function D3DXVec2Lerp(Out, V1 : PD3DXVector2; const V2 : TD3DXVector2; const ScaleBy : Single) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Lerp';
function D3DXVec2Lerp(out Out : TD3DXVector2; V1 : PD3DXVector2; const V2 : TD3DXVector2; const ScaleBy : Single) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Lerp';
function D3DXVec2Lerp(Out : PD3DXVector2; const V1, V2 : TD3DXVector2; const ScaleBy : Single) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Lerp';
function D3DXVec2Lerp(out Out : TD3DXVector2; const V1, V2 : TD3DXVector2; const ScaleBy : Single) : PD3DXVector2; stdcall; overload; external d3dx9inldllname name 'INLD3DXVec2Lerp';

// non-inline

function D3DXVec2Normalize(Out, V : PD3DXVector2) : PD3DXVector2 stdcall; overload; external d3dx9dllname;
function D3DXVec2Normalize(out Out : TD3DXVector2; V : PD3DXVector2) : PD3DXVector2 stdcall; overload; external d3dx9dllname;
function D3DXVec2Normalize(Out : PD3DXVector2; const V : TD3DXVector2) : PD3DXVector2 stdcall; overload; external d3dx9dllname;
function D3DXVec2Normalize(out Out : TD3DXVector2; const V : TD3DXVector2) : PD3DXVector2 stdcall; overload; external d3dx9dllname;

// Hermite interpolation between position V1, tangent T1 (when s == 0)
// and position V2, tangent T2 (when s == 1).

function D3DXVec2Hermite(Out, V1, T1, V2, T2 : PD3DXVector2; s : Single) : PD3DXVector2; stdcall; overload; external d3dx9dllname;
function D3DXVec2Hermite(out Out : TD3DXVector2; V1, T1, V2, T2 : PD3DXVector2; s : Single) : PD3DXVector2; stdcall; overload; external d3dx9dllname;
function D3DXVec2Hermite(Out : PD3DXVector2; const V1 : TD3DXVector2; T1, V2, T2 : PD3DXVector2; s : Single) : PD3DXVector2; stdcall; overload; external d3dx9dllname;
function D3DXVec2Hermite(out Out : TD3DXVector2; const V1 : TD3DXVector2; T1, V2, T2 : PD3DXVector2; s : Single) : PD3DXVector2; stdcall; overload; external d3dx9dllname;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -