![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
开启Directx9.0之旅
冷崖
这个作者很懒,什么都没留下…
展开
-
初始化Direct,显示我的第一个窗口
最近学习了下DirectX9.0,让我对这个图形库有了一定的了解。 首先说下DirectX的背景吧,它是Microsoft公司的员工所编写的一个多媒体应用编程接口(Application Program Interface)API,由C++语言进行编写,主要应用在游戏开发,它可以通过和底层的硬件进行交互,从而获得硬件的支持,从而能让软件发挥出最大的性能。 当然关于多媒体应用编程接口...原创 2019-05-17 10:26:04 · 1615 阅读 · 2 评论 -
D3D 摄像机
摄像机在3D游戏中,就类似于人类在现实生活中的眼睛,将眼前的事物映射到自己的脑海中,即在3D游戏中,将摄像机所能记录的场景人物全部显示在玩家眼前。设计的用例图:该摄像机系统拥有这些功能,开始设计类。private: //Save camera related matrices D3DXMATRIX m_View; D3DXMATRIX m_Proj; D3DXMATRIX m...原创 2019-05-18 10:55:07 · 840 阅读 · 0 评论 -
按键输入控制
普通桌面应用程序普通桌面应用程序主要是指Win32常规应用程序框架、MFC常规框架、C#的WPF框架、Java的Swing框架等开发出来的程序。大多采用的是“事件驱动机制”。如图所示:其中WinProc()函数表示的是桌面应用程序处理函数,当用户和Windows运行任务时,那么窗口或者其他应用程序窗口会产生事件和消息。所有消息都会进入一个队列中,而每个窗口的消息会发送到每个窗口的专用队列中...原创 2019-05-17 10:25:19 · 1283 阅读 · 0 评论 -
地形——高度图
在游戏中,我们将采用高度图来模拟现实生活中的丘陵和山谷。高度图其实就是一个数组,而该数组的每个元素都指定了地形方格中某一个顶点的高度值。线框模式普通地形模式在高度图中,通常为其每一个元素只分配一个字节的存储空间,以至于高度能在区间[0,255]内取值。但在实际应用中,为了匹配3D世界的尺度,可能要对高度值进行比例变换,就很可能超出上述区间范围。因此,可以分配一个整型或浮点型数组来存储这些高...原创 2019-05-17 10:26:14 · 17617 阅读 · 0 评论 -
天空盒
天空盒就是围绕摄像机的360°的风景照。实质其实就是围绕着摄像机的立方体,而摄像机就在这个立方体的里面。可以用来模拟无限的天空,山脉等现象。为什么要使用天空盒在3D游戏中,一般来说要渲染的东西会比较多,而使用天空盒会节约部分渲染的时间;而且如果不采用“天空盒”技术,或者其他技术,而直接进行渲染天空,地面以及周围场景,那么可能会因为距离把握不当,造成“露馅”。除了在游戏中使用“天空盒...原创 2019-05-17 10:26:42 · 2687 阅读 · 0 评论 -
游戏开发工具,让你事半功倍!
原文链接该文章涉及许多工具,如果是萌新,推荐使用一些比较热门教上手的工具学习,比如美术向-模型方向,推荐使用3DSMAX和Maya;2D游戏引擎推荐使用RPGMaker,如果会C++语言,推荐使用cocos2d,会C#可以使用unity3D;3D引擎推荐使用Unity3D,Unreal(不会C++也无妨,有蓝图脚本)等注意:其中部分网站可以通过原文里面的链接目录补充美术向程序...转载 2018-08-17 15:46:26 · 9150 阅读 · 2 评论 -
学习游戏编程小知识
所文地址 一、书籍:算法与数据结构:《数据结构(C语言版)》——严蔚敏、吴伟民 清华出版社我觉得其配套习题集甚至比原书更有价值,每个较难的题都值得做一下。《Introduction to Algorithms》第二版 中文名《算法导论》关 于算法的标准学习教材与工程参考手册,在去年CSDN网站上其翻译版竟然评为年度二十大技术畅销书,同时《程序员》杂志上开设了“算法擂台”栏目,...转载 2018-05-02 17:32:27 · 608 阅读 · 0 评论 -
再探Direct3D流水线
Direct3D流水线大体图:局部坐标: 也就是3D实体在其局部坐标系中的坐标,即为当创建3D物体时,或从其他地方加载3D物体时,该物体通常都会有自己的一组坐标轴,物体的中心则位于局部坐标系的原点,如果不进行变化,那么程序加载物体就可能会看不见物体。如下图定义了一个立方体,该立方体长为10个单位,中心坐标为(0,0,0),各个顶点坐标分别如下: V0(10,10,10) V1(-1原创 2019-05-17 10:27:22 · 1064 阅读 · 0 评论 -
粒子动画
比起不做而后悔,不如做了再后悔 ——《游戏人生》平常咱们常见的特效: 诸如此类。今天将学习一种特殊的特效——“粒子特效”。粒子特效粒子是什么?粒子是一种微小的物体,比如像我们周边环境中的雪花,火星等物体。因此在游戏中一般都用粒子特效来模拟咱们现实生活中的许多自然现象。粒子系统粒子系统是众多粒子的集合。一般具有具有粒子的更新,显示,销毁及其创建粒子等原创 2019-05-17 10:27:12 · 3249 阅读 · 0 评论 -
文字——弹幕?
万物皆虚,万事皆允 ——《刺客信条》继续Directx3D游戏开发之旅:字体:在游戏中,经常要向用户显示一些文本信息。所以就需要我们创建字体和显示字体了,通过几天学习,发现文本上的处理算是所有处理里面最让人头疼的了,尤其是汉字编码,是采用utf-8进行字符编码还是utf-16进行编码,貌似大多数采用utf-16都可以基本解决问题,但不排除其他情况,可能还需要考虑utf-32(原创 2019-05-17 10:26:54 · 1993 阅读 · 0 评论 -
D3D9 简单图形的绘制以及显示
程序截图所示:要想完成这样的程序,首先咱们先得知道以下几点才能进行绘制并且显示:一、了解什么是D3D9的绘制流水线:1.局部坐标系: 主要用于在使用3D建模时,所使用的坐标系,无需考虑它相对于场景中其他物体的位置,大小。通常在创建模型时,建模人员都会将模型围绕原点进行建模,那样将有助于坐标变换,比如让模型旋转起来,在我们将坐标变换时将会进行描述。...原创 2019-05-17 10:28:24 · 12253 阅读 · 1 评论 -
XAudio2 (一)
最近在写游戏菜单,想做一个可以手动设置游戏场景音乐,音效,及音量的菜单,看许多书上用的都是DXMusic,DirectSound,可自从DirectX 9.0c之后,DXMusic和DirectSound就不再存在了,反而被XAudio给取代了。在网上查找资料,书上查找相关信息,也是甚至更少,迫不得已只能去官网和官方给的样例慢慢琢磨。XAudio2官方介绍: https://msdn.micro原创 2017-10-19 17:55:34 · 2743 阅读 · 1 评论 -
关于DirectX高级动画书中的SDK升级问题
最近再看《DirectX高级动画制作》运用书中所含的源代码进行编译,发现存在许许多多的问题,在网上找了半天的解决方案,才知道是作者当时编写的SDK版本低了,现在的DirectX SDK已经升级了,所以会报许多的错误。例如:这说明没有导入相应的头文件,或只导入了头文件,而没有链接与之相关联的链接库。解决方案如下:在头文件——XFile.h中,写下#include原创 2017-06-11 22:11:37 · 457 阅读 · 1 评论 -
纹理映射(Texture Mapping)
纹理映射技术,是一种将图形绘制(映射)到表面的技术,可以显著地增加所绘制场景的细节和真实感。 如: 纹理坐标 纹理实际上是一个二维数组,它的元素是一些颜色值。单个的颜色值被称为纹理元素或纹理像素。每一个纹理像素在纹理中都有一个唯一的地址。这个地址可以被认为是一个列和行的值,它们分别由U和V来表示。纹理坐标位于纹理空间中。也就是说,它们和纹理中的(0,0)位置相对应。当我们将一个纹理应用于一原创 2019-05-17 10:27:59 · 29286 阅读 · 3 评论 -
光照(light)
光照(light)是为了增强游戏场景的真实感而存在,也有助于描述实体形状和立体感,算是3D游戏中渲染的基础了。如:一、认识光照:在Direct3D的光照模型中,光源发出的光由以下三种类型组成(和现实生活中的类似)。1、环境光(Ambient light):这种光经其他表面反射到达物体表面,并照亮整个场景。如现实生活中的树叶一样,只被环境光一定程度的照亮,而不是直接...原创 2019-05-17 10:28:12 · 1580 阅读 · 0 评论 -
系统存储区、显存和AGP
三者都代表这内存,但在功能与使用上又有所区别。系统存储区即我们常说的电脑内存多少,也就是内存条的多少。大部分直供CPU(Central Process Unit)显存即直供GPU(Graphics Process Unit)工作的专属内存,结构也与CPU与内存条之间的结构类似。不过前提是在有独立显卡的条件下,目前大部分电脑拥有两块显卡,其中一块是集成显卡,这目前已经集成在CPU芯片里...原创 2019-05-23 16:30:58 · 483 阅读 · 0 评论