游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1588|回复: 1

我设置Observer的那个接口

[复制链接]

101

主题

467

帖子

482

积分

中级会员

Rank: 3Rank: 3

积分
482
QQ
发表于 2005-6-28 08:09:00 | 显示全部楼层 |阅读模式
TObserver=class(TVAEObject)
  private
  protected
    FDC,FRC,FHandle:THandle;
    FVEye,FVFront,FVUp,FVRight:TPoint3D;
    FSW,FSH:VInt;FSSL,FSN,FSF:VExtended;
    procedure InitOpengl(DC:HDC);
  published
    constructor Create(hWnd:THandle);
    procedure Free;override;
    procedure SetScene;
    //在离观察者StandardLength的平面绘图,显示出来的尺寸与真实尺寸一样
    procedure InitScene(Width,Height:VInt;StandardLength,NearLen,FarLen:VExtended);
  public
    procedure SetObserver(Reset:Boolean=True);
    procedure SetEye(X,Y,Z:VExtended);
    procedure SetDirection(Direction:TObserverDirection;Angle:VExtended);overload;
    procedure SetDirection(VFront,VUp:TPoint3D);overload;
    function GetVector(Vector:TObserverVector):TPoint3D;
    function OutOfSight(aX,aY,aZ:VExtended):Boolean;
    procedure Walk(Len:VExtended);overload;
    procedure Walk(Len:VExtended;UnitVector:TPoint3D);overload;
    procedure Rotate(V:TPoint3D;Angle:VExtended);
    procedure GetData(var W,H,Len,N,F:VExtended);
  end;
=======================================
这样的设计行不行

101

主题

467

帖子

482

积分

中级会员

Rank: 3Rank: 3

积分
482
QQ
 楼主| 发表于 2005-6-28 08:09:00 | 显示全部楼层

Re:我设置Observer的那个接口

我以gluLookAt为基础
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-26 05:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表