在比較了多種多線程引擎框架后,我最終的設(shè)計(jì)類似double-buffer方案,把引擎模塊劃分為3個(gè)線程:Io線程,邏輯線程,渲染線程,對(duì)于我的引擎的目標(biāo)平臺(tái)來(lái)說(shuō),已經(jīng)足夠,實(shí)際上,我針對(duì)的是2-3核的CPU,再多的線程一方面會(huì)使得處理邏輯更加復(fù)雜,另一方面也不會(huì)帶來(lái)效率的提升(甚至?xí)档停琣nyway,我已經(jīng)這么做了,把渲染單獨(dú)做為一個(gè)線程,邏輯線程每幀向渲染線程提交渲染數(shù)據(jù)上下文,在幀開(kāi)始前進(jìn)行一次同步(等待渲染線程完成上一幀的渲染),原理很簡(jiǎn)單,但真正做起來(lái)還是有不少細(xì)節(jié)需要仔細(xì)考慮的。。總的來(lái)說(shuō)還是比較順利,這要?dú)w功于寫(xiě)代碼前做了足夠多的設(shè)計(jì)工作,我甚至為此通讀了Nebula3引擎的代碼,整理了一份PPT并在公司內(nèi)部講解過(guò)。
下一步工作該是把整個(gè)Graphics的高層框架搭好了
posted @
2010-06-22 20:36 清風(fēng) 閱讀(629) |
評(píng)論 (2) |
編輯 收藏
摘要: 忽然發(fā)現(xiàn)好像滿世界的人都在自己寫(xiě)3D Engine,搞得我都不好意思說(shuō)我也在寫(xiě)Engine了- -#。。。這會(huì)是個(gè)龐大和艱巨的任務(wù),因?yàn)槲覍?duì)它的定位是游戲引擎而不是單純的圖形引擎,算下從我剛開(kāi)始工作到現(xiàn)在的時(shí)間也不短了,一直在跟引擎打交道,既參與過(guò)自主引擎的開(kāi)發(fā)也用過(guò)商業(yè)引擎...
閱讀全文
posted @
2010-05-03 17:59 清風(fēng) 閱讀(659) |
評(píng)論 (5) |
編輯 收藏
摘要: 最近想研究下GPU對(duì)地形渲染的性能優(yōu)化,google到了Gpu gems2的一篇文章:
,鏈接:http://research.microsoft.com/en-us/um/people/hoppe/gpugcm.pdf,掃了一遍,看懂了大概,把要點(diǎn)記于此:
閱讀全文
posted @
2010-03-19 14:33 清風(fēng) 閱讀(2096) |
評(píng)論 (0) |
編輯 收藏
摘要: 翻譯只求意思準(zhǔn)確,省略了一些不太相關(guān)的內(nèi)容,如有錯(cuò)誤煩請(qǐng)指正,原文:http://developer.download.nvidia.com/whitepapers/2007/SDK10/VarianceShadowMapping.pdf
閱讀全文
posted @
2009-10-20 22:52 清風(fēng) 閱讀(4912) |
評(píng)論 (8) |
編輯 收藏
摘要: 雖然還有不少問(wèn)題,但已經(jīng)不想再寫(xiě)下去了,這兩天晚上寫(xiě)了幾個(gè)簡(jiǎn)單的demo作為sample,一起發(fā)。
代碼在vs2005下編譯通過(guò),所有代碼僅做學(xué)習(xí)交流之用,請(qǐng)勿用于其他用途,謝謝!
閱讀全文
posted @
2009-09-30 01:32 清風(fēng) 閱讀(3621) |
評(píng)論 (14) |
編輯 收藏
摘要: 光照:
再次修改了公式,把鏡面反射的點(diǎn)積值也映射到了0~1的范圍內(nèi),這樣就不會(huì)再出現(xiàn)有一團(tuán)黑的情況了:I = Ia * Ka + Id * Kd * (L dot N + 1.0) * 0.5 + Is * Ks * pow((R dot V + 1.0) * 0.5,n)...
閱讀全文
posted @
2009-09-26 20:23 清風(fēng) 閱讀(2032) |
評(píng)論 (0) |
編輯 收藏
摘要: 大約在一個(gè)多星期前開(kāi)始寫(xiě)一個(gè)軟渲染引擎,類似D3D的一個(gè)東西,只不過(guò)硬件處理的部分全部換成軟件處理,對(duì)圖形學(xué)有點(diǎn)了解的人應(yīng)該都知道是個(gè)什么玩意。同樣,這是個(gè)業(yè)余時(shí)間進(jìn)行的項(xiàng)目,目的是為了總結(jié)一些以前學(xué)過(guò)的很基礎(chǔ)的知識(shí)。我并沒(méi)有打算給自己定一個(gè)很詳細(xì)的計(jì)劃去完成它,主要是不想把它變成一種任務(wù),那樣會(huì)很累(你有壓力,我有壓力,沒(méi)事還是別再給自己增加什么負(fù)擔(dān)了- -)
閱讀全文
posted @
2009-08-23 12:31 清風(fēng) 閱讀(3054) |
評(píng)論 (10) |
編輯 收藏