|
发表于 2008-4-26 19:30:00
|
显示全部楼层
Re:请问关于Camera的问题?
/*! \fn void Rotate( vec3_t pos, vec3_t rotate, float length, vec3_t translation, bool fly, vec3_t eye, vec3_t center, vec3_t up ) = 0
* \brief 根据摄像机旋转角度和平移量计算视线坐标
*
* 根据摄像机旋转角度和平移量计算视线坐标。本函数只计算并返回 LookAt 函数所需要的三个坐标值,并不影响摄像机的实际参数;
* 通常在计算第一、第二、第三人称视角时使用,如果要将计算结果应用于摄像机,还需要调用 LookAt 函数。此函数前5个参数为
* 输入参数,最后三个参数输出计算结果。
*
*
* \param vec3_t pos 摄像机(也即眼睛)所在位置的坐标值 [输入参数]
*
* \param vec3_t rotate 摄像机旋转角度 rotate[0] = 水平旋转角度(可以理解为左右转动头部)
* rotate[1] = 垂直旋转角度(可以理解为抬起头部向上看)
* rotate[2] = 沿视线旋转角度(目前不支持此功能,无效) [输入参数]
*
* \param float length 视线长度,也即从眼睛到视点(视线上的任意一点)的距离 [输入参数]
*
* \param vec3_t translation 摄像机的移动量,translation[0] = 前进(> 0)、后退(< 0)
translation[1] = 左移(> 0)、右移(< 0)
translation[2] = 上升(> 0)、下降(< 0),此参数不受 fly 标志的限制 [输入参数]
*
* \param bool fly 是否为飞行模式, 0 为步行模式,摄像机沿视线在水平面上移动,不能上下移动(仅指 translation[0])
* 1 为飞行模式,摄像机沿视线移动 [输入参数]
*
* \param vec3_t eye 视点(眼睛所在位置)坐标 [输出结果]
*
* \param vec3_t center 视线上的任意一点坐标 [输出结果]
*
* \param vec3_t up 向上方向(即视图体自下而上的方向)上一点的坐标 [输出结果]
*
* \return 本函数没有返回值。
*
* \see LookAt
*/
virtual void Rotate( vec3_t pos, vec3_t rotate, float length, vec3_t translation, bool fly, vec3_t eye, vec3_t center, vec3_t up ) = 0; |
|