自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

凌动处理器的博客

一个图形学菜鸡的学习历程

原创 大话设计模式——前言

这本书是阅读《设计模式》前的热身(提携者和引路人) 从设计的演变的过程中理解设计模式的原理和重要性 先阅读附录;然后阅读着重讲解面向对象的意义、好处以及几个重要的设计原则的第1、3、4、5章;最后逐个阅读23个不同的设计模式 面向对象编程思维 UML类图 本书希望能给渴望了解OO世界的初学者,困惑...

2019-05-09 10:38:54 114 0

原创 第一章 了解MAXScript

文章目录1、MAXScript简介2、MAXScript Listener窗口3、MAXScript Editor窗口4、桌面状态5、学习该语言的两种方法6、一个简单的例子 1、MAXScript简介 2、MAXScript Listener窗口 3、MAXScript Editor窗口 4...

2019-05-08 15:43:32 877 3

原创 第1章 UE4简介

文章目录1、学习界面1.1、菜单栏1.2、模式面板1.3、世界大纲面板1.4、细节面板1.5、内容浏览器面板1.6、视口面板1.7、工具栏面板 当首次使用像虚幻引擎这样的工具时,弄清楚该从哪里开始可能是一项艰巨的任务。本书提供了一个起点,介绍了UE4的界面、工作流以及许多编译器和工具 UE4是一个...

2019-05-05 23:15:48 248 0

原创 第7章 代理模式

文章目录1、代理模式2、代理模式应用 两个类有相同的方法——实现了相同的接口 1、代理模式 代理模式:为其他对象提供了一种代理以控制对这个对象的访问 2、代理模式应用 代理模式的应用场合: 1、远程代理:为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实 2、...

2019-05-05 17:07:35 35 0

原创 第6章 装饰模式

文章目录1、装饰模式2、装饰模式总结 1、装饰模式 装饰模式(Decorator):动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活 装饰模式利用SetComponent来对对象进行包装的。这样每个装饰对象的实现就和如何使用这个对象分离开了,每个装饰对象只关心自己的功...

2019-05-05 16:50:57 36 0

原创 第2章 策略模式

文章目录1、策略模式2、策略模式的实现3、策略与简单工厂结合4、策略模式解析 1、策略模式 2、策略模式的实现 3、策略与简单工厂结合 4、策略模式解析 ...

2019-04-30 17:55:16 80 0

原创 第3章 面向对象设计的四个原则

文章目录1、单一职责原则2、开放-封闭原则3、依赖倒转原则4、里氏代换原则5、软件开发现况 1、单一职责原则 2、开放-封闭原则 3、依赖倒转原则 4、里氏代换原则 1、单一职责原则 手机有其发展的特点,其与单一职责的对比并不特别的贴切,并不用十分的较真 单一职责原则:就一个类而言,应该仅有一...

2019-04-26 10:34:47 261 0

原创 第1章 简单工厂模式

文章目录1、面向对象编程2、活字印刷之于面向对象3、复制之于复用4、业务的封装5、强耦合之于松耦合6、简单工厂模式7、UML类图7.1、类的矩形框7.2、接口的矩形框7.3、继承的关系7.4、实现接口7.5、关联关系7.6、聚合关系7.7、组合关系7.8、依赖关系 编程是一门技术,更加是一门艺术,...

2019-04-24 13:07:45 35 0

原创 大话设计模式——附录A

文章目录A2、类与实例A3、构造方法A4、函数重载A5、属性与修饰符A6、封装A7、继承A8、多态A9、重构A10、抽象类A11、接口 面向对象基本知识点的生动讲解 A2、类与实例 一切事物皆为对象(类的实例) 类是具有相同的属性和功能的对象的抽象描述 类名称首字母需要大写,多个单词的类名称则各个...

2019-04-22 11:20:18 69 0

原创 第15章 拾取

文章目录1、屏幕到投影窗口的变换2、拾取射线的计算3、对射线进行变换4、射线/物体相交判定 1、屏幕到投影窗口的变换 2、拾取射线的计算 3、对射线进行变换 4、射线/物体相交判定 ...

