摘要: D3D中光源可大致分为3种,点光源,方向光,环境光 1) 可以大致对应我们生活中的 电灯泡,太阳光,环境光。通过抽象各种光的性质,我们可以使用结构体Light,以更方便地表示光。 光可以定义如下 Struct Light{ D3DXVECTOR3 pos;//位置 D3DXVECTOR3 dir;//方向 D3DXCOLOR ambiet;//环境光颜色 D3DXCOLOR dif... 阅读全文
posted @ 2013-02-21 22:41 曾健 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 人有时候就是莫名其妙。(说自己..无他 阅读全文
posted @ 2013-02-13 22:39 曾健 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 今天想看看Direct10的,却发现自己连最基本的Windows程序都忘了是怎样的..于是照着书码了一遍代码,顺便贴到博客上来,提醒自己..下面是一个简单的Windows应用程序。#include <windows.h>HWND myWinWnd = 0;bool iniWinApp(HINSTANCE instanceHandle,int nshow);int run();LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam);/*第一个参数为该程序的实例句柄,一个程序可以有多个实例,就是我 阅读全文
posted @ 2013-01-25 15:53 曾健 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 在阔别三饭一个多学期后,终于在学期的最后一天,去三饭吃早餐。到了饭堂才发现自己没带饭卡又没带钥匙..还好遇到了世谨,就跟他们一起去吃肠粉。走出饭堂,看到明亮的天空。忽然有种久违又熟悉的感觉,只有在大学才体验得到的感觉。平和安静,每个人有自己的忙,自己的烦心,也有自己的小欣喜。背着书包的人来去匆匆,却没有生活上的担忧。仿佛我是第一天来到广州,来到广工。很奇妙(后来的事就忘了,果然有感觉就要及时写下来。不然就忘光了 - -) 阅读全文
posted @ 2013-01-17 09:52 曾健 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 突如其来的世界末日,让整个世界人心惶惶。我也应景做了一个梦 - -、一个毫无逻辑的梦故事背景:在末日来临之际,人们使用各种手段避难。大部分人选择前往印度,以及北美避难。人物:我,老爸,余国鹏(他出现得莫名其妙···),各种酱油角色物品:直升机,热气球,相机,崩溃的水库大坝,汽车,地铁,怪兽,好像还有个妹子?地点:虎尾山,水库,很像小州高架附近的场景,很像青藏公路的场景事件:...忘了很多,大体讲的是怎么通过各种交通工具,从中国逃往印度(美洲太远了)。啊..回忆不起来了,忘了好多。其中一个是我们三人站在瞬间崩溃的大坝面前,面对而来的是无尽的,疯狂奔腾的水。不知道是知 阅读全文
posted @ 2013-01-06 14:29 曾健 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 友元 == 有缘。没错~有缘之后可以做很多事情,比如去你家蹭吃蹭喝..C++中 类的友元(包括友元函数,友元类),可以访问该类的私有和继承变量。虽然破坏了封装性,却也为编程提供了便利。是一种共享数据的方式之一(除此之外还有,静态数据,全局变量)。下面描述友元应用的场景:现在有两个类A,B。B需要获取A中的private数据,有两种方式,通过接口获取数据,或者B(或其成员函数)成为A的友元直接访问数据。假设,调用数据非常频繁,这时使用友元就可以提高效率。但是,当A中的数据结构发生改变时,B的函数也要发生相应改变。接口的好处~封装的威力XD友元函数:在要成为其友元的类中声明该函数,并在函数前增加f 阅读全文
posted @ 2012-12-29 23:23 曾健 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 静态数据成员通常,每个对象都有各自的数据拷贝。(一个类实例化后,各个对象的数据是不相干的)但是有些情况,要求多个对象共享一个数据时,我们需要用到静态数据成员。具体使用方法是:在类中声明数据成员时,在前面加上关键词static 。例如 satatic int count;//表示count是静态数据成员这样每个不同的类对象就共享同一个count。初始化时要注意,必须使用类名引用,然后初始化。类似于int man::count = 1;ps:为什么不用全局变量?答:使用全局变量破坏了类的封装性,徒增麻烦。至于破坏封装性为什么会惹麻烦找时间再研究吧...静态成员函数静态成员函数可以解决由静态数据成员 阅读全文
posted @ 2012-12-29 22:51 曾健 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 普通变量可以使用赋值号(=)赋值,但是由于类的数据成员众多,所以使用构造函数用于构造对象。构造函数也是类的成员函数,除了有成员函数的所有特征外,还有一些不同之处:构造函数的函数名跟类名一样,而且没有返回值。构造函数一般被声明为公有函数,除非我们不允许某个类生成对象则将它声明为private或protected属性。编译器碰到对象声明语句时,会自动生成对构造函数的调用语句,所以我们常说构造函数是在对象声明时由系统自动调用的。构造函数为成员变量赋值的方式有两种:1.初始化列表 2.在函数体内赋值在对一般变量初始化时,两种方式并没有太大区别。但是当类的成员变量是另一个类时(嵌套类),只能使用初始化列 阅读全文
posted @ 2012-12-29 15:10 曾健 阅读(158) 评论(0) 推荐(0) 编辑
摘要: const可以看做是弥补#define的不足而出现的。显然它的功能已经大大超过了#define。const可使用与变量与函数还有指针,引用,其实质都是一样“使不改变”。const用于变量与对象:const int test = 1;//用于普通变量,相当于#define test 1 //这样,test就是常量了,并且与#define相比,它可以参加逻辑运算。//用于类对象class A{ public: int num;};int main(){ const A testA; testA.num = 1;//报错,const对... 阅读全文
posted @ 2012-12-25 17:49 曾健 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 谢谢你让我知道这件事情,这是我这两年听到最美丽的话。希望你会幸福best wish :-) 阅读全文
posted @ 2012-12-25 09:54 曾健 阅读(131) 评论(0) 推荐(0) 编辑