于实现了自己的软渲染器,图形学的学习暂时告一段落。代码参考知乎上的韦易笑大神的回答,自己加入了很多功能包括:
将原来的Gouraud着色改为phong着色
加入一个平行光和4个点光源,物体材质
背面剔除
利用libpng读取外部纹理
实现双线性纹理滤波和mipmap
完整实现3D裁剪算法
简单的投影
利用sdl2实现了mac、ios、windows多平台支持
3D漫游和object简单封装
知乎我的回答链接
工程目录:
external:依赖库文件
project:多平台项目工程以及跟平台相关代码
resources:核心代码和资源
依赖库:
跨平台的多媒体开发函数库,非常好用,cocos2dx也使用到了它哦
版本是SDL2-2.0.5,我已经交叉编译成了静态库,可以直接使用
跨平台的png格式读取处理库,如果静态库有问题,可以下载源代码下载地址,自行编译