花了一個(gè)多月終于把軟渲染器的整個(gè)流水跑通了。
其實(shí)也沒多少代碼,就是很多小問題寫的時(shí)候腦子沒想的很清楚。
一切都仿照這DX10來的,除了Geometry Shader。
因?yàn)槲矣X得沒啥必要,都是在CPU上工作,還不如讓Client直接做Subdivision一類來得快。
而且GS這玩意以前就覺得不可靠,前段時(shí)間GMM也提到了這個(gè)問題。
這兩天把程序重構(gòu)一下就差不多了,改名字,調(diào)整一下文件的物理組織,當(dāng)然還有跨平臺(tái)的一些必需要寫的東西。這樣也就差不多了。
現(xiàn)在聲明定義有的都攪和到一起了;Driver的接口也不怎么好用。
近期計(jì)劃cube texture和ewa filter,順便把我現(xiàn)在用的數(shù)學(xué)包擴(kuò)充一下;
中期計(jì)劃Utility部分做起來,主要是Texture Loader和Model Loader、還有Display Driver。反正類似于GLUT一類的;
然后是要修改一下現(xiàn)在的 Rasterizer 和 Shader,讓它和硬件一樣生成一個(gè)個(gè)的block容易并行也容易差分;這樣就能支持 ddx 和 ddy 了;
再然后就是弄XML做一個(gè)材質(zhì)腳本,shader腳本就不做了,如果要是用micro-thread的話,插件體系都基本上沒戲;
然后就是把并行部分用GPGPU加速。不過估計(jì)我目前還沒那個(gè)能耐,先放放。