Cube添加三角形的方法

Cube历程添加三角形的方法:

首先要确立你需要与Cube共用多少个顶点,以下教程为共用两个顶点,只添加一个顶点。

步骤如下:

打开Cube.cpp文件,找到第23、24行代码,如下:

  1. const int Width  = 640;      //绘制窗口的宽度
  2. const int Height = 480;      //绘制窗口的高度

把起参数修改大一点以方便查看效果,如

  1. const int Width  = 800;
  2. const int Height = 600;

找到第54行 Device->CreateVertexBuffer 代码,如下

  1. Device->CreateVertexBuffer(
  2.     8 * sizeof(Vertex), //设置 8个Vertex长度
  3.     D3DUSAGE_WRITEONLY,
  4.     Vertex::FVF,
  5.     D3DPOOL_MANAGED,
  6.     &VB,
  7.     0);

把其中

  1. 8 * sizeof(Vertex),

中的数字“8”改为“9” (该数字代表一共使用多少个顶点缓存)
修改后效果如下:

  1. Device->CreateVertexBuffer(
  2.     9 * sizeof(Vertex),
  3.     D3DUSAGE_WRITEONLY,
  4.     Vertex::FVF,
  5.     D3DPOOL_MANAGED,
  6.     &VB,
  7.     0);

 

找到第62行 Device->CreateIndexBuffer代码,如下:

  1. Device->CreateIndexBuffer(
  2.     36 * sizeof(WORD),   //设置36个WORD长度
  3.     D3DUSAGE_WRITEONLY,
  4.     D3DFMT_INDEX16,
  5.     D3DPOOL_MANAGED,
  6.     &IB,
  7.     0);

把其中

  1. 36 * sizeof(WORD),

中的数字“36”改为“39”(该数字代表一共使用多少个索引缓存,一个三角形使用3个索引,所以为39)

修改后效果如下:

  1. Device->CreateIndexBuffer(
  2.     39 * sizeof(WORD),
  3.     D3DUSAGE_WRITEONLY,
  4.     D3DFMT_INDEX16,
  5.     D3DPOOL_MANAGED,
  6.     &IB,
  7.     0);

 

找到第86行代码,如下:

  1. vertices[7] = Vertex( 1.0f, -1.0f,  1.0f);

在其下面添加一行代码:

  1. vertices[8] = Vertex( 2.0f, -2.0f, -1.0f);

修改后,效果为:

  1. vertices[7] = Vertex( 1.0f, -1.0f,  1.0f);
  2. vertices[8] = Vertex( 2.0f, -2.0f, -1.0f);

找到第118行代码,如下:

  1. indices[33] = 4; indices[34] = 3; indices[35] = 7;

在其下面添加一行代码:

  1. //right trigon
  2. indices[42] = 8; indices[43] = 7; indices[44] = 6;

修改后,效果为:

  1. indices[33] = 4; indices[34] = 3; indices[35] = 7;
  2. //right trigon
  3. indices[42] = 8; indices[43] = 7; indices[44] = 6;

疑问理解:

1.Cube定义了一个Vertex类vertices来存放顶点缓存。(使用方法较像数组)

  1. vertices[0] = Vertex(-1.0f, -1.0f, -1.0f);  //本句代表vertices[0]的坐标是(-1.0,-1.0,-1.0)

2.Cube定义了一个WORD类indices来存放索引缓存。(使用方法较像数组)

  1. indices[0]  = 0; indices[1]  = 1; indices[2]  = 2; //其中 indices[0] = 0 中的 = 0 为对应顶点的“数组”下标。

 

最后一步,找到第206行代码,如下:

  1. Device->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 8, 0, 12);

修改为

  1. Device->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 9, 0, 13);

(注释:其中9代表有9个顶点缓存,13代表13个三角形面)

 

完成后编译执行,得到一个立方体带一个三角形的图。

 

如何解决由于背部消隐,从而在旋转到背后时,没有显示三角形的问题?

找到第158行代码,如下:

  1. Device->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);     //填充模式

在其下面添加一行代码:

  1. Device->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);

修改后,效果如下:

  1. Device->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);
  2. Device->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);

最后终于把作业完成!

享受高潮的12个秘密 两性专家大谈性爱技巧

