于实现了自己的软渲染器,图形学的学习暂时告一段落。代码参考知乎上的韦易笑大神的回答,自己加入了很多功能包括:

  • 将原来的Gouraud着色改为phong着色

  • 加入一个平行光和4个点光源,物体材质

  • 背面剔除

  • 利用libpng读取外部纹理

  • 实现双线性纹理滤波和mipmap

  • 完整实现3D裁剪算法

  • 简单的投影

  • 利用sdl2实现了mac、ios、windows多平台支持

  • 3D漫游和object简单封装

知乎我的回答链接

工程目录:

  • external:依赖库文件

  • project:多平台项目工程以及跟平台相关代码

  • resources:核心代码和资源

依赖库:

跨平台的多媒体开发函数库,非常好用,cocos2dx也使用到了它哦

版本是SDL2-2.0.5,我已经交叉编译成了静态库,可以直接使用

跨平台的png格式读取处理库,如果静态库有问题,可以下载源代码下载地址,自行编译

网友评论