摘要: 代码是用标准C++写的,vs2008,vs2010,vs2012下测试通过。unix下尚未编译过,如果unix下遇到什么问题,请第一时间告诉我,我会尽快更正。Version 0.1下载地址: 文档下载地址代码中可能还有很多不足之处我没有发现,欢迎朋友们提出批评与建议。如果朋友认为分析和代码哪里有不足之处,请在这篇博文下留言,我会尽快给大家回复。Version 0.11有朋友建议如果有目录结构而且结构再规范点就好了。等到闲下来处理,博主会尽快加上。 阅读全文
posted @ 2012-11-28 11:01 singmelody 阅读(645) 评论(0) 推荐(1) 编辑
摘要: 今天在写资源管理器的时候,加载音频文件,发现文件头的格式对不上,刚开始以为是读头的逻辑出错了,在vs下用Debug的Memory和用hex格式对比发现,最终是发现内存没有加载全只是加载了一部分的原因,是读到了0x1a google了一下,发现自己打开文件的方式不对,我使用的是:FILE* fi... 阅读全文
posted @ 2014-06-15 01:35 singmelody 阅读(1175) 评论(1) 推荐(1) 编辑
摘要: 最进要写一个多线程加载资源的资源管理器(ResourceManager)和多线程音频解码器(MultiThread Decoder)。因为距最近一次用到多线程放下好久了,所以今天把生产者消费者问题练一下手。 为什么选择生产者消费者问题,因为他比较接近资源管理器和多线程音频解码器的原型。 比如... 阅读全文
posted @ 2014-06-09 23:51 singmelody 阅读(3945) 评论(0) 推荐(0) 编辑
摘要: 最近自己写的引擎想要做OpenGL ES 3.0,因为现在市场大部分是是 OpenGL ES 2.0,首先要找一个支持OpenGL ES 3.0的设备或者模拟器,所以顺带着对市面上支持的设备做了一些调查。1.支持OpenGL ES 3.0设备IOS从IOS7以上版本开始支持ES 3.0*IOS GP... 阅读全文
posted @ 2014-06-07 12:52 singmelody 阅读(7290) 评论(0) 推荐(1) 编辑
摘要: 今天遇到了字串相关Bug,大概描述一下,就是在导入Fbx的时候,字符串中有特殊字符(PS,如'?',')')等字符,导入的时候,如果按照原字符名称会出现问题。问题主要体现在两个方面:1.引擎和编辑器本身是做字符串压缩的,工程的长路径,在引擎中会用"asset:"标志,而fbx中有":"会影响编辑器的... 阅读全文
posted @ 2014-04-24 18:11 singmelody 阅读(1119) 评论(0) 推荐(0) 编辑
摘要: 来源:http://www.cnblogs.com/rickerliang/archive/2011/05/07/2040062.html Deferred Shading是现在比较流行实时渲染方式,这种渲染方式能把Geometry和Lighting之间的耦合解开,把Forward Shading的Geometry Pass*Lighting Pass复杂度下降为Geometry Pass+Lighting Pass,特别适合于渲染较多动态光源的场景,本文将快速浏览实现Deferred Shading的各个阶段,并提供一个带源代码的简单的例子程序,这个程序可以在SM2.0及以上的硬件上运行,通 阅读全文
posted @ 2013-09-08 23:27 singmelody 阅读(286) 评论(0) 推荐(0) 编辑
摘要: OgreLogManager分析设计上从名字就可以推断出来LogManager使用了单例模式,这样为LogManager的全局访问提供了非常大的帮助。下面是LogManager的继承结构: 继承结构:Ogre::Singleton<LogManager>:我们之前有对Ogre的Singleton模式进行过分析,这里不再赘述。详见Ogre设计模式之SingletonLogAlloc:本来我想把LogAlloc附带分析了,但是分析代码的过程中,发现其内部的复杂度已经超过我目前的C++和多线程的理解水平,所以未来抽时间单独的把LogAlloc分析一下。现在先把LogAlloc概... 阅读全文
posted @ 2012-11-11 22:22 singmelody 阅读(972) 评论(0) 推荐(0) 编辑
摘要: 开始准备:boost1.51 下载地址:http://sourceforge.net/projects/boost/files/boost/1.51.0/cmake2.8 下载地址:http://www.cmake.org/files/v2.8/cmake-2.8.10.1-win32-x86.exeogredeps 下载地址:http://www.ogre3d.org/download/sourceogresource 下载地址:http://www.ogre3d.org/download/source开始安装:1.编译boost。用命令行进入boost目录,运行bootstrap.bat, 阅读全文
posted @ 2012-11-10 15:47 singmelody 阅读(963) 评论(0) 推荐(0) 编辑
摘要: 关于SALVIA: SALVIAisapureobject-orientedsoftware3Drendererwithaprogrammablepipelineonly. Interfaces,operationsandparametersofittakeadvantageofmoderngr... 阅读全文
posted @ 2012-11-09 11:41 singmelody 阅读(623) 评论(0) 推荐(0) 编辑
摘要: Ogre很多地方采用了单件模式,单件模式的好处在于维护某个类在程序中只有唯一的实例,实例可以在程序的命名空间中的如何地方被直接调用,这样就避免了对实例指针的传递。LogManager ,ControllerManager, DyLibManager等都是使用的单例模式。既然知道了单例模式的好处和Ogre的广泛用途,少年你肯定想知道Ogre的singleton是如果实现的吧。下面我们结合LogManager来对它研究一番。单例模式大家都知道(PS : 不知道的少年可以参考《设计模式》一书),我们下面主要针对普通Singleton和Ogre的Singleton的相同点和不同点来进行一下分析相同点: 阅读全文
posted @ 2012-11-05 15:45 singmelody 阅读(845) 评论(0) 推荐(0) 编辑