📄 d3dx9.pas
字号:
(*)
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 + -