中摄像机义函数汇总.docVIP

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中摄像机义函数汇总

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)

189****6649 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档