学习过程
文章平均质量分 66
xikema
看什么都很美好的傻鸟
展开
-
高效率的3D图形数学库
最近研究汇编比较多,看自己C++代码的汇编源码简直是一种折磨,这迫使我将所有数学库重新用汇编指令实现,当然,包括对CPUID的检测和使用扩展指令集。测试结果是与D3DX9的数学函数比较的,效果另人满意,除了矩阵相乘的算法总是与D3DXMatrixMultiply函数有7%的差距外,其余都是持平甚至遥遥领先(也许是我疯了,大家自己测一下)。 由于本人技术浅薄,测试效率的方法又比较简陋,所以还原创 2007-05-29 17:48:00 · 2375 阅读 · 2 评论 -
boost::function
function的主要作用是用来存储函数对象,并对函数对象的操作语法进行统一化处理,是非常好用的,可以结合普通C++语法以及boost::bind和boost::signals使用,总之多说无用,直接看代码吧: #include #include #include int test_add(int a, int b){ return (a+b);}cl原创 2009-05-14 22:50:00 · 670 阅读 · 0 评论 -
yake其实没有想象中的好
当我的同事提到yake的时候,我就也跟着去瞅了瞅,发现封装的东西还真不少,boost用的非常多,网络用的asio,脚本是lua,图形肯定是Ogre了,还有零散的数学库,其他还提供了一些辅助的,如fsm和md5等等。一开始给人眼前一亮,随着我不断的翻阅源代码后才发现,原来只是在Ogre、boost、luabind外面包了一层好看一点的皮而已,就像下面的代码一样:typedef boost::原创 2009-05-14 22:55:00 · 928 阅读 · 0 评论 -
boost的bind使用感受
boost库的bind真的很灵活,与STL结合的也很紧密,省去了不少的麻烦,还可以嵌套使用,但是嵌套的多了就会阅读困难了,所以,个人感觉跟boost::function结合使用应该是个不错的选择。 #include #include #include #include void StaticFunc(){ std::cout<<"Hello! This i原创 2009-04-07 13:50:00 · 2339 阅读 · 0 评论 -
MFC新的生机
我的一位同事发现了vs2008中MFC新的生机,在VS2008中,微软为MFC加入了很多新的元素,特别是控件这一块,丰富了很多,应该是极大的提高了MFC的生命期。看来Windows下MFC才是王道吗?准备用WTL的,看了那些控件我感觉还是回到MFC里再待一会儿吧!WTL调用那个Xtreme Tookit Pro ActiveX的库太麻烦了,整到最后还得自己计算渲染View的窗口大小,让我吐了一地都原创 2009-04-04 23:47:00 · 597 阅读 · 0 评论 -
boost编译用bjam
还记得是这样的:下载boost库,然后下载bjam.exe,放在boost库的安装目录下,因为需要用到boost-build.jam,所以不能随便放置。然后你就可以进入控制台去输入指令了: bjam --show-libraries 可以看见需要编译的库的名称然后就可以开始编译你想要的库了,下面是典型的格式F:/sdk/boost>bjam --toolset=msvc-8原创 2009-04-04 23:24:00 · 7774 阅读 · 0 评论 -
mysql安装并实验成功,记录遇见的问题
去官网下了最新版本的mysql5的安装包,安装完毕后琢磨了一天,在控制台命令行中终于可以自由控制数据库和表格的内容和数据了。中途遇到一个卡壳的地方,就是不承认你的权限(改天把错误码贴上来吧)。后来发现是由于我没有在mysql命令后面加上帐户的参数,导致了以匿名账号进入的数据库。于是我就在后面加上了 -u root然后回车,便可以了。如果你在安装数据库的向导中指名了其他的管理员账号并加入了密码,你就原创 2009-04-04 23:31:00 · 741 阅读 · 0 评论 -
cegui告捷
忙活了3天时间,瞅了一遍cegui,感觉很好,设计的很大方。但一个问题困扰了我一天多的时间才得以解决,问题的原因却极其白痴,居然是因为我使用debug模式去链接release模式的库导致的问题。本来这个问题不该出现的,但是我刚开始在debug模式编译debug的lib库,出现了“没有d3dx9d_37.dll”的提示,变态的d3d9居然后面跟个37,害得我偷懒用了release模式的库,最终导致了原创 2009-02-26 21:04:00 · 1290 阅读 · 0 评论 -
WTL调用ActiveX实验
调用XtremeToolkit的控件,发现还不是想象的那么好用,出现了一些问题,但基本都解决了。唯一让我想不通的是__uuidof取到的GUID居然是错误的!最终我使用注册表中查到的GUID传进AtlAxCreateEx才解决问题。原创 2009-02-21 10:43:00 · 524 阅读 · 0 评论 -
高执行效率的数学库开发(2)
这次将介绍SSE扩展指令集,以及矩阵乘法的优化,不喜汇编者请发送WM_CLOSE消息!!闲话就不说了,SSE指令的历史到处都是,主要说说我对指令集的原理、作用和用法的理解。SSE指令集的最大有点就是能够 4个float并行运算,与其说这恰好符合图形算法,到不如说就是为图形编程设计的。比如说,两个向量相加,x1+x2, y1+y2, z1+z2, w1+w2。用了4条加法指令,不如来一条省事。这原创 2007-05-30 23:29:00 · 1726 阅读 · 1 评论 -
尝试游戏对象的建模(1)——游戏对象间的关系
在游戏中,我们经常会看见很多活动的或静止的物体,如:人物、怪物、房屋、可破坏的巨石和墙面等等。 这些物体可以跟玩家进行各种交互,譬如碰撞检测、出发剧情、战斗和位移。像这样的情况几乎在每款游戏中都存在着,且使用之频繁超出大多数人的预料,因此而产生的BUG和设计问题常常是让人头痛的问题,我写这一系列的文章也是为了尝试设计一些有广泛扩展性和可靠性的架构来解决问题,虽然最终可能也并不理想,但作为自己的实原创 2009-05-16 19:27:00 · 695 阅读 · 0 评论