C++控制台做的3D第一人称射击游戏,没有引用任何外部库、第三方库(只用了少许Windows API)。
这个项目的层次分为三层:
- 软件渲染器(软件模拟的显卡层)
- 引擎层(场景管理)
- 游戏逻辑层(主要的游戏逻辑)
也就是说,这个游戏是从D3D9风格的软件渲染API开始写起(软件模拟),封装了多层。从底层到高层都一个人包办(当然引擎层的类有不少是借用了 我的Noise3D的东西)。好了这么一来,c++大作业就不用愁能直接交了吧啊哈哈哈哈哈!!
下面两个知乎回答给了项目的更加细致的介绍:
https://www.zhihu.com/question/32242664/answer/94239254
https://www.zhihu.com/question/24786878/answer/100713585
- (不知道什么时候了)最后,因为Win10控制台好像变了不少,所以Win10下运行貌似图像会乱掉
(因为字符的输出不用换行,所以强制限定了窗口的大小,窗口大小设置代码在Renderer.cpp的IRenderer::mFunction_AdjustWindowSize()函数里,
有可能是因为win10的控制台字体窗体之类的尺寸有点变化导致画面乱掉,但手头上没有win10来测试所以这bug也一直没修...)
- (2018.8.16)来鹅厂实习有Win10电脑了,所以稍微修了一下Win10控制台画面会乱掉的“特性”:)