WHY翻写NEHE与红龙的3D图形程序 [开源]
个人认为学习3D图形程序开发,有两套经典教程.D3D的<D3D游戏开发编程基础>也就是红龙那本书.OpenGL的NEHE教程.为向经典致敬,将我之前翻写他们的程序开源.
我所做的工作是将其所有的DEMO集成到一个项目中.所有的DEMO使用同一个渲染设备.这样可以在一个进程中自由地切换DEMO.写这套东西最大的麻烦是,每一个DEMO对渲染设备状态做出的改变,在其退出时需要恢复回去.这看上去很容易,但当出现问题时查起来却很麻烦,因为教程中的DEMO实在是太多了.最常见的问题是渲染效果不对了,这在搞图形程序时最常发生,对此类问题,我没什么好解决方案,能给出的建议是:错得多了慢慢就会有经验了.还有一点要注意的是DEMO中申请的资源需要在退出时释放.在NEHE的OpenGL教程中似乎不太注重这点,很多地方只有申请,没有释放.但在D3D中如果开启了D3D Debug模式下,退出程序时,若有未释放的资源则会出现报错.
两套程序中都有个Flying项目模块,这是我自己写的几个图形DEMO.我的设计是每一类DEMO放到一个项目中,比如开发者要再翻写一套OPENGL编程宝典或红宝书的经典程序,可以新建一个项目,将其所有DEMO写到该工程中.需要注意的是配置文件的新写DEMO配置.
开发环境:VS2008.
代码下载地址:
http://pan.baidu.com/s/1pJkD4Bh
这里面有三个工程,Why_DX9和Why_GL分别含有红龙教程和NEHE教程的代码.
软件说明:
主UI界面上,鼠标点击可以选择要运行的DEMO
键盘的上下键也可以选择DEMO,PageUp和PageDown用于翻页,回车键用于启动选中的DEMO
F11键用于全屏切换,
ESC用于退出当前DEMO及退出全屏
每个DEMO都会将提示文字信息显示在界面上,H键可以隐藏文字.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?