07 2017 档案
《逐梦旅程 WINDOWS游戏编程之从零开始》笔记10——三维天空的构建&三维粒子的实现&多游戏模型的载入
摘要:第23章 三维天空的构建 目前描述三维天空的技术主要包括三种类型,直接来介绍使用最广泛的模拟技术,详细的描述可以见作者的博文。 天空盒(Sky Box),即放到场景的是一个立方体。它是目前使用最广泛的三维天空模拟技术,网络上素材丰富,所以这次就用教大家用天空盒来模拟三维天空。天空盒经常是由24个顶点
阅读全文
《逐梦旅程 WINDOWS游戏编程之从零开始》笔记9——游戏摄像机&三维地形的构建
摘要:第21章 游戏摄像机的构建 之前的程序示例,都是通过封装的DirectInput类来处理键盘和鼠标的输入,对应地改变我们人物模型的世界矩阵来达到移动物体,改变观察点的效果。其实我们的观察方向乃至观察点都是没有变的,变的只是我们3D人物的位置。说白了就是用D3DXMatrixLookAtLH在资源初始
阅读全文
《逐梦旅程 WINDOWS游戏编程之从零开始》笔记8——载入三维模型&Alpha混合技术&深度测试与Z缓存
摘要:第17章 三维游戏模型的载入 主要是如何从3ds max中导出.X文件,以及如何从X文件加载三维模型到DirextX游戏程序里。因为复杂的3D物体,要用代码去实现,那太反人类了,所以我们需要一些建模软件。 对于3ds max,要到出.X文件,要装个Panda插件。然后就是作者推荐的一个3D模型资源网
阅读全文
《逐梦旅程 WINDOWS游戏编程之从零开始》笔记7——DirectInput&纹理映射
摘要:第15章 DirectInput接口 DirectInput作为DirectX的组件之一,依然是一些COM对象的集合。DirectInput由IDirectinput8、IDirectInputDevice8和IDirectInputEffect这3个接口组成。其中IDirectInput8作为Di
阅读全文
《逐梦旅程 WINDOWS游戏编程之从零开始》笔记6——四大变换&光照与材质
摘要:第13章 四大变换 在Direct3D中,如果为进行任何空间坐标变换而直接绘图的话,图形将始终处于应用程序窗口的中心位置,默认这个位置就成为世界坐标系的原点(0,0,0)。而且我们也不能改变观察图形的视角方向。默认情况下的观察方向是世界坐标系的z轴正向方向。 世界变换运算是为了能在世界空间中的指定位
阅读全文
《逐梦旅程 WINDOWS游戏编程之从零开始》笔记5——Direct3D中的顶点缓存和索引缓存
摘要:第12章 Direct3D绘制基础 1. 顶点缓存 计算机所描绘的3D图形是通过多边形网格来构成的,网网格勾勒出轮廓,然后在网格轮廓的表面上贴上相应的图片,这样就构成了一个3D模型。三角形网格是构建物体模型的基本单元,而一个三角形有3个顶点,为了能够使用大量三角形组成三角形网格来描述物体,需要首先定
阅读全文
《逐梦旅程 WINDOWS游戏编程之从零开始》笔记4——Direct3D编程基础
摘要:第11章 Direct3D编程基础 2D游戏是贴图的艺术,3D游戏是渲染的艺术。这句话在我学过了之前的GDI编程之后,前一句算是有所体会,现在是来理解后一句的时候了。 安装DirectX SDK配置啥的就不说了,直接进入正题,先来个典型的Direct3D程序框架图: 主要分为5个部分: 创建一个Wi
阅读全文
《逐梦旅程 WINDOWS游戏编程之从零开始》笔记2——透明贴图,动画技术
摘要:第5章 透明贴图 像这样直接贴图会产生这种情况,所以我们需要透明贴图。 透明遮罩法:主要利用BitBlt函数中Raser(光栅)值的运算,需要准备素材图和遮罩图: 这个方法的原理解释见书131页。 示例程序: 1 #include <windows.h> 2 3 #define WINDOW_WID
阅读全文
《逐梦旅程 WINDOWS游戏编程之从零开始》笔记3——输入消息处理,物理建模与粒子系统初步
摘要:第7章 Windows游戏输入消息处理 1. 键盘消息处理 之前提到的窗口过程函数有两参数与消息输出有关——wParam和llParam 当键盘消息触发时,wParam的值为按下按键的虚拟键码,lParam则存储按键的相关状态的信息,因此,如果要对键盘输入的消息进行处理,就可以用一个switch来判
阅读全文
《逐梦旅程 WINDOWS游戏编程之从零开始》笔记1——创建窗口&GDI
摘要:第1章 创建窗口 步骤: 窗口类的设计 窗口类的注册 窗口的正式创建 窗口的显示与更新 消息循环体系 窗口过程函数处理消息 1. 设计:使用WNDCLASSEX结构体,这里注意的是C++中的结构体中的成员默认是共有的,所以可以直接通过 . 来调用。 关于这个结构体的具体说明见msdn文档:https
阅读全文
《深入浅出MyBatis技术原理与实战》——7. 插件
摘要:在第6章讨论了四大运行对象的运行过程,在Configuration对象的创建方法里我们看到了MyBatis用责任链去封装它们。 7.1 插件接口 在MyBatis中使用插件,我们必须使用接口Interceptor,先来看看它的定义和各个方法的含义: 在接口各中,运用了3个方法,这3个方法的含义是:
阅读全文
《深入浅出MyBatis技术原理与实战》——6. MyBatis的解析和运行原理
摘要:MyBatis的运行分为两大部分,第一部分是读取配置文件缓存到Configuration对象,用以创建SqlSessionFactory,第二部分是SqlSession的执行过程。 6.1 涉及的技术难点简介 Mapper是一个接口,而接口是没有办法去执行的,那么它是怎么运行的呢?答案是动态代理,M
阅读全文
《深入浅出MyBatis技术原理与实战》——4. 映射器,5. 动态SQL
摘要:4.1 映射器的主要元素 4.2 select元素 4.2.2 简易数据类型的例子 例如,我们需要统计一个姓氏的用户数量。应该把姓氏作为参数传递,而将结果设置为整型返回给调用者,如: 4.2.3 自动映射 当参数autoMappingBehaviour不设置为NONE的时候,MyBatis会提供自动
阅读全文
《深入浅出MyBatis技术原理与实战》——3. 配置
摘要:要注意的是上面那些层次是不能够颠倒顺序的,否则MyBatis在解析文件的时候就会出现异常。 3.1 properties元素 properties是一个属性配置元素,让我们能在配置文件的上下文中使用它。MyBatis提供3中配置方式: property子元素 properties配置文件 程序参数传
阅读全文
《深入浅出MyBatis技术原理与实战》——1.简介,2.入门
摘要:1. 简介 Java程序都是通过JDBC连接数据库,但是只定义了接口规范,具体的实现交给各个数据库厂商去实现,因为每个数据库都有其特殊性。所以JDBC是一种桥接模式。 这里为什么说JDBC是一种桥接模式呢?为例避免JDBC的缺陷出现了ORM模型,比如Hibernate,提供的是一种全表映射模型。因为
阅读全文