阅读目录
嗯,现在距离这个Demo都已经过去快两年了,然后电脑应为一些不可抗因素把系统升到了Win10。然后现在,我居然运行不了所有的DirectX 9游戏,包括我之前写的demo也翻车了。不过目前我学DirectX 11断断续续也是差不过有两年了,然后重构的念头一直在我脑海中回响。写了大半年的教程,中间也积累了不少的代码,用现有的代码框架应该也可以很快搭建出来吧。现在开始一边开发一边记录自己的思路,所以现在你能看到的魔方也并不是最终版本。
顺便下面安利一波本人正在编写的DX11教程。
其中从微软那边直接搬运过来的模块如下:
微软提供的模块 功能 DirectXTex/DDSTextureLoader DDS纹理加载 DirectXTex/WICTextureLoader WIC相关位图加载(估计用不上) DirectXTex/ScreenGrab 截屏保存(估计用不上) DXTK/Mouse(源码上有所修改) 鼠标类 DXTK/Keyboard(源码上有所修改) 键盘类 然后是自己之前积累下来的一些模块,也包括龙书的:
个人或龙书曾经编写过的模块 功能 Camera 简易摄像机 d3dUtil 包含了一些d3d常用的头文件和个人之前实现过的一些函数 DXTrace 贡献了HR宏,用于错误追踪 GameTimer 龙书的计时器 Vertex 包含了一些常用的顶点类型 由于上述代码都是已经实现好的,所以对我来说里面的实现现在可以忽略。
而下面这些模块则是我需要重点进行修改的
模块 功能 d3dApp Direct3D和Windows的初始化 GameApp 管理游戏的逻辑实现部分 BasicEffect 特效、常量缓冲区的管理 然后基础游戏框架使用的本人项目13的
d3dApp和GameApp。因此现在需要重点关注的就是着色器、特效管理、魔方相关和游戏逻辑的实现了。预期功能实现
本项目的魔方预期实现的功能如下:
- 实现魔方的单层旋转和整体旋转
- 提供键盘和鼠标操作
- 摄像机第三人称视角调整(看心情)
- 检验魔方是否完成
- 计时器、本地排行榜(看心情)
- 天空盒(看心情)
魔方的构造
首先,魔方的6个面可以使用下面的枚举值来确定:
enum RubikFace { RubikFace_PosX, // +X面 RubikFace_NegX, // -X面 RubikFace_PosY, // +Y面 RubikFace_NegY, // -Y面 RubikFace_PosZ, // +Z面 RubikFace_NegZ, // -Z面 };这和天空盒指定面的枚举值是一致的。所谓的+X面你可以理解为从魔方中心发射一条+X轴的射线所指向的面,注意这是建立在左手坐标系的基础上确定的。
然后,本项目提供了7种魔方纹理的颜色,由先的枚举值来确定:
enum RubikFaceColor { RubikFaceColor_Black,关键字:
青岛软件培训
可能你正在寻找一家靠谱的IT培训机构,
渴望突破职业瓶颈,
找一份得体的工作。
恰巧万码学堂正在寻找像你这样不甘平凡的追光者!
我们拒绝纸上谈兵,直接参与真实开发流程!
现在行动,未来可期
立即拨打0532-85025005,预约免费职业规划咨询
前20名咨询者赠送《2025高薪技术岗位白皮书》!
你不是在报名课程,而是在投资五年后的自己!
