- 博客(16)
- 收藏
- 关注
转载 typedef用法小结
点击打开链接来源一:Using typedef to Curb Miscreant CodeTypedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法。不管怎样,使用 typedef 能为代码带来意想不到的好处,通过本文你可以学习用 typedef 避免缺欠,从而使代码更健壮。typedef 声明,简称 typedef,为现有类型创建一个新的名字。比如人们常常使用 ty
2012-04-03 09:10:53
364
原创 OGRE 材质脚本解析的分析
material 08-Default{ technique { pass { ambient 0.588235 0.588235 0.588235 1 diffuse 0.588235 0.588235 0.588235 1 specular 0 0 0 1 10 texture_unit { texture liuxing1.bmp
2012-03-16 09:25:35
910
原创 OGRE材质创建小注
1、材质创建。Ogre::MaterialPtr lMaterial = lMaterialManager.create("M_NoLighting+OneTexture",lNameOfResourceGroup);2、ResourcePtr ResourceManager::create(const String& name, const String& group, bool
2012-03-15 14:34:13
947
原创 ResourceGroup 关系
看下述代码,可以理清四者的关系:ResourceGroupManagerResourceGroupResourceLocation、Archive。 这2者应该是并行的关系 void ResourceGroupManager::addResourceLocation(const String& name, const String& locType, cons
2012-03-06 18:43:13
606
转载 c++异常处理机制示例及讲解
点击打开链接PS: 博主注, 转载的这篇文章写得不错。只是例子中传的指针是有问题的。原因在于在catch捕捉到错误之前,该对象已经析构了。不过,瑕不掩瑜,不错。注:该例子我在工作盘 test-->testException中有实现。 这两天我写了一个测试c++异常处理机制的例子,感觉有很好的示范作用,在此贴出来,给c++异常处理的初学者入门。本文后附有c++异常的知识普及,有兴趣者
2012-02-26 18:51:53
395
转载 Qt的内存管理
点击打开链接 在QT的程序中经常会看到只有new而不delete的情况,其实是因为QT有一套回收内存的机制,主要的规则如下:1.所有继承自QOBJECT类的类,如果在new的时候指定了父亲,那么它的清理时在父亲被delete的时候delete的,所以如果一个程序中,所有的QOBJECT类都指定了父亲,那么他们是会一级级的在最上面的父亲清理时被清理,而不用自己清理;2.程序通常最上层
2012-01-14 11:47:09
648
转载 【转载】关键字:Const,Const函数,Const变量,函数后面的Const!~
点击打开链接 看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所
2012-01-05 08:10:06
401
转载 The Property Browser Framework
点击打开链接 The most recent Qt Solutions release included the Property Browser solution, a framework providing a set of graphical editors for Qt properties similar to the one used in Qt Designer.
2011-12-30 12:42:39
2060
原创 揭秘 propertyToWrappedProperty()->insert(varProp, internProp)
1、看宏定义typedef QMap PropertyMap;Q_GLOBAL_STATIC(PropertyMap, propertyToWrappedProperty)2、Q_GLOBAL_STATIC 。使用Q_GLOBAL_STATIC宏来创建静态全局对象,例如:Q_STATIC_GLOBAL(QString, s) void foo()
2011-12-27 08:04:06
1334
转载 Memory Ordering
点击打开链接 Background很久很久很久以前,CPU忠厚老实,一条一条指令的执行我们给它的程序,规规矩矩的进行计算和内存的存取。 很久很久以前, CPU学会了Out-Of-Order,CPU有了Cache,但一切都工作的很好,就像很久很久很久以前一样,而且工作效率得到了很大的提高。 很久以前,我们需要多个CPU一起工作,于是出现了传说中的SMP系统,每个CPU都有独立的Cac
2011-12-27 07:10:24
464
转载 volatile
点击打开链接可能很多人都没用过C/C++中的这个关键词,甚至不知道它的存在,本人以前也只是有所耳闻,但似懂非懂。 这是一个类型修饰符,位置同const、static等。一个使用volatile修饰的变量,比如volatile int i;每次对该变量的直接引用,都会访问内存,而不是从寄存器中读取(如果其已经在寄存器中)。这样一来,volatile似乎没什么用处,反倒会使数据的读取相对变慢
2011-12-26 22:01:45
520
原创 备忘录:QT Property Browser
自己的一点记录,非教程,比较乱, 以 simple 为例子。1、 QtVariantPropertyManager *variantManager = new QtVariantPropertyManager(); 创建QtVariantPropertyManager,在类构造函数中创建了各个QT本地类型的PropertyManager,记录下4种信息: 1、
2011-12-25 18:38:22
4656
转载 Ogre的MaterialSystem分析
点击打开链接: 原始链接 1. Mesh 、SubMesh、SubEntity和Entity所有的Mesh对象是由SubMesh构成的,每个SubMesh代表了Mesh对象的一部分,该部分只能使用一种Meterial。如果一个Mesh只采用一种Material,那么它可能只包含一个SubMesh。当基于Mesh创建出一个Entity时,该Entity由多个SubEntity
2011-12-21 16:43:38
578
原创 OGITOR 探索打开场景(2)
第一部分都是做些准备,这一部分就是主力了:int COgitorsSceneSerializer::Import(Ogre::String importfile)采用代码加注释的方式结合具体的函数探索它。int COgitorsSceneSerializer::Import(Ogre::String importfile){ OgitorsRoot *ogRoot = Ogi
2011-12-13 12:34:13
906
原创 OGITOR 探索打开场景(1)
探索一下和OGITOR 相关的打开场景操作void MainWindow::openScene(){ Ogitors::OgitorsRoot *ogRoot = OgitorsRoot::getSingletonPtr(); if(ogRoot->IsSceneLoaded()) mOgreWidget->setSwitchingScene(tr
2011-12-13 12:10:17
691
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人