一、前言
所谓软渲染,即不借助DX、GL等图形API利用GPU进行渲染,而是完全在CPU端利用自己编写的应用程序模拟整套渲染管线。
虽然软渲染在实用性上是没有什么价值的,但是对于理解现代图形渲染管线有着不可替代的作用。
所以,乘着正在学习图形渲染的功夫,自己实现一套软渲染器CloudRenderer,以便巩固自己、回顾知识。
二、实现
CloudRenderer的实现大致分为四个阶段:架构、系统流程设计,软件框架搭建,Pipeline实现以及渲染优化,可能某些部分涉及到的知识比较繁杂,所以会以单独的文章写出,并且可能随着系统的不断refactor,所有相关的内容都会随着更新。
1、架构、系统流程设计
2、软件框架搭建
3、Pipeline实现
4、渲染优化
参考:
http://blog.youkuaiyun.com/aceyan0718/article/details/51659381
http://www.cnblogs.com/hust-ruan/archive/2013/03/16/2962077.html
http://blog.youkuaiyun.com/zhanghuanzj/article/details/51723164
http://blog.youkuaiyun.com/cppyin/article/details/6171801
http://www.cnblogs.com/wantnon/p/4894980.html
http://www.skywind.me/blog/archives/1498
http://www.cnblogs.com/cbscan/archive/2012/04/29/2476450.html
http://courses.cornell.edu/preview_course_nopop.php?catoid=28&coid=439777
http://blog.youkuaiyun.com/xb554790401/article/details/41594737
http://www.cnblogs.com/mavaL/p/3221930.html
https://www.thanassis.space/renderer.html
http://www.cppblog.com/zzxhang/archive/2009/08/23/94159.html
http://cache.baiducontent.com/c?m=9d78d513d9d430a54f9ae2690c66c0111f43f6672ba6da020fa3870fd33a541b0120a1ac26510d19839b213216af3e1db1ac6565377471eac4df883d8ce78f6932d87969250b813514d84fac9c4720cb229358e9eb5ce0f9e732e4f4948c81&p=aa67d00485cc43e608e2977f0e0ecb&newp=c463c110c8904ead08e2977f0e4c98231610db2151d4d21e6b82c825d7331b001c3bbfb423231500d6c47d670aaa495cecfb3374360225a3dda5c91d9fb4c57479&user=baidu&fm=sc&query=%C8%ED%E4%D6%C8%BE&qid=c913552600001ba9&p1=8
全局光照
https://www.zhihu.com/question/22953785
http://www.jianshu.com/p/0375389e6a3e