了解和掌握一定的性爱技巧和方法,有助于提高性爱质量,让性高潮更加妙不可言。美国《健康》杂志最新邀请多位性学专家总结出以下12条性爱秘诀,有助于更容易地享受性高潮的美妙感受。
1761588d28.jpg
1.摩擦“热点”。
性爱过程中关键“热点”的摩擦有助于达到性高潮。比如,女上位可以使女性阴蒂更容易与男性耻骨直接摩擦。如果采取女下位,在臀部下面垫一个枕头也有助于更好地刺激阴蒂。美国西北大学范伯格医学院妇产科与精神病学教授,性学专家劳拉·伯曼博士表示,性爱过程中还可以使用振荡器为性爱推波助澜。
2.表达感受。
伯曼博士表示,在性爱过程中,男人的确需要指导。妻子让自己舒适的感受直接告诉丈夫,或者通过呻吟的方式表达出来。
b4284095a3.jpg
3.自慰高潮。
如果你不知道高潮的感受,那么自然无法说出来。“性爱资源”信息公司性爱教练达尼埃尔·卡瓦卢奇表示,要想训练身体对性高潮的感受,最好学学自慰。
4.锻炼“高潮肌”。
性教育专家多利安·索罗特表示,Kegel训练法是一种强健生殖器官肌肉的练习,能够增强女性的性快感。简单而言就是训练盆底提肛肌的收缩,仿佛在努力憋尿或抑制排便时的动作一样,可以同时伴有轻微的腹部、臀部以及大腿内侧肌群的收缩。每天训练几次最理想。
5.夫妻攀岩或看恐怖片。
研究表明,夫妻一起进行“寻求刺激”的活动(攀岩或者看恐怖片等),可以刺激大脑中的多巴胺,有助于增加性爱润滑感受。
046dd77b8a.jpg
6.延迟快感。
索罗特说:“性唤起时间越长,性爱高潮爆发就越猛烈。”让自己接近性快感,之后“换成小火”放慢节奏,反复几次后,性高潮会更畅快淋漓。
7.调节呼吸。
调节呼吸有助于促进性快感。性教育专家伊冯娜·弗尔布莱特说:“可以利用呼吸引导性能量。”善于调整呼吸的夫妇性爱节奏有条不紊,不至于匆忙“一泄了之”,而是蓄势待发,高潮快感更强烈。
8.看看情色电影或书籍。
夫妻品味情色电影或书籍是很好的前戏活动,性唤起越多,达到高潮的几率就越大。
4b398a862c.jpg
9.创新前戏。
弗尔布莱特说表示,如果女方比男方唤起时间更长,那么前戏不妨从相互发送性爱电子邮件或短信开始。
10.检查药物。
女性比男性更可能服用抗抑郁药物。这类药物会破坏正常性生活。如果正在服用此类药物,最好找医生咨询。
5397927183.jpg
11.尽早寻求帮助。
伯曼博士表示,如果性爱无法获得高潮,可寻求专业医生的帮助。医生可进行医学评估或细查其它相关因素。神经损伤或雄激素过低都可能是问题的症结。
12.放松身心。
法国一项涉及500多名女性的近期调查发现,超过70%的参试妇女表示,工作压力让她们失去性趣。性欲低下显然难以达到性高潮。因此,性爱前应该排除一切干扰,彻底放松身心,轻松上阵,性爱质量会更高。

安全套究竟能防什么病?日本首推最薄安全套

