DirectX 11游戏编程学习笔记之1: 开场白

本文由哈利_蜘蛛侠原创,转载请注明出处。有问题欢迎联系[email protected]

?

? ? ? ? 这是我之前的博客系列“DirectX9.0c游戏开发手记之‘龙书’第二版学习笔记”的平行版,也可以说是续集。

说是平行版,由于这两个博客系列由于某种显而易见的原因。内容是非常平行的;而之所以说是续集,是由于前面那个系列可能就此坑掉了……

? ? ? ? 前面那个系列是关于“龙书”第二版的学习笔记的。而这一系列是关于“龙书”第四版的。“龙书”第四版原名是《Introduction to 3D Game Programming with DirectX 11》。之所以叫做“龙书”,是由于本书的第一版《Introduction to 3D Game Programming with DirectX 9.0》的封面上有一仅仅喷火龙,虽然这条龙没有熬过后面版本号的DirectX……

?

“龙书”封面:


?

“龙书”第四版封面:

? ? ? ? 之前我一直学习的是“龙书”第二版,也就是DirectX 9.0c 游戏编程(更早曾经还学习过“龙书”第一版。以及更古老的东西;详情參见前一系列的“开场白”部分)。只是三天前我突然决定转战DX 11了。至于为何转移战场,这个说来话长。与我解决不了的几个程序bug有关,所以猜想可能是由于DX 9毕竟还是有点老了。

然后就看了看“龙书”第四版的电子版,然后发现电子版质量不错,可是有一些错误(当然比“龙书”第二版的错误少得多了),比方说把函数名字打错之类的。让人感觉不太爽,所以我就一咬牙,一狠心。花了将近300
RMB 把原版书给买了下来。

买下来后看了看,发现电子版的大部分错误没有了(仍然有个别错误,可是不细致看是发现不了的;这说明我看得是多么细致了吧。哈哈!

),所以非常是欣喜。看来买对啦!

? ? ? ? 然后此书的附送光盘里还包括了书中全部图片的高清彩色原版,非常爽吧。这书是平装本(我也不确定有没有精装本,假设有的话。可能会彩打),里面的图片都是黑白的,所以有一些试图表现彩色的图就显得非常滑稽了。另外我发现书上有一个图的箭头方向画反了,可是彩图是正确的,太奇妙了!

? ? ? ? 我会在今后的博客中慢慢将光盘中的内容(代码和图片)分享给大家;只是至于这一期,我想说一些开场性质的话。整体来说,本系列博客有例如以下几个特点:

1、? 包括但不限于(大部分时候还是限于的)这几个方面:书中重点内容的回想、勘误和部分习题解答。

2、? 所谓的“书中重点内容”,是指非常重要、easy遗忘并且与DirectX 9.0c部分区别较大的部分。有人说DX 11和DX 9.0c之间的区别不大;在我看来区别还是蛮大的。

3、? 我会时不时地与“龙书”第二版的内容进行比較,在对照中进行学习。所以假设看官打算拿此系列博客作为学习參考的话,推荐大致看一下“龙书”第二版(看到第11章关于纹理映射的部分即可了)。

?

? ? ? ? 当然,要学习DX 11游戏编程,必须满足一些先决条件。我的条件不高,仅仅要满足下面几点即可:

1、? 精通汉语阅读。比方说可以轻松地看懂此篇博文。

2、? 有高中水平的英语阅读能力。有一些概念我还是会用原文给出的。由于有些不会翻译,并且即使翻译出来了可能也词不达意。

另外,解题的时候我会把原题的题目放上来,而仅仅是略微进行说明。

3、? 有一台属于自己的电脑,该电脑是Win 7系统的(DX 11本身就是为Win 7量身打造的)。并且显卡支持DX 11的特性(这个要求非常严格。不像DX 9那样可以打折扣)。要确认后者,事实上不难,仅仅须要执行几款基于DX 11的游戏就知道了,比方说《蝙蝠侠:阿卡姆之城》(Batman: Arkham City)推荐配置就包括有支持DX11的显卡。

4、? 安装了DirectX 11的SDK(SoftwareDevelopment Kit,软件开发包)。书中用的貌似是August 2009版的DirectX SDK。只是我用的是最新的June 2010的版本号(所以我没法直接使用书中的代码,而须要进行对应的改动,比方说dxerr.h和dxerr.lib须要分别改为DxErr.h和DxErr.lib。等等;DX的更新总是非常快的)。

5、? 拥有比較新的Microsoft Visual Studio 版本号。

书中用的是2010版,而我用的是2013版;大致几乎相同。

并且还要对项目进行对应设置才可以使用书中的源代码。具体操作參见书的Introduction 部分,在此不再赘述;并且我会将这些操作在今后公布的代码目录内的ReadMe – DX 11.txt 文件里进行具体叙述的,所以列为看官不必操心。

6、? 拥有此书。推荐买实体书。有点厚,可是比較轻。不想买或者买不起的话。可以看看电子版:

“龙书”第四版不完美电子版

7、? 可以不怕困难。坚持究竟。

这书我到如今看了100多页。感觉有非常多地方比“龙书”第二版还要难(当初“龙书”第二版也把我折磨得非常厉害,后来看了浅墨的博客,再经过一段时间细致消化琢磨。如今可以比較理解了;可是如今这本书又给我提出了新的挑战)。