2019-03-24 18:53:30 64 0

原创 第14章 粒子系统

文章目录1、粒子和点精灵2、粒子系统的组成3、具体的粒子系统 许多自然现象都包含了大量行为相似的微小粒子,粒子系统通常用来模拟此类现象 1、粒子和点精灵 2、粒子系统的组成 3、具体的粒子系统 ...

2019-03-24 18:50:23 80 0

原创 第13章 地形绘制基础

文章目录1、高度图2、创建地形几何信息3、纹理映射4、光照5、在地形中行走 地形网格中的每个顶点都被赋予了一个高度值,这样可以实现对地形的模拟 注意小地形和大地形的实现区别 1、高度图 2、创建地形几何信息 3、纹理映射 4、光照 5、在地形中行走 ...

2019-03-24 18:47:09 116 0

原创 第12章 设计一个灵活的Camera类

文章目录1、Camera类的设计2、实现细节 当在某一地点固定摄像机方位时,利用D3DXMatrixLookAtLH函数计算出取景变换矩阵是很有用的;但其对于一个可以自由活动的摄像机来说是不能满足要求的,这就需要我们自己来设计一个灵活的Camera类 1、Camera类的设计 2、实现细节 ...

2019-03-24 18:36:20 65 0

原创 第11章 网格(二)

文章目录1、ID3DXBuffer2、XFile3、渐进网格4、外接体 本章研究从磁盘上加载一个复杂的3D模型并将该模型绘制出来,或者利用渐进网格(progressive mesh)接口来控制网格的细节层次(level of details) 1、ID3DXBuffer 2、XFile 3、...

2019-03-24 18:27:52 79 0

原创 第10章 网格(一)

文章目录1、几何信息2、子集和属性缓存3、绘制4、网格优化5、属性表6、邻接信息7、克隆8、创建网格(D3DXCreateMeshFVF) 本章主要是对与ID3DXMesh接口相关的数据和方法的介绍 ID3DXMesh接口和ID3DXPMesh接口都继承自ID3DXBaseMesh接口,所以前两者...

2019-03-24 18:23:11 76 0

原创 第9章 字体

文章目录1、ID3DXFont接口2、CD3DFont3、D3DXCreateText函数 在游戏中,需要向用户显示一些文本信息 在D3D中创建文本有三种方式: 1、使用ID3DXFont接口 2、使用CD3DFont类 3、使用D3DXCreateText函数 1、ID3DXFont接口 ...

2019-03-24 14:08:31 125 0

转载 使用CSDN-markdown编辑器

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数...

2019-03-24 14:03:34 40 0

原创 第19章 效果框架

文章目录1、手法与路径2、更多HLSL的内置对象3、效果文件中的设备状态4、创建一种效果5、常量的设置6、使用一种效果 一种绘制效果通常由以下几个部件构成: 1、一个VS 2、一个PS 3、一个需要设置的设备状态列表 4、一条或多条绘制路径(rendering pass) 我们...

2019-03-22 15:32:14 62 0

原创 第18章 像素着色器入门

文章目录1、多重纹理概述1.1、启用多重纹理 pixel shader是在对每个像素进行光栅化处理期间运行在显卡上的一段定制程序(其不会用软件运算方式来模拟) PS实质上是取代了固定功能渲染管线中的多重纹理(multitexturing)环节,而且赋予了我们直接操纵单个像素以及访问每个像素的纹...

2019-03-22 13:33:51 90 0

原创 第17章 顶点着色器入门

文章目录1、顶点声明 vertex shader取代了固定功能流水线中的世界变换、取景变换、光照、投影变换这些环节 顶点是以局部坐标输入VS的,而且VS必须将照亮的(上色的)顶点输出到齐次裁剪空间(homogeneous clip space) 投影变换将顶点变换到的那个空间称为齐次裁剪空间...

2019-03-22 11:37:57 91 0

原创 第16章 HLSL入门

文章目录1、HLSL着色器程序的编制入口函数2、HLSL着色器程序的编译3、变量类型4、关键字、语句及类型转换5、运算符6、用户自定义函数7、内置函数 vertex shader和pixel shader是我们自行编写的一些规模较小的定制程序(custom programs),这些定制程序可取代...

