首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
【笔记】《DirectX 9.0 3D游戏开发编程基础》:Direct3D初始化
】的更多相关文章
【笔记】《DirectX 9.0 3D游戏开发编程基础》:Direct3D初始化
Direct3D初始化大概分为4个步骤: 1.获取接口IDirect3D9的指针.(Direct3DCreate9函数调用). 该接口用户获取系统中物理硬件设备的信息并创建接口IDirect3DDevice9,此接口是一个C++对象,代表显示3D图形的物理硬件设备. 2.检查设备性能(D3DCAPS9结构体),判断主显卡是否支持某些特性,比如是否支持顶点运算.创建IDirect3DDevice9之前,必须确定主显卡支持的特性. 3.初始化D3DPRESENT_PARAMETER结构的一个实例,通…
《DirectX 9.0 3D游戏开发编程基础》必备的数学知识 读书笔记
最近在看游戏导航源码,但是看了几天感觉看不懂.里面全是一些几何运算,以及一些关于3d方面的知识.发现自己缺少3d这方面的知识,正好也想研究一下3d游戏开发的基本原理,于是决定买本书看看了,后来在opengl和directx要选择一个,感觉directX是微软的,就选了directx. 必备的数学知识 3D空间中的向量 几何学中一个有向线段表示,向量两个重要属性:长度.方向 向量不含有位置信息,如果向量的长度和方向相等即相等 . 左手直角坐标系和右手直角坐标系:左手直角坐标系z轴正方向穿进纸面,…
《DirectX 9.0 3D游戏开发编程基础》 第二章 绘制流水线 读书笔记
模型的表示 场景:物品或模型的集合 任何物品都可以用三角形网络逼近表示.我们经常用以下术语描述三角形网络:多边形(polygons).图元(primitives).网络几何单元(mesh geometry). 描述三角形:指定三个顶点 描述物品:三角形单元列表 顶点格式 可以创建我们所希望包含的顶点信息,如位置,颜色等,如下所示 Code Snippet struct ColorVertex{ float _x,_y,_z; DWORD color; }; struct Norm…
《DirectX 9.0 3D游戏开发编程基础》 第一章 初始化Direct3D 读书笔记
REF设备 参考光栅设备,他能以软件计算方式完全支持Direct3D Api.借助Ref设备,可以在代码中使用那些不为当前硬件所支持的特性,并对这此特性进行测试. D3DDEVTYPE 在程序代码中,HAL设备用值D3DDEVTYPE_HAL来表示.该值是一个枚举变量.REF设备用D3DDEVTYPE_REF来表示.这种类型非常重要,你需要铭记,因为在创建设备的时候,我们必须指定使用哪种设备类型. COM(组件对象模型) 创建COM接口时不可以使用c++关键字new.此外使用完接口,应调用Rel…
自己在完第一遍STL和Directx 9.0 游戏开发编程基础书后的体会
如果一本书看一遍就能看懂,说明书对自己相对容易,没有必要在去看第二遍,但是对于大多数书籍,都有自己陌生的知识,看完一遍无法理解的地方,说明就是自己知识点最薄弱的,最需要去理解的地方,一旦自己理解了这些地方,自己将会有很大的进步.每本书对每个人而言是不同,每个人知识水平,理解程度不同,看待问题也就不会相同.在读第二遍的时候,自己要仔细推敲,仔细推到,仔细理解.…
Unity 4.2.0 官方最新破解版(Unity3D 最新破解版,3D游戏开发工具和游戏引擎套件)
Unity是一款跨平台的游戏开发工具,从一开始就被设计成易于使用的产品.作为一个完全集成的专业级应用,Unity还包含了价值数百万美元的功能强大的游戏引擎.Unity作为一个游戏开发工具,它的设计主旨就是让你能够创建令人惊讶的游戏.Unity作为一种开发环境,可让你脱离传统的游戏开发方式,以一种更简单的方式专注于你的游戏开发.开发网络游戏.移动游戏.单机游戏,Unity都能完全胜任. 请大家支持下“有宝藏官网”,有宝藏,最保障.致力于打造中国第一精品导购平台! Unity 4.2.0 官方最新破…
转载:[转]如何学好3D游戏引擎编程
[转]如何学好3D游戏引擎编程 Albert 本帖被 gamengines 从 游戏引擎(Game Engine) 此文为转载,但是值得一看. 此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰 ——阿哲VS自己 QQ79134054多希望大家一起交流与沟通 这篇文章是我一年半前,找工作时候写的,那时是发到学校的BBS上.现在我工作了,想法和以前也有不同,但对游戏引擎编程理念还是基本差不多.在我没遇到U…
DirectX12 3D 游戏开发与实战第八章内容(下)
DirectX12 3D 游戏开发与实战第八章内容(下) 8.9.材质的实现 下面是材质结构体的部分代码: // 简单的结构体来表示我们所演示的材料 struct Material { // 材质唯一对应的名称(便于查找) std::string Name; // 本材质的常量缓冲区索引 int MatCBIndex = -1; // 漫反射在SRV堆中的索引(在第九章的纹理贴图中会使用) int DiffuseSrvHeapIndex = -1; int NormalSrvHeapIndex…
DirectX12 3D 游戏开发与实战第八章内容(上)
8.光照 学习目标 对光照和材质的交互有基本的了解 了解局部光照和全局光照的区别 探究如何用数学来描述位于物体表面上某一点的"朝向",以此来确定入射光照射到表面的角度 学习如何正确的变换法向量 能够区分环境光.漫反射光以及镜面光 学习如何实现平行光.点光以及聚光灯 理解如何通过控制距离函数的衰减参数来实现不同的光照强度 8.1.光照和材质的交互 开启光照之后,我们不需要指定顶点的颜色,而是指定材质和光照,然后运用光照方程基于两者的交互来计算出顶点的颜色.我们可以把材质看作是确定光照和物…
DirectX12 3D 游戏开发与实战第五章内容
渲染流水线 学习目标: 了解用于在2D图像中表现出场景立体感和空间深度感等真实效果的关键因素 探索如何用Direct3D表示3D对象 学习如何建立虚拟摄像机 理解渲染流水线,根据给定的3D场景的几何描述,生成其2D图像的流程 5.1 3D视觉即错觉? 1.从视觉观察效果来看,平行线最终会相交于一点(消失点,又称为灭点),因此我们可以得出结论:随着深度(z方向)的增加,物体会显得越来越小.(dx是左手坐标系,OpenGL是右手坐标系). 2.我们都知道物体重叠,这是一个重要的概念,即不透明的物体可…