8、? 对于游戏编程有着强烈的愿望!这个是最重要的!

? ? ? ? 可能有人说。DX 11面向WIn 7及以上系统,用它开发出来的游戏受众变窄了。事实上这个不用操心,由于。非常显然等我们做出来游戏之后,大部分PC游戏玩家应该都用Win 7了。况且用DX 11可以实现非常多DX 9非常难实现甚至根本实现不了的效果。这不是非常棒吗?

? ? ? ? 好了。这个开场白就到这里了,从下期開始我们将进入正题了。咱们不见不散!

原文地址:https://www.cnblogs.com/zhchoutai/p/8283522.html

时间: 2024-12-24 16:19:31

DirectX 11游戏编程学习笔记之1: 开场白的相关文章

DirectX 11游戏编程学习笔记之7: 第6章Drawing in Direct3D(在Direct3D中绘制)(重点回顾+勘误)

        本文由哈利_蜘蛛侠原创,转载请注明出处!有问题欢迎联系[email protected]         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候,会使用章节号而非页码.同样的情况适合于"龙书"第二版. 上一期的地址: DX 11游戏编程学习笔记之6 这一章应该是本书最长的一章了,可能也是最难的一章,所以大家一定要好好消化,仔细学习!这一章大致相当于"龙书"第二版的第7章和第8章,还添加了一些别的东西. 由于这一

DirectX 11游戏编程学习笔记2: 文章1章Vector Algebra(向量代数)

本文由哈里_蜘蛛侠原创,转载请注明出处.有问题欢迎联系[email protected]         注:我给的电子版是700多页.而实体书是800多页,所以我在提到相关概念的时候.会使用章节号而非页码. 相同的情况适合于"龙书"第二版. 我们这一期正式開始学习DX 11编程了! 前三章组成了本书的第一部分.叫做"Mathematical Prerequisites".学好这一部分是继续前进的前提条件.这一部分的导言前面引用了一句名言,这让我颇为意外.这让我想起

游戏服务器学习笔记

linux命令行环境 linux常用命令用法,软件的安装,vim的用法,在特定的linux版本安装了epel源,学会用SSH配置公钥.私钥,通过SSH来远程登录linux主机,如在windows下用putty来远程登录linux主机. 版本控制工具 svn/git,git可以和gitlab配合使用. C/C++语言 python语言 学习python编程规范(PEP8),了解python的相关模块用法,如:django,twisted,yaml,json,pymongo,markdown,pyl

Java并发编程学习笔记

Java编程思想,并发编程学习笔记. 一.基本的线程机制 1.定义任务:Runnable接口 线程可以驱动任务,因此需要一种描述任务的方式,这可以由Runnable接口来提供.要想定义任务,只需实现Runnable接口并编写run方法,使得该任务可以执行你的命令.   class MyTask implements Runnable {    private String mName;     public MyTask(String name) {    mName = name;   }  

JAVA GUI编程学习笔记目录

1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之GUI编程窗体事件 6.JAVA之GUI编程Action事件 7.JAVA之GUI编程鼠标事件 8.JAVA之GUI编程键盘码查询器 9.JAVA之GUI编程列出指定目录内容 10.JAVA之GUI编程弹出对话框Dialog 11.JAVA之GUI编程菜单 12.JAVA之GUI编程打开与保存文件 13.JAVA之GUI编程将程序打包jar JA

图像编程学习笔记5——图像镜像

以下文字内容copy于<<数字图像处理编程入门>>,code为自己实现,是win32控制台程序. 镜象(mirror)分水平镜象和垂直镜象两种.图2.2的水平镜象和垂直镜象分别如图2.13和图2.14所示 图2.13   图2.2的水平镜象 图2.14   图2.2的垂直镜象 镜象的变换矩阵很简单.设原图宽为w,高为h,变换后,图的宽和高不变. 水平镜象的变化矩阵为: (2.10) 垂直镜象的变化矩阵为: (2.11) 镜象变换的源代码如下,因为和平移的那段程序很类似,程序中的注释

图像编程学习笔记8——图像的平滑(去噪)

第一种方法:高斯模版 以下文字内容copy于<<数字图像处理编程入门>>,code为自己实现,是win32控制台程序. 先举个例子说明一下什么是平滑(smoothing),如下面两幅图所示:可以看到,图3.2比图3.1柔和一些(也模糊一些).是不是觉得很神奇?其实实现起来很简单.我们将原图中的每一点的灰度和它周围八个点的灰度相加,然后除以9,作为新图中对应点的灰度,就能实现上面的效果. 这么做并非瞎蒙,而是有其道理的.大概想一想,也很容易明白.举个例子,就象和面一样,先在中间加点水

转 网络编程学习笔记一:Socket编程

网络编程学习笔记一:Socket编程 “一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. ——有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的.本文的主要内容如下:

linux1.1-1.5节学习笔记

1.1-1.5节学习笔记 1.1学习之初1.2约定 系统CentOS 7.3系统虚拟软件 VMware workstation 10终端 puTTY + Xshell 学习之中工具或网站印象笔记 app.yinxiang.com51CTO博客 blog.51cto.comkeepass keepass.info百度网盘 pan.baidu.com 各软件版本会变动r.aminglinux.com课程用到的代码及命令centos7.aminglinux.com 1.3认识Linux 什么是Linu