d4f89c0038.jpg
从公元前2000多年开始,安全套出现在人们生活中,开始发挥预防疾病和避孕的作用。有多少人知道安全套的发展历史,是谁发明了安全套?人类什么时候开始使用安全套?第一个安全套是用什么材料制成?安全套最原始的功能是什么?
现存世界上最古老的安全套距今已经有300多年历史,用鱼鳔制成,厚五层。
早在公元前2000多年,安全套就出现在古埃及人的生活中,那个时候被称做阴茎套,功能并不是防范疾病和避孕,它和女性佩戴的首饰一样,被当作装饰品,男人一般挂在身上,是财富和地位的象征。
到了公元1000多年前,古代埃及人开始用山羊、猪等动物的膀胱或盲肠来做安全套。从那个时代开始,安全套被用来防范疾病和感染。在法国南部多尔多涅地区的康巴里勒斯洞窟中,发现了一些创作于公元100多年时的安全套壁画,这被视为是欧洲使用安全套的最早证据。
现存世界上最古老的安全套诞生于1640年前后,是利用鱼鳔和动物肠子制成的,已经有300多年的历史。安全套一端以丝线缝密,另一端的开口可以锁紧,防止滑落。据记载,这类安全套很难在需要时马上派用场,因为事先要以暖和的奶将安全套隔夜浸软,才能使用。这10个在英国伯明翰附近的达德利古堡发现的安全套,曾经在荷兰举办的性爱展览中展出过,由于年代久远,现已像枯叶一般干硬。
24c68261cc.jpg
现代安全套诞生于17世纪的英国,用小羊的盲肠制成,主要用来防范疾病。
在16世纪意大利帕多瓦大学解剖学家法罗皮斯的实验记录中,出现了有关安全套的记载,他第一次对利用安全套预防疾病的实验性使用进行公开描述,这是迄今为止发现的最早的有关安全套的文字记载。
15世纪末,哥伦布发现了新大陆,同时水手也把梅毒从美洲带回了西班牙,梅毒开始在欧洲蔓延开来。不久之后,法罗皮斯发明了一种用亚麻布套制成的安全套,并在1100名男性中进行了使用安全套的实验,他们中没有一人感染梅毒。这个时候安全套的主要功能还是预防性病的传播而不是避孕。
到了17世纪末,英国医师约瑟夫.康德姆发明了现代安全套,这种安全套是用小羊的盲肠制成的,康德姆先把羊肠剪成适当的长度,晒干,接着使用油脂和麦麸等柔软剂,使它柔软,直至变成薄薄的橡皮状。
18世纪开始,人们开始重视安全套在避孕方面的功效。
由动物肠子制成的安全套到18世纪的时候开始广为人知,并且迅速流行起来。这时候的安全套不仅仅是用来预防疾病,人们开始重视它在避孕方面的功效,并真正把它作为男用避孕工具,自此阴茎套才有了避孕套这个雅号。同时期日本人曾使用过两种安全套,一种软质的是由皮革制成;另一种硬质的是由龟壳或是兽角所制造。
从这个时候开始,安全套被当作一种商品来宣传,开始出现专门售卖安全套的商店,到1766年很多商店还开始制作关于安全套的传单和广告。
96a40fece0.jpg
现代安全套的材料在不断改进,从橡胶、乳胶到最新的单一聚亚胺酯。
1843年,古德伊尔和汉考克发明了革命性的橡胶硫化法,他们将生橡胶与硫磺加热处理,这个过程可以把橡胶变成一种坚固而有弹性的材料。这个时候开始,橡胶安全套开始取代亚麻布和动物肠子制作的安全套,安全套开始进行大量生产,而且品质更加可靠,价格更加低廉。
进入19世纪后期,科技进步使安全套的生产工艺不断改进,乳胶安全套开始流行。第一个乳胶安全套是荷兰物理学家阿莱特.雅各布博士在1883年发明的,由于采用了又薄又软的乳胶,安全套使用起来更加安全、舒适,上市后广受欢迎。
到了1930年初,安全套的制造技术再次革新,液态乳胶取代了传统的橡胶片,直到今天这仍是安全套的基础原料。20世纪90年代,安全套的材料有了最新发展,以单一聚亚胺酯为原料的安全套生产出来,单一聚亚胺酯的韧性是乳胶的两倍,可制成更薄、更敏感的安全套。
日本率先研制超薄型安全套,厚度仅为0.03毫米。
现代安全套的基本形状为圆柱形,顶端有贮精囊。按照国际标准,最长的安全套为198毫米,目前市面上销售的安全套分为大、中、小三种型号,大号直径为35毫米,中号直径为33毫米,小号直径为31毫米。选择安全套的型号应该依据个人的不同情况,专家建议,初次使用安全套应先用中号,如不合适再改用大号或小号。

用VISUAL STUDIO编译DirectX SDK必须添加的包含文件和库文件

用VISUAL STUDIO编译DirectX SDK必须添加的包含文件和库文件。添加步骤如下:

点击“工具–选项”进入设置页面

 

进入“项目和解决方案–VC++目录”。

更改“显示以下内容的目录(s)”为包含文件(如下图)。

按黄色文件夹标志添加一行。修改设置为 /安装目录/Microsoft DirectX SDK(JUNE 2010)/Include

 

更改“显示以下内容的目录(s)”为库文件(如下图)。

按黄色文件夹标志添加一行。修改设置为 /安装目录/Microsoft DirectX SDK(JUNE 2010)/lib/x86

也可以把  /安装目录/Microsoft DirectX SDK(JUNE 2010)/lib/x64 也添加进去