2019-03-21 19:45:22 72 0

原创 第8章 模板

文章目录1、模板缓存的使用 模板缓存(stencil buffer)是一个用于获得某种特效(special effect)的离屏(off-screen)缓存 模板缓存的分辨率(resolution)与后台缓存(back buffer)和深度缓存(depth buffer)的分辨率完全相同。所以...

2019-03-21 18:20:11 71 0

原创 第7章 融合技术

文章目录1、融合方程2、融合因子3、透明度4、工具的使用 融合技术能够将当前要进行光栅化的像素的颜色与先前已光栅化并处于同一位置的像素的颜色进行合成。即将正在处理的图元颜色值与存储在后台缓存中的像素颜色值进行合成。 可以利用该技术实现透明效果 1、融合的原理 2、不同的融合模式 3、...

2019-03-21 14:57:04 69 0

原创 第6章 纹理映射

文章目录1、纹理坐标2、创建并启用纹理3、纹理过滤器 借助纹理映射(texture mapping)技术,可将图像数据映射到三角形图元中,这种功能可以显著地增加所绘制场景的细节和真实感 纹理是类似于表面的一个像素矩阵,与表面不同的是它可被映射到三角形图元中 1、实现纹理的映射 2、创建...

2019-03-21 14:12:29 62 0

原创 第5章 光照

文章目录1、光照的组成 为了增强所绘场景的真实感,我们可为场景增加光照。光照有助于描述实体形状和立体感 使用光照时,我们无需自行指定顶点的颜色值;D3D会将顶点送入光照计算引擎,该引擎会依据光源类型、材质以及物体表面相对于光源的朝向,计算出每个顶点的颜色值 基于某种关照模型计算出各顶点的颜色...

2019-03-21 11:09:48 44 0

原创 第4章 颜色

文章目录1、颜色表示2、顶点颜色 掌握D3D中颜色的表示方式和三角形单元的着色模式 1、颜色表示 在D3D中,颜色用RGB三元组来表示 RGB数据可用两种不同的结构来保存: 1、D3DCOLOR:是unsiged long类型,使用宏D3DCOLOR_ARGB和D3DCOLOR_...

2019-03-21 10:09:46 50 0

原创 第3章 Direct3D中的绘制

文章目录1、顶点缓存与索引缓存1.1、创建顶点缓存和索引缓存1.2、访问缓存内容1.3、获取顶点缓存和索引缓存的信息2、绘制状态 1、顶点缓存与索引缓存 顶点缓存是一个包含顶点数据的连续存储空间;索引缓存是一个包含索引数据的连续存储空间 我们之所以用顶点缓存和索引缓存而非数组来存储数据,是因...

2019-03-20 17:13:23 64 0

原创 第2章 绘制流水线

文章目录1、模型表示 渲染管线的功能:在给定3D场景和指定观察方向的虚拟摄像机(virtual camera)的几何描述时,创建一幅2D图像 1、模型表示 场景(scene)是物体或模型的集合 任何物体都可以用三角形网格(triangle mesh)逼近表示,三角形网格是构建物体模型的...

2019-03-20 11:06:11 164 0

原创 第一章 初始化Direct3D

1、Direct3D概述 Direct3D是一套底层(low-level)图形API,借助该API,我们能够利用硬件加速功能来绘制3D场景。Direct3D可以被视为应用程序与图形设备交互的中介 应用程序 | Direct3D | HAL | 图形设备 在Direct3D和图形设备之间有一个...

2019-03-03 16:26:36 114 0

原创 第13章 渲染3D模型文件

文章目录1、创建以及渲染后援网格1.1、编写着色器代码2、装载并渲染模型文件渲染纹理模型 上一章学习使用原始的顶点缓冲区从头创建以及渲染带有纹理的3D立方体的方法。本章学习使用Direct3D函数来创建后援3D网格的方法,以及从.X文件中将网格装载到内存并使用纹理来渲染它的方法 我们现在只使用...

2019-03-01 12:16:34 148 0

原创 第12章 学习3D渲染基础

