CSDN真恶心

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年2月5日

摘要: 因为手中缺乏折纸的数据结构,所以只好用我自己的导航立方体来研究下ogre的拾取问题昨天重写了Cube,现在通过使用面索引点的方式来储存数据# point listPL = [[-20, 20, 20], [-20, -20, 20], [20, -20, 20], [20, 20, 20], [-20, 20, -20], [-20, -20, -20], [20, -20, -20], [20, 20, -20]]# index list /ft/bk/lt/rt/up/dnIL = [[0,1,3], [3,1,2], [7,6,4], [4,6,5], [4... 阅读全文
posted @ 2012-02-05 16:05 Kid桑 阅读(277) 评论(0) 推荐(0) 编辑

2012年2月4日

摘要: 由于缺乏面,边和点得数据结构,所以Picker那部分暂时停下来了。由于渲染层的顶点数据也要我们自己来组织管理,所以感觉现在的层次结构是这样的:逻辑层(逻辑面,逻辑边,逻辑点)物理层(主要是处理粒子和受力,不过还不确定其组织形式)渲染层(顶点,索引,section等)今天我想先接着上次的设计把导航立方体给完善了 阅读全文
posted @ 2012-02-04 15:37 Kid桑 阅读(107) 评论(0) 推荐(0) 编辑

2012年2月3日

摘要: 接下来我要实现以下功能:简单的鼠标拾取折纸上的顶点,边或面;当鼠标拾取这些元素时,高亮该元素为了达到这个功能,我准备写一个名为SimplePicker的类在描述这个类的组成之前,我要先回顾一下整个鼠标拾取事件处理的流程我想首先借助ogre帮我定位到我的entity,接下来的事情再自己做。这个SimplePicker应该是继承自BasicPicker类。事实上,BasicPicker类应该是所有工具的父类BasicPicker的结构如下公有成员:CloverElement overedElementCloverElement selectedElement公有方法:onMove()onPre.. 阅读全文
posted @ 2012-02-03 16:44 Kid桑 阅读(194) 评论(0) 推荐(0) 编辑

2012年2月2日

摘要: 在今天早上的时候,我就已经实现了当方块在0,0,0点时的自由拖动"请大家自动忽略头顶一行上下左右,那是我蠢了一开始我为方块的每一个面都定义了一个material,但后来我发现其实只用定义一个material,不同地方的贴图用不同的纹理坐标就可以解决"然后今天一整个下午都在研究当方块不在0,0,0 点时的自由拖动实在是很头疼,主要碰到的问题有以下两个:1.当方块不在0,0,0点时,旋转要先加上偏移量。本身我对四元数就不熟,弄了半天它还是再瞎转。2.在我看来这个问题要比上个问题严重,那就是当物体靠近摄像机的边缘时,会发生很严重的形变就像这样:这实在是太2b了(不要问为什么头顶那 阅读全文
posted @ 2012-02-02 18:59 Kid桑 阅读(209) 评论(0) 推荐(0) 编辑

摘要: 今天家里来亲戚,忙了一天,进度拖慢不少首先Ogre下面选择3d物体还是十分方便的,最大的问题还是只能定位到entity,如果想要定位到网格顶点,需要自己编写相关方法还有就是Ogre默认使用的是四元数进行旋转,四元数我快要忘光了,要去找回来传送门:http://www.douban.com/note/150335308/ 阅读全文
posted @ 2012-02-02 00:06 Kid桑 阅读(159) 评论(0) 推荐(0) 编辑

2012年1月31日

摘要: 果然验证了简单的问题不简单,想要弄个导航立方体,遇到了各种各样的难题首先是Ogre貌似并不能直接导入3ds模型,Ogre仅支持自己的.mesh格式的模型所以我要通过一个叫做3ds2mesh的工具把我的立方体3ds转换成mesh第二个难题是为立方体贴图因为6个面标识着六个方向,所以要为六个不同的面贴不同的图这就意味着我第一步的工作白费了!无法为一个现成的,空白的六面体贴图这就意味着,要不我就用3dsMax把贴好图的立方体导出来,要不我就用代码生成一个立方体,并同时为每一个面定义贴图我选择后者。(参考资料的传送门:http://0flyingpig0.blog.163.com/blog/stati 阅读全文
posted @ 2012-01-31 20:53 Kid桑 阅读(337) 评论(0) 推荐(0) 编辑

摘要: 啊,这一晃眼十多天就过去了今天天气转暖了,是个开始工作的好日子前两天亮哥提议我们使用Python加速开发,也就是使用PythonOgre,是个不错的建议于是前两天装了PythonOgre,看了看教程和例子,发现PythonOgre里面已经集成了CEGUI,好吧真方便(顺便吐槽一下,这几天习惯了使用VIM,突然有点不习惯普通的文本编辑方式)今天开了小组会议,会议中我们把Clover逻辑层面的数据结构给讨论了一下会议记录传送门:http://www.everet.org/2012/01/clover-architecture-design-meeting.html(密码什么的我会随便乱说么)回顾一 阅读全文
posted @ 2012-01-31 00:35 Kid桑 阅读(268) 评论(0) 推荐(0) 编辑

2012年1月16日

摘要: 这几天太颓废了,浪费了大量的时间,不过还是有进展的。首先基本上弄清楚了CEGUI的使用方法,一些XML的格式。幸好CEGUI有提供专门用来做界面的工具,不需要自己写XML。然后就是使用CEGUI完成了一些交互工作,发现还是挺简单易用的。网上一般说CEGUI难用,估计是在写界面的那块比较麻烦。接下来先暂停一段时间,一来是快过年了,二来是想继续弄弄SCAR那边。 阅读全文
posted @ 2012-01-16 12:40 Kid桑 阅读(118) 评论(0) 推荐(0) 编辑

2012年1月9日

摘要: 我把昨晚睡觉前编译好的CEGUI的dll文件替换进工程里面,没想到那个bug居然莫名其妙地消失了,好吧,真神奇……今天换了个新的文件夹,用相对路径配置了OGRE和CEGUI,感觉没有问题了。谢天谢地!终于把环境给配好了。CEGUI和OGRE内部的架构感觉上非常的相似,据说CEGUI曾经是OGRE的一部分,后来才分裂出来单独成库。小小吐槽一下,OGRE的编程实现水准感觉上高Irrlicht好多……内部大量使用单例模式和工厂模式,使得拓展性超强。另外,我倒现在还没看懂OGRE是怎么管理内存的。看样子直接看OGRE源码学习它的架构是需要耗费很多时间的。时间宝贵,我还是先学会怎么用它吧。从分工上来说, 阅读全文
posted @ 2012-01-09 15:37 Kid桑 阅读(178) 评论(0) 推荐(0) 编辑

2012年1月8日

摘要: 我下载了Ogre的源码和Dependencies,使用CMake进行了配置,生成了VC10的.sln文件Ogre的工程路径都已经设置得很好,编译一次通过没有出错。我记得我编译irrlicht引擎的时候可是出现了不少麻烦惊讶地发现原来CEGUI可以搭配irrlicht一起使用,早知如此当时就不用费劲自己写GUI了。编译完成后出现了个exception,说无法使用zip路径。google了下发现是一个bug,需要手动在CMake里面添加OGRE_CONFIG_ENABLE_ZIP。重新编译,又要耗掉几十分钟希望这次能成功。好了,现在我手上有一份编译好的OGRE工程,我还可以方便的进去查看源码学习。 阅读全文
posted @ 2012-01-08 14:00 Kid桑 阅读(222) 评论(0) 推荐(0) 编辑