通常我们创建的d3d程序时都是非全屏模式, 但是游戏大部分是全屏模式, 怎么创建这两种模式呢?
创建的时候有2点不同: 创建窗口, 创建设备.
1. 创建普通模式:
a. 创建窗口:
m_hMainWin = CreateWindowW( m_szWinClsName, m_szWinTitle, WS_OVERLAPPEDWIN… 更多... “d3d全屏模式”
IT夜班车
通常我们创建的d3d程序时都是非全屏模式, 但是游戏大部分是全屏模式, 怎么创建这两种模式呢?
创建的时候有2点不同: 创建窗口, 创建设备.
1. 创建普通模式:
a. 创建窗口:
m_hMainWin = CreateWindowW( m_szWinClsName, m_szWinTitle, WS_OVERLAPPEDWIN… 更多... “d3d全屏模式”
因为当时没有理解这个东西, 导致自己写的一个小的测试程序无论如何不能按照自己的设想的方式工作.
1. 预期目标:
在世界空间中放置一个圆面, 一个正方形面, 还有一个三棱锥体. 让这三个模型围绕世界坐标系Y轴转动.
2. 实际结果:
三个模型都在对应的位置显示出来了, 并且都在围绕围绕坐标抽转动. 但是有个小问题, 按照预期, 转到一定角度, 正方形面有一部分… 更多... “深度缓冲”
d3d中能变换的坐标系有模型坐标系, 观察坐标系. 还有投影坐标系.
模型坐标系的变换是通过下面方式完成:
SetTransform( D3DTS_WORLD, &matWorld );
这个变换通常用来变换模型在世界坐标系中的位置. matWorld矩阵就是指明模型坐标系与世界坐标系之间的变换关系.
观察坐标系的变换是通过下面方式完成:
SetTra
D3D中有几个坐标系, 模型坐标系, 世界坐标系, 观察坐标系, 投影坐标系. 这里先简述一下模型坐标系和世界坐标系的概念和关系.
模型坐标系又称本地坐标系. 是为了方便建立模型, 不用去考虑所要建的模型在世界坐标系中的位置及方向. 建模型时, 只用考虑模型中各个顶点对应本地坐标系的位置就可以. 我们3DMax输出的模型文件.其中的对应的坐标系就是模型坐标系.
&nbs… 更多... “D3D中的坐标系”
向量的定义:
是指空间里的一段有向线段.
向量相等的条件:
如果长度相等和方向相同, 就可判定向量相等.
向量的表示:
一般情况下,向量由空间中的2点表示. 但是我们在处理和表达的简单, 我们采用一点表示. 下面列出为什么我们能用一点表示向量的原因. 根据向量相等的原理, 就可以把任何向量通过移动, 将向量的起点设置到坐标原点. 因此可以用一点去表示向量.