
Ogre
文章平均质量分 63
cnblue春春
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Ogre中获取mesh顶点数据
void getMeshInfo(Entity* ent) { MeshPtr mesh = ent->getMesh(); bool added_shared = false; size_t current_offset = 0; size_t shared_offset = 0; size_t index_offset = 0; size_t next_o原创 2017-03-20 16:55:25 · 903 阅读 · 0 评论 -
Ogre灯光
Ogre定义的三种灯光类型及使用1. LT_POINT = 0,//点光源Point light sources give off light equallyin all directions, so require only position not directionlight = mSceneMgr->createLight("pointLight");light->set原创 2017-08-09 13:58:37 · 472 阅读 · 0 评论 -
Ogre中绘制平面
利用Ogre自带的Plane类绘制平面//1.定义平面对象Plane plane;//2.设置相关属性plane.normal =Vector3(0,-1,1);//法向量plane.d = 0;//与世界原点的距离 //3.创建MeshMeshManager::getSingleton().createPlane("平面的名字","所属的资源组", "平面对象", "平原创 2017-03-17 17:21:00 · 626 阅读 · 0 评论 -
Ogre 常用设置
1.跳过ogre配置窗口:restoreConfig()bool configure(void){ if(mRoot->restoreConfig() || mRoot->showConfigDialog()) //if(mRoot->showConfigDialog()) { mWindow = mRoot->initialise(true, OGRE_WIN_TITLE);原创 2017-06-08 09:48:59 · 359 阅读 · 0 评论 -
ogre 世界坐标、本地坐标、屏幕坐标之间的转换
1.本地坐标转为世界坐标void local2World(const Vector3 locP, Vector3 &worldP, const SceneNode* node){ Matrix4 worldMat; node->getWorldTransforms(&worldMat); //获取该物体的世界坐标矩阵 worldP = worldMat * locP;}2.世原创 2017-06-06 17:19:25 · 1812 阅读 · 0 评论 -
Ogre 绘制立方体
void createCube(){ //1.创建Mesh对象 MeshPtr msh = MeshManager::getSingleton().createManual("Cube", "General"); SubMesh* sub1 = msh->createSubMesh("1"); //2.定义顶点数量、信息 const float sqrt13原创 2017-04-25 17:32:07 · 851 阅读 · 0 评论 -
Ogre 获取显示鼠标位置
1. 鼠标纹理贴图2. 鼠标材质脚本material mouse{ technique { pass { scene_blend alpha_blend depth_check off texture_unit { tex_address_mode clamp texture mouse.png } } }}原创 2017-04-21 16:49:07 · 788 阅读 · 0 评论 -
Ogre 利用 pixel buffer 绘制纹理
1.Ogre相关类(1)HardwarePixelBuffer类(2)PixelBox类A primitive describing a volume (3D), image (2D) or line (1D) of pixels in memory.In case of a rectangle, depth must be 1. Pixels are stor原创 2017-04-12 17:25:18 · 545 阅读 · 0 评论 -
Ogre中场景查询和碰撞检测
Ogre中场景查询相关类基类SceneQuery、其子类RegionSceneQuery区域查询、RaySceneQuery射线查询、IntersectionSceneQuery相交查询每种场景查询都有对应的SceneQueryResult和SceneQueryListener查询结果分为场景中可移动的物体元素(MovableObject)和世界信息(复杂场景中的地形等不变的元素)原创 2017-03-16 17:05:58 · 690 阅读 · 0 评论 -
Ogre中实现动画效果之节点动画(Node Animation)
Ogre中与节点动画相关的类:(1)Ogre::Animation(2)Ogre::AnimationState(3)Ogre::NodeAnimationTrack(4)Ogre::TransformKeyFrame节点动画的使用步骤://1.创建动画对象Animation* anim= mSceneMgr->create原创 2017-03-15 17:32:06 · 1393 阅读 · 0 评论 -
包围球的计算
//【Ritter90】逼近包围球的计算----------------------------------------------------------------------//查找相隔最远的两个顶点void MostSeparatedPointsOnAABB(int &imin, int &imax, Vector3 pt[], int numPts){ int minx = 0,原创 2017-03-23 17:02:11 · 902 阅读 · 0 评论 -
Ogre 创建天空盒、天空穹、天空面
1.天空盒(立方体)六面:stevecube_up,stevecube_dn,stevecube_lf,stevecube_rt,stevecube_fr,stevecube_bk.jpg创建:mSceneMgr->setSkeBox(是否启用,材质名,skybox与camera的距离,渲染级别) mSceneMgr->setSkyBox(true,"Exampl原创 2017-04-07 17:41:56 · 1458 阅读 · 0 评论 -
Ogre传入数组到cg程序中
1.material文件定义shader 参数:param_named arr custom2.cg文件定义数组参数:uniform float4 arr注意:cg中必须使用传入的数组,否则会报错。3.主程序中更新数组信息float m_arr[10][4];Ogre::MaterialPtr mat = Ogre::MaterialManager::getSin原创 2017-05-19 18:07:16 · 518 阅读 · 0 评论