摘要:
http://www.pin5i.com/ 阅读全文
摘要:
1.传递对象的引用;2.如果在实现构造函数时,没有注意到执行构造函数体前的初始化操作已经将所有父类对象和成员变量对象构造完毕。而在构造函数体中进行第2次的赋值操作,那么也会浪费很多的宝贵CPU时间用来重复计算。这虽然是小疏忽,但在大型复杂系统中积少成多,也会造成程序性能的显著下降;3.注意游戏运行中的IO操作;尽可能少的减少IO操作。 阅读全文
摘要:
1.传递对象的引用;2.如果在实现构造函数时,没有注意到执行构造函数体前的初始化操作已经将所有父类对象和成员变量对象构造完毕。而在构造函数体中进行第2次的赋值操作,那么也会浪费很多的宝贵CPU时间用来重复计算。这虽然是小疏忽,但在大型复杂系统中积少成多,也会造成程序性能的显著下降;3.注意游戏运行中的IO操作;尽可能少的减少IO操作。 阅读全文
摘要:
原作者邮箱 BoYueGame#Gmail#com 欢迎交流。此贴可以随意转载而不用注名出处。但也别说是你写的就行。在读此文之前,读者应该知道什么是行主,列主矩阵,写过简单的HLSL或者ASM SHADER读者知道简单的矩阵运算规则本文主要内容有:一、部分背景内容二、HLSL中的row-major matrix picking and column-major matrix picking三、MUL规则四、观察矩阵的另类解释和TBN空间的类推五、HLSL中矩阵的构造(为什么WorldToTargentSpaceMatrix要左乘LightDir)一、部分背景既然是HLSL中的指令,那我们的所有 阅读全文
摘要:
normalize (DirectX HLSL)Normalizes the specified floating-point vector according to x / length(x).ret normalize(x)Parametersx[in] The specified floating-point vector.Return ValueThe normalized x parameter. If the length of the x parameter is 0, the result is indefinite.RemarksThe normalize HLSL intr 阅读全文
摘要:
%hd,%hu分别是 短整型 和 无符号的短整型。 阅读全文
摘要:
RHW(Reciprocal-of-homogenous-w)RHW坐标是告诉D3D顶点序列已经经过3D变换,不需要在由D3D进行世界变换学习D3D9的时候遇到灵活顶点格式(FVF)中D3DFVF_XYZRHW和D3DFVF_XYZ之间差异而引起的问题。参看了同是C++博客的一篇博文,其分析如下:The RHW value, which stands for Reciprocal of Homogeneous W[1], tells Direct3D that the vertices that are being used are already in screen coordinates. 阅读全文
摘要:
C语言程序可以看成由一系列外部对象构成,这些外部对象可能是变量或函数。而内部变量是指定义在函数内部的函数参数及变量。外部变量定义在函数之外,因此可以在许多函数中使用。由于C语言不允许在一个函数中定义其它函数,因此函数本身只能是“外部的”。 由于C语言代码是以文件为单位来组织的,在一个源程序所有源文件中,一个外部变量或函数只能在某个文件中定义一次,而其它文件可以通过extern声明来访问它(定义外部变量或函数的源文件中也可以包含对该外部变量的extern声明)。 而static则可以限定变量或函数为静态存储。如果用static限定外部变量与函数,则可以将该对象的作用域限定为被编译源文件的剩余部分 阅读全文
摘要:
1 class A 2 { 3 public: 4 A(){ printf("A "); } 5 ~A(){ printf("~A "); } 6 }; 7 8 class B 9 {10 public:11 B(){ printf("B "); }12 ~B(){ printf("~B "); }13 A a;14 };15 16 17 int _tmain(int argc, _TCHAR* argv[])18 {19 B *pB;20 pB = new B;21 22 delete pB;23 24 getc 阅读全文
摘要:
sizeof(datatype),这些跟这些数据类型在内存中的字节数相等,比如,sizeof(int)=4,因为在大多数的32位机和64位机里的int类型数据所占的字节数都是4。然后说说sizeof()某个类的值,总的来说,某个类的sizeof()的值等于其所有成员变量所占字节数的和,但是,静态变量由于存在于堆里,所以不计算在内。而virtual 函数因为会有个指针,所以也会存在一个指针所占的字节数。通过上面的方法计算出的结果为0的类中,VC++都将其改为了1.原因是,一个类的sizeof()为0.假设为A。class A{};A obj_a;int b;那么我们对obj_a的内存操作将会影响 阅读全文
摘要:
语言的运行库为了支持多线程特性,必须做出一些改进。一种改进的办法就是修改所有的线程不安全的函数的参数列表,改成某种线程安全的版本。比如MSVC的CRT就提供了线程安全版本的strtok()函数:strtok_s,它们的原型如下:char *strtok(char *strToken, const char *strDelimit );char *strtok_s( char *strToken, const char *strDelimit, char**context);改进后的strtok_s增加了一个参数,这个参数context是由调用者提供一个char*指针,strtok_s将每次调用 阅读全文
|