花了一个多月终于把软渲染器的整个流水跑通了。
其实也没多少代码,就是很多小问题写的时候脑子没想的很清楚。
一切都仿照这DX10来的,除了Geometry Shader。
因为我觉得没啥必要,都是在CPU上工作,还不如让Client直接做Subdivision一类来得快。
而且GS这玩意以前就觉得不可靠,前段时间GMM也提到了这个问题。
这两天把程序重构一下就差不多了,改名字,调整一下文件的物理组织,当然还有跨平台的一些必需要写的东西。这样也就差不多了。
现在声明定义有的都搅和到一起了;Driver的接口也不怎么好用。
近期计划cube texture和ewa filter,顺便把我现在用的数学包扩充一下;
中期计划Utility部分做起来,主要是Texture Loader和Model Loader、还有Display Driver。反正类似于GLUT一类的;
然后是要修改一下现在的 Rasterizer 和 Shader,让它和硬件一样生成一个个的block容易并行也容易差分;这样就能支持 ddx 和 ddy 了;
再然后就是弄XML做一个材质脚本,shader脚本就不做了,如果要是用micro-thread的话,插件体系都基本上没戏;
然后就是把并行部分用GPGPU加速。不过估计我目前还没那个能耐,先放放。