3D BEZEIR曲线路径(DELPHI版本),转载,原博主链接地址已经失效
unit VRPath;
{ TODO :
路径处理
包括Bezier }
interface
uses
DXCommon,VRCommon,VRModelObject,Direct3D9,D3DX9,Windows,VRMaterial;
const
PathFVF= D3DFVF_XYZ or D3DFVF_DIFFUSE;
Framecy =1.0; //点的采样频率
Type
TPathVertex = packed record
Position : TPoint3;
Color : TPoint3;
end;
PPathVertex = ^TPathVertex;
TVRBezierPath = class(TInterfacedObject,IVRBezierPath)
private
Model : IDirect3DVertexBuffer9;
Material : IVRMaterial;
p : array[0..3] of TPoint3;
FPS : single;//动画的长度
StartTime : Single;
Time : single;
Enable : Boolean;
VertexNum : integer;
OnStart,OnStop : TVRPathMethod;
function CreateModel() : Boolean;
Procedure UnInit();
function Calc(const p1,p2,p3,p4 : TPoint3;