只是用来练手的项目,并不推荐拿去直接使用
借物表:来自 https://github.com/ssloy/tinyrenderer
tgaimage.h/.cpp:几乎完全来自该项目model.h/.cpp与Makefile:对内容进行了魔改,使其更方便我个人使用matrix.h:参考了该项目的接口,但为本人手动实现- 模型文件与材质文件也来自上述仓库
相关知识点来自GAMES101课程与上述仓库的wiki
目前已完成:
- 解析obj文件(主要实现魔改自上述仓库)
- 图像文件保存(tga格式,来自上述仓库)
- 画线算法(在main.cpp中,已注释)
- 正交投影显示模型(但是估计以后没什么机会用到了)
- 透视投影显示场景
- 平行光照(但是没有阴影,没有实现镜面反射)
- 移动、转动摄像机,修改画布与摄像机的距离/画布长宽
- 移动、转动、缩放模型
- 加载模型材质贴图
计划中:
- 反走样
- 凹凸贴图
- 阴影贴图
- 添加点光源
- 镜面反射(布林-冯光照模型)