![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Ogre3D
eplaylity
这个作者很懒,什么都没留下…
展开
-
PagedGeometry 笔记02
1. 多重视域 PagedGeometry *trees = new PagedGeometry(mCamera,50); trees->addDetailLevel(150,30); trees->addDetailLevel(400,50); PagedGeometry *bushes = new PagedGeometry(mCamera,40原创 2009-05-26 14:49:00 · 1319 阅读 · 0 评论 -
在ubuntu9.10下编译OGRE1.7 & CEGUI0.7.1
其实OGRE/CEGUI都是跨平台的开发库,在Linux下编译它们是件很轻松的事情。如果遇到依赖库(如安装OGRE时的OIS,CEGUI时的Python的正则表达式库等)或工具(生成OGRE1.7工程文件的CMAKE等)时,首先APT-GET一下。如果GET不到,就去其官网DOWN一下,然后编译安装。总之,这个过程并不复杂。另外,如果使用Linux原生的Makefile的话,在configure的原创 2010-04-05 14:18:00 · 1385 阅读 · 0 评论 -
OGRE 中通过 TheoraVideoPlugin 实现视频播放
昨天搞到零点才弄出来效果。本来不知道,原来Theora是一个纯开源项目。对Linux支持比较好,所以他的安装也应该遵循“Linux软件包安装规范”。那就是“永无止境”的包依赖。。于是乎,编译TheoraVideoPlugin必须先编译libtheora(http://theora.org/),ptypes(http://www.melikyan.com/ptypes/),libogg和libvo原创 2009-11-02 10:35:00 · 2931 阅读 · 6 评论 -
从OGRE纹理到CEGUI纹理 —— 使用RTT实现3D角色预览
最近重拾LUA,觉得这个语言太美了。怎一个“简单”了得。不过我现在还太探索它和CEGUI的配合使用问题。虽然LUA的语法半年前就基本掌握了(那是因为LUA最简单的就是语法了~~XD),可现在还得琢磨如何让它和CEGUI及我的程序进行数据共享。好让我的LUA脚本里的回调函数可以直接操作APP里的数据(不知道这样做安全性如何?不过,若不这样,LUA的功能就不能扩大,只停留在非交互模式)。原创 2009-11-05 14:43:00 · 3644 阅读 · 4 评论 -
OGRE 1.64 与 CEGUI 0.71 闲谈一刻
最近开始搞UI,去CEGUI官网下了最新的稳定版0.7.1,看DEMO。当然,看CEGUI的设计代码更有帮助。可惜以我现在的时间和条件,根本不允许啊~~等工作稳定以后,少不了要看CEGUI及OGRE的设计源码。 其实CEGUI的设计很轻便,看DEMO根本就是一种享受。一切都是那么的顺利,知道我想把0.7.1的库链接到我以前的DEMO中去的时候。问题出现了。OgreCEGUIRendere原创 2009-11-03 21:32:00 · 2262 阅读 · 12 评论 -
NxOgre 笔记05
1. Kinematics是些特殊的物理对象,它可以影响别的物体,却却不受别的物体影响。 他们可见、可移动,是升降机的一种最佳实现。2. NxOgre中,Actor只是一个物理对象的物理表达,是不可见的。 然而,一个Body是一个Actor加上一个可视化的东西(比如,通过Ogre的Entity). KinematicActor与KinematicBody也是同样原创 2009-10-25 20:24:00 · 941 阅读 · 0 评论 -
NxOgre 笔记02
1. 单位声明 NxOgre使用“米-千克-第二 系统”,以米为长度单位,千克为质量单位,秒为时间单位。2. 初始化代码2.1 最顶层类World,单实例。最大容纳32个Scene。不同场景之间的物体不能交互。2.2 每个场景都有很多Actor,这个数目仅受限于你的机器配置。这些Actor在World中表现成一个物理对象,但他们都是不可见的。 想看到原创 2009-10-25 17:39:00 · 1549 阅读 · 0 评论 -
NxOgre 笔记07
1. 凸面体与三角网格 三角网格可以很完美地表现一个OGRE模型的物理外形。 OGRE模型和Flour所生成的三角网格就外形而言完全等同, 为了性能起见,一般使用凸面体做物理碰撞。 NxOgre中凸面体最多256个顶点,作为一个大包装盒把要进行碰撞检测的对象包围起来。2. Flour是一个可以把OGRE模型转换成NxOgre格式的小工具。 包括,原创 2009-10-25 21:33:00 · 2179 阅读 · 0 评论 -
NxOgre 笔记04
1. Volume是一个任意形状的不可见的物理对象。并且不能动。常被用作trigger。 当一个物理对象进入/没入/离开它时,会触发一个程序指定的动作。2. 在场景中创建一个Volume步骤 2.1 外形,比如,一个5x5x5的盒子 2.2 位置 2.3 一个Callback类的对象 2.4 回调行为(事件发生时调用onVolumeE原创 2009-10-25 19:14:00 · 1105 阅读 · 0 评论 -
NxOgre 笔记03
1. 一个全局的VisualDebugger实例,以RenderableType_VisualDebugger创建一个可渲染对象。 将此渲染对象绑定到一个SceneNode上,然后,每一帧VisualDebugger::draw()/SceneNode::needUpdate() 这个好像在OGRE3DRenderSystem的advance()里有封装。2. Scen原创 2009-10-25 18:39:00 · 999 阅读 · 0 评论 -
NxOgre 笔记01
1. 去NV官网下载并安装PhysX的SDK。(好像还要安装PhysX系统软件以便运行时需要,因为我前段时间安装了JX3,就不用了)2. 设置PhysX SDK头文件及库的搜索路径设置环境变量PHYSX_DIR。(我的是D:/Program Files/NVIDIA Corporation/NVIDIA PhysX SDK/v2.8.1)因为要用到头文件搜素路径:-原创 2009-10-25 17:36:00 · 1073 阅读 · 0 评论 -
OIS 缓冲与非缓冲输入方式
网上有很多人说过此类问题,可我总觉得有些说法不太合适。于是就自己试验了一下。下面是笔记:1. 只有缓冲IO才能用于KeyListener/MouseListener, 也就是Keyboard::setEventCallback()设置的监听器。2. 因为缓冲IO时,检测的是按键状态,所以就有按下和释放两个事件。3. 把IO原创 2009-10-21 06:44:00 · 1018 阅读 · 0 评论 -
Ogre3D 实现角色换装
一个角色由多个模型组成,这些模型挂在同一个主节点上,由同一个骨骼动画控制着。换装就是剔除或添加一些模型,如果只是删增模型,那样只可以实现一起平移和旋转。因为装备,如衣服都是要和身体一起发生形变的。所以,模型之间要统一这些发生形变的方式,那就是骨骼。分类:1. 武器属于挂接物体,不属于换装范畴,创建一个节点绑定到某块骨头就可以了。2. 换装实现方式:全原创 2009-10-21 06:24:00 · 1417 阅读 · 0 评论 -
Ogre Shadow 笔记
1. SHADOWTYPE_NONE: 不产生任何阴影及遮挡效果 SHADOWTYPE_STENCIL_MODULATIVE: 模板调制 SHADOWTYPE_STENCIL_ADDITIVE: 模板叠加 SHADOWTYPE_TEXTURE_MODULATIVE: 贴图调制 SHADOWTYPE_TEXTURE_ADDITIVE: 贴图叠加2. 调制:降低原创 2009-10-21 01:46:00 · 1845 阅读 · 0 评论 -
Opcode 笔记
1. 碰撞检测中,检测树(Bounding-volume hierachies)结构进行碰撞排除比较普遍(如RAPID,SOLID,QuickCD,PQP),Opcode默认包围盒是AABB。2. Opcode支持检测 mesh - mesh sphere - mesh ray - mesh aabb - mesh obb - me原创 2009-10-09 16:12:00 · 1462 阅读 · 0 评论 -
Ubuntu9.10 Codeblocks8.02 环境编译 Ogre1.64
这两天刚装好Ubunut9.10,忙着做桌面和google的一些应用。所以,没怎么写代码。不过收获还蛮大的,Prism/google docs/google reader/google notebooks。。还有firefox add-on read it later。。。让我的学习和研究一下子方便了许多,而且google的服务还是可以和手机同步的。 下面就是原创 2009-10-04 00:18:00 · 1143 阅读 · 0 评论 -
PagedGeometry 笔记01
1. 创建PagedGeometry PagedGeometry *trees = new PagedGeometry(); trees->setCamera(mCamera); trees->setPageSize(50); trees->setInfinite(); // default // 设置显示细节 //原创 2009-05-26 14:46:00 · 1292 阅读 · 0 评论 -
PagedGeometry 笔记03
1. 创建草 PagedGeometry *grass = new PagedGeometry(mCamera,50); grass->addDetailLevel(100); // 在100单位内绘草。 GrassLoader *grassLoader = new GrassLoader(grass); grass->setPag原创 2009-05-26 14:50:00 · 1140 阅读 · 0 评论 -
Ogre&CEGUI窗口状态输入设备及光标调整
使用Ogre&CEGUI时,OIS默认独占鼠标和键盘。适合全屏状态,窗口状态就不好玩了。1. 取消键鼠独占在OIS创建输入系统时,设置参数。w32_mouse,DISCL_FOREGROUND|DISCL_NONEXCLUSIVEw32_keyboard,DISCL_FOREGROUND|DISCL_NONEXCLUSIVE 2. 鼠标范围检测(离开客户区使用win光标,客原创 2010-05-01 14:20:00 · 1492 阅读 · 2 评论