自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

puppet_master的专栏

coding can not change the world, but I will create my own world!

  • 博客(15)
  • 收藏
  • 关注

原创 Direct-X学习笔记--DirectInput

学了绘制简单的2D图形以及3D物体之后,该学学怎么控制物体了!之前一直是用的是Windows自带的消息循环,WM_KEYDOWN,WM_MOUSELBUTTONDOWN等等,但是这个慢的不行,完全跟不上游戏的速度。以前用GDI/GDI+写游戏的时候使用过一个GetAsyncKeyState方法,可以用于实时的检测键盘按下,虽然简单,不过据本人亲测,会被360发现...所以还是好好学学正统的游戏

2015-06-20 14:10:37 2884

原创 Direct-X学习笔记--光照&材质&DX自带几何体绘制

DX中自带几何体的绘制:为了方便,DX为我们提供了几种自带的几何体,我们就不需要定义成吨的顶点来绘制一个图形了。常用的有几种,立方体,茶壶,柱体,球面体。HRESULT D3DXCreateTeapot( __in LPDIRECT3DDEVICE9 pDevice, __out LPD3DXMESH *ppMesh, __out LPD3DXBUFFER *

2015-06-16 20:19:36 2243

原创 Direct-X学习笔记--变换

1.顶点格式改动:之前写的几个例子都是2D的例子,使用的顶点格式是已经经过变换的顶点格式。而要写3D程序,我们就必须要用未经过变换的顶点。所以在定义顶点时也要有所改变://------------绘制图形步骤1.定义灵活顶点格式#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE)//坐标为经过变换的屏幕坐标,顶点的颜色//----

2015-06-15 17:36:32 1093

原创 《C++Primer》读书笔记--命名空间

C++命名空间问题

2015-06-14 16:52:53 627

原创 设计模式学习笔记--代理模式

定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。UML图:(图片来自百度百科)例子:// 设计模式Demo.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using

2015-06-14 14:52:23 1320

原创 DirectX学习笔记--索引缓存绘图

引言:顶点缓存绘制图形,虽然比较简单,但是简单的图形还好。一个三角形,三个点。但是,比如我们要绘制一个立方体,需要6*2=12个三角形,总共要36个顶点,而实际上表示一个立方体只需要8个顶点就可以了。显然再使用顶点缓存绘图有些划不来,所以就有了索引缓存绘图。定义:索引缓存保存的就是一些索引,用于记录顶点缓存中每一个顶点的索引位置。这样,我们在定义顶点的时候,就不需要重复定义那些

2015-06-14 00:44:54 3059 2

原创 《C++Primer》读书笔记--异常处理

定义:异常,让一个函数可以在发现自己无法处理的错误时抛出一个异常,希望它的调用者可以直接或者间接处理这个问题。之前写的一些小程序,几乎没有用到过异常处理。因为规模比较小,一般的问题在函数内就加上一些判断条件解决了,一般的做法就是返回一个表示错误的值(比如返回NULL指针),在调用的时候判断一下返回的值,虽然简单,但是功能并不强大,只适合小型项目。而大型的项目,如果这么搞就乱套了

2015-06-14 00:30:51 632

原创 设计模式学习笔记--装饰模式

定义:在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。形式:(1) 装饰对象和真实对象有相同的接口。这样客户端对象就能以和真实对象相同的方式和装饰对象交互。(2) 装饰对象包含一个真实对象的引用(reference)(3) 装饰对象接受所有来自客户端的请求。它把这些请求转发给真实的对象。(4)

2015-06-13 18:34:53 1192

原创 设计模式学习笔记--策略模式

定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。我们在使用一些功能时,有时有很多种实现方法,或者多种结果,但是都有同样的使用方法,即调用接口,这就是策略模式。例子:// 设计模式Demo.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#in

2015-06-12 16:15:32 1046

转载 彻底搞懂const,volatile, mutable的用法

转载地址:http://blog.csdn.net/wuliming_sc/article/details/3717017const、volatile、mutable的用法const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为T

2015-06-12 00:29:39 708

原创 设计模式学习笔记--抽象工厂模式

纠结了好几天,总算是搞懂了点抽象工厂和工厂方法模式的一些区别了。两篇很好的文章:http://blog.csdn.net/superbeck/article/details/4446177http://blog.csdn.net/wyxhd2008/article/details/5597975抽象工厂其实跟工厂方法模式差不多,都遵循开放--封闭原则,使用工厂接口创

2015-06-10 22:21:20 1208

原创 Direct-X学习笔记--图元绘制

DX中有6种图元:顶点集合,线段集合,线段条带,三角形集合,三角形条带,三角扇形。在渲染时一般采用三角形来构成多边形,三角形三个顶点一定共面,共面的时候,渲染较快。(该图片来自百度)我们在绘制的时候,使用该函数绘制图元,第一个参数为图元的类型,即上图中的几种类型:点列集合    D3DPT_POINTLIST   一组点的集合线列集合    D3DPT_LI

2015-06-09 12:23:44 1603

原创 设计模式学习笔记--工厂方法模式

学习过简单工厂模式,感觉很好用。在创建对象时,可以将复杂的初始化操作从客户端分离出来,简化客户端代码。大大的减少了代码修改的难度。而且可以通过参数不同,创建不同的对象。但是简单工厂模式也有一些弊端,违背了开放--封闭原则。即如果我们增加了一个产品,对应的工厂也要进行修改,即switch---case中要新增加一些分支条件,不利于扩展。所以就有了下面的工厂方法模式:工厂方法模

2015-06-07 21:48:04 878

原创 Direct-X学习笔记--顶点缓存绘图

DirectX描述物体使用三角形单元,构成三角形的最基本单位是顶点。DirectX中顶点格式是很灵活的,即我们可以自己定义顶点所包含的信息。除了坐标之外,我们还需要定义其他附加属性,颜色属性,法线属性等等。我们在定义的时候,首先要使用DX的一个宏声明一下我们所定义的顶点包含哪些属性。//------------绘制图形步骤1.定义灵活顶点格式#define D3DFVF_CUST

2015-06-07 18:19:01 1526

原创 设计模式学习笔记--简单工厂模式

背景:在开发过程中,经常会创建大量的对象,创建对象后还会涉及到一系列的初始化操作,而我们也不一定会只是在创建对象之后马上就使用对象,而且如果初始化操作很复杂,代码看起来就会非常杂乱,如果有变动,所有的初始化操作都要进行修改,相当难以维护。功能:将对象的创建和使用分离开来,专门用于创建对象并初始化。并且进行扩展后,可以根据参数不同,创建不同的对象。例子:// 设计

2015-06-06 22:53:47 1029 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除