- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ogre中摄像函数汇总
ogre中摄像机的一些相关函数
//创建摄像机
//sceneManager是一个已经存在的场景管理器实例的指针。
//我们在这里构建名称为“MainCam”的摄像机。
Camera *camera = sceneMgr-createCamera(“MainCam”);
//并不需要计算什么,可以直接从视口中得到这个尺寸 这里现实视口比例是4:3
camera-setAspectRatio(1.333333f);
//30度角可以让我们看到一个长而远的视野
camera-setFOVy(30.0f); //图上W是这里的角度
camera-setNearClipDistance(5.0f); //摄像机到平面xy的距离
camera-setFarClipDistance(1000.0f);//摄像机到平面xy的距离
//设置渲染模式 下面分别对应点线 点 实体渲染
camera-setPolygonMode(PM_WIREFRAME);
camera-setPolygonMode(PM_POINTS);
camera-setPolygonMode(PM_SOLOD);
PolygonMode mode = camera-getPolygonMode(); //这个不用讲了
//摄像机的位置变换
//确认我们已经有一个指向“Camera”类型实例的指针camera。
camera-setPosition(200, 10, 200);
//也可以用一个三维向量来设置摄像机坐标,在我们得到场景坐标时候这么做会方便一些
//camera-setPosition(Vector3(200, 10, 200));
//假设摄像机还在我们之前设置的200, 10, 200空间位置上。camera-move(10, 0, 0); //摄像机移动到210, 10, 200
camera-moveRelative(0, 0, 10); //摄像机移动到210, 10, 210
//move ,moveRelative与 setPosition的区别
//setPosition设置摄像机的绝对坐标 move和moveRelative是把摄像机移动到当前位置的相对位置上
//moveRelative与move的区别 前者是在摄像机的本地坐标移动 假设摄像机像右旋转90度 在向前移动10
//个单位,那么本地坐标是向Z方向移动10 而世界坐标是像X方向移动10个单位
//指向,方向,LookAt
void setDirection(Real x, Real y, Real z);
void setDirection(const Vector3 vec);
Vector3 getDirection(void) const;
Vector3 getUp(void) const;
Vector3 getRight(void) const;
void lookAt( const Vector3 angle);
void lookAt(Real x, Real y, Real z);
void roll(const Radian angle); //滚动绕Z轴 右手法则 旋转 即逆时针
void roll (Real degrees){roll (Angle ( degrees ) );}
void yaw(const Radian angle); //偏航绕Y轴
void yaw(Real degrees){yaw (Angle ( degrees ) );}
void pitch(const Radian angle); //倾斜绕X轴
void pitch(Real degrees){yaw (Angle ( degrees ) );}
void rotate(const Vector3 axis, const Radian angle);
void rotate(const Vector3 axis, Real degrees){
rotate(axis, Angle(degrees));}
void setFixedYawAxis (bool useFixed, const Vector3 fixedAxis=Vector3::UNIT_Y)
//设置Y轴自由度 不能绕Y轴旋转
const Quaternion getOrientation (void) const
void setOrientation(const Quaternion q);
//自动跟踪
/*方法中第一个参数确定是否打开自动跟踪,在任何一帧渲染之前都可以重新设置它。并且需要注意在关掉自动跟踪之前,要确保所被跟踪的节点没有被删除(否则系统会抛出异常)。方法的第二个参数
文档评论(0)