Camera类
对摄象机的抽象。成员函数说明如下:
标准构造函数
Camera(String name, SceneManager* sm);
标准析构函数
virtual ~Camera();
返回渲染该摄像机的scenemanager的指针
SceneManager* getSceneManager(void) const;
取得摄像机的名字
virtual const String& getName(void) const;
设定投影模式(正射或透视),缺省为透视
void setProjectionType(ProjectionType pt);
取得使用的投影模式的信息
ProjectionType getProjectionType(void) const;
设定该摄像机需要的渲染细节级别
void setDetailLevel(SceneDetailLevel sd);
取得该摄像机的渲染细节级别
SceneDetailLevel getDetailLevel(void) const;
设定摄像机的位置
void setPosition(Real x, Real y, Real z);
void setPosition(const Vector3& vec);
取得摄像机的位置
const Vector3& getPosition(void) const;
移动摄像机
void move(const Vector3& vec);
void moveRelative(const Vector3& vec);
设定摄像机的方向向量
void setDirection(Real x, Real y, Real z);
void setDirection(const Vector3& vec);
取得摄像机的方向
Vector3 getDirection(void) const;
这是一个辅助方法用来自动计算摄像机的方向向量,在当前位置和所看的点,参数targetPoint是一个向量指明所看的点。
void lookAt( const Vector3& targetPoint );
void lookAt(Real x, Real y, Real z);
将摄像机绕z轴逆时针旋转指定角度
void roll(Real degrees);
绕y轴逆时针旋转指定角度
void yaw(Real degrees);
绕x轴上下逆时针旋转
void pitch(Real degrees);
旋转任意角度
void rotate(const Vector3& axis, Real degrees);
使用四元组绕任意轴旋转
void rotate(const Quaternion& q);
指定摄像机是绕本地y轴还是指定的固定轴旋转
void setFixedYawAxis( bool useFixed, const Vector3& fixedAxis = Vector3::UNIT_Y );
设定y方向的视野域,水平方向的视野域将依此计算
void setFOVy(Real fovy);
取得y方向的视野域
Real getFOVy(void) const;
设定到近裁减面的距离
void setNearClipDistance(Real nearDist);
取得到近裁减面的距离
Real getNearClipDistance(void) const;
设定到远裁减面的距离
void setAspectRatio(Real ratio);
取得当前纵横比
Real getAspectRatio(void) const;
内部使用,取得该摄像机的投影矩阵
const Matrix4& getProjectionMatrix(void);
内部使用,取得该摄像机的观察矩阵
const Matrix4& getViewMatrix(void);
取得平截台体的特定面
const Plane& getFrustumPlane( FrustumPlane plane );
测试给定的包容器是否在平截台体中
bool isVisible(const AxisAlignedBox& bound, FrustumPlane* culledBy = 0);
bool isVisible(const Sphere& bound, FrustumPlane* culledBy = 0);
测试给定的顶点是否在平截台体中
bool isVisible(const Vector3& vert, FrustumPlane* culledBy = 0);
返回摄像机的当前方向
const Quaternion& getOrientation(void) const;
设定摄像机的方向
void setOrientation(const Quaternion& q);
输出流功能
friend std::ostream& operator<<(std::ostream& o, Camera& c);
取得摄像机继承的方向,包括从附着节点继承的任何旋转
Quaternion getDerivedOrientation(void);
取得继承的位置,包括从附着节点继承的任何平移
Vector3 getDerivedPosition(void);
取得继承的方向向量
Vector3 getDerivedDirection(void);
覆盖MovableObject的方法
void _notifyCurrentCamera(Camera* cam);
const AxisAlignedBox& getBoundingBox(void) const;
void _updateRenderQueue(RenderQueue* queue);
const String getMovableType(void) const;
使能/使不能自动跟踪scenenode
void setAutoTracking(bool enabled, SceneNode* target = 0,
const Vector3& offset = Vector3::ZERO);
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/w1635610/archive/2010/04/02/5446058.aspx