文章目录1、3D编程简介1.1、顶点1.2、掌握3D管线顶点四边形顶点缓冲区创建四边形2、带纹理的立方体示例 顶点——多边形——带纹理的多边形——带纹理的立方体 将在这里学习到实用的3D实现,以便编写简单的3D游戏 1、3D编程简介 3D场景的3个关键组成部分: 1、世界变换:场...

2019-03-01 11:08:34 57 0

原创 第11章 播放音频

文章目录1、使用DirectSound 音频对于游戏是至关重要的 1、使用DirectSound DirectSound是DirectX中为游戏处理所有声音输出的组件,它有一个多通道的声音混合器 作为程序员,为了进度,有时不得不使用包装器 DirectSound的三个版本: 1...

2019-02-27 19:23:01 92 4

原创 第10章 卷动背景

文章目录1、卷动2、基于图片单元的卷动(静态)3、动态渲染的图片单元4、基于位图的卷动 我们在大多数动作和接机游戏中看到的背景移动效果使用的是基于图片单元的卷动。虽然这种技术已经有几十年了,但它仍旧被用来渲染背景 当时计算机内存极为有限,使用基于图片单元的卷动方式是因为它极为高效 虚拟屏幕缓...

2019-02-27 18:48:51 112 0

原创 第9章 打印文本

文章目录1、创建字体2、使用ID3DXFont打印文本 使用ID3DXFont创建字体对象并在屏幕上打印文本的方法 建议只使用标准字体(如Times New Roman和Verdana) 1、创建字体 具体创建过程: 1、设置想要的字体属性:通过D3DXFONT_DESC结构来实...

2019-02-27 18:02:04 115 0

原创 第8章 检测精灵碰撞

文章目录1、边界框碰撞检测2、基于距离的碰撞检测 这里介绍的两种方法应该只能用于2D世界 碰撞检测是可集成到游戏中的最简单也是最重要的物理模型 1、边界框碰撞检测 检测碰撞主要有两种算法: 1、边界矩形: 2、基于距离的碰撞检测 真正让一个游戏鹤立鸡群的是程序对碰撞的响应...

2019-02-26 20:34:45 115 0

原创 第7章 精灵变换

文章目录1、默认参数的使用2、2D变换3、带有变换的动画 单个纹理精灵——动画精灵——变换精灵——变换动画精灵 使用Direct3D矩阵以及一个D3DX助手函数来旋转、缩放以及平移精灵 建议尝试使用C++类来对精灵进行建模 1、默认参数的使用 不管是要绘制来自单个精灵表中的单帧的精灵...

2019-02-26 20:15:02 44 0

原创 第6章 绘制精灵并显示精灵动画

文章目录1、什么是精灵2、加载精灵图像3、透明的精灵4、绘制动画的精灵 通过利用纹理技术而不是表面来处理精灵图像,就有可能绘制出有透明效果的精灵(只显示对象本身的像素而不显示背景) 利用纹理技术绘制的精灵可以进行变换,而且绘制速度也比基于表面精灵更快 1、什么是精灵 精灵是游戏实体的2...

2019-02-26 19:45:29 134 0

原创 第5章 从键盘、鼠标和控制器获得输入

文章目录1、键盘输入2、鼠标输入3、Xbox 360控制器输入4、精灵编程简介5、Bomb Catcher游戏 1、键盘输入 主DirectInput对象以及设备的对象 LPDIRECTINPUT8 dinput; LPDIRECTINPUTDEVICE8 dinputdev; 我们...

2019-02-25 19:27:39 209 0

原创 第4章 绘制位图

游戏工具箱——一组可以让使用C++和DirectX编写游戏更为简单的、可重用的数据类型和函数

2019-02-24 19:55:01 66 0

原创 第3章 初始化Direct3D

文章目录1、Direct3D接口2、创建Direct3D对象3、第一个Direct3D项目4、全屏模式的Direct3D Direct3D设备用于访问视频卡的帧缓冲区(frame buffer)以及后台缓冲区(back buffer,用于生成平滑的图形) 1、Direct3D接口 为了编...

2019-02-24 19:02:39 41 0

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