正在试图将代码解耦为多个模块。
目前简化并整理了一下工程的结构,删除了一些不必要的文件。
加入了对于多光源(多点光源,环境光,聚集光--就是手电筒光)的支持;
把光源的绝大部分代码从main函数中迁移出来,单独封装了一个类。
不过目前因为对实现中的某些细节不太清楚,因此封装地比较暴力,后续可能会改进。
光源模块,模型模块,相机模块都是相对独立的部分,可以在类中继续扩展;
glad;freeglut;glfw3;glm;这些都是openGL相关工具
assimp;读模型用的
stb;读文件用的,不过这个也不一定要配置,openGL教程里面有给相应的.h文件,直接用就行
配环境推荐一下vcpkg,微软的一个关于C/C++的库管理开源工具,可以集成到VS上,会用之后(几乎)所有库都可以一键安装+配置,然后直接打开VS工程就能用了,删除或者更新库也都很方便,案例一下,下面是中文文档的地址,上手很快的。