溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

發(fā)布時(shí)間:2020-07-03 12:52:28 來(lái)源:網(wǎng)絡(luò) 閱讀:1082 作者:jackyBLF 欄目:開(kāi)發(fā)技術(shù)

我的github:

https://github.com/jackyblf

我的公眾號(hào):

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

早期研究3D程序開(kāi)發(fā)的程序員最大的情懷就是從無(wú)到有,自己實(shí)現(xiàn)一個(gè)游戲引擎。當(dāng)時(shí)的我也是充滿著這種復(fù)古情懷!!


以前的demo大部分都用c++寫的,現(xiàn)在盡力全部改成html5+canvas/webgl版本


正在改寫demo,編寫文章,敬請(qǐng)期待

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

09年臺(tái)式機(jī)out of order了,一直到去年年底,買了個(gè)硬盤數(shù)據(jù)線,把以前的代碼全部拷貝出來(lái)了,萬(wàn)幸沒(méi)損壞?。?!

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

08年的vs2005代碼,在vs2015中,竟然無(wú)法編譯通過(guò)了,花時(shí)間調(diào)試一下,讓代碼能夠運(yùn)行起來(lái)!

2008年及以前寫的c/c++代碼庫(kù):

1、基礎(chǔ)庫(kù) (數(shù)學(xué)庫(kù),Util(100多個(gè)函數(shù)用于數(shù)學(xué),碰檢,mesh拓?fù)溆?jì)算,動(dòng)畫,投影矩陣各種技巧等),logger,parser,樹(shù),動(dòng)態(tài)數(shù)組類,虛擬文件系統(tǒng),圖形(DDS,TGA,BMP,JPG,不使用第三方庫(kù))
2、空間分割(八叉樹(shù),bsp樹(shù),kd樹(shù),四叉樹(shù),grid系統(tǒng)等)
3、場(chǎng)景管理(室內(nèi)基于portal管理(使用doom3 proc文件),室外實(shí)現(xiàn)了geomipmap地形,以后要將室內(nèi)室外統(tǒng)一由Portal進(jìn)行管理),室內(nèi)使用doom3地圖(40多間房間),在2008年購(gòu)買的筆記本上不帶shader可以跑700幀左右。該portal遍歷算法不需要將Portal多邊形上的點(diǎn)變換到屏幕坐標(biāo)系然后求交測(cè)試(doom3engine實(shí)現(xiàn)方式),只需要一次dot操作就可以知道是否portal可見(jiàn),速度極快

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

4、碰撞檢測(cè)實(shí)現(xiàn)了點(diǎn)線面體空間級(jí)別的碰撞,collisionScene類管理動(dòng)靜態(tài)物體碰檢,實(shí)現(xiàn)物體stepSlideMove方式運(yùn)行
5、實(shí)現(xiàn)了Md5骨骼動(dòng)畫讀取與運(yùn)行

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論


6、渲染系統(tǒng)暫時(shí)使用gl函數(shù),渲染系統(tǒng)核心是渲染數(shù)據(jù)流組織和BATCH,多種方式可實(shí)現(xiàn),做實(shí)驗(yàn),哪些效率最好。目前用glEffect進(jìn)行渲染(2016年:目前github有幾個(gè)很強(qiáng)的跨平臺(tái),基于command buffer實(shí)現(xiàn)的多線程渲染庫(kù),可以直接合并進(jìn)去)
7、渲染特效:shadowvolume(zfail-zpss自動(dòng)切換,lightScissor + depthBoundTest),shadowmap,以及貼花系統(tǒng)(多邊形任意表面貼花技術(shù))
8、編輯功能,實(shí)現(xiàn)了類似3DMAX的編輯系統(tǒng)以及photoshop 2d 編輯系統(tǒng)

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

(2017年1月更新)目前已經(jīng)移植到html5+js平臺(tái),總計(jì)1500行以上js代碼,使用canvas2d渲染。

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

9、曲線曲面系統(tǒng),各種曲線或曲面,本質(zhì)上會(huì)發(fā)現(xiàn),僅僅是基矩陣的不同而已。實(shí)現(xiàn)前向差分法,大幅度提高曲線曲面的擬合速度

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

其實(shí)基礎(chǔ)模塊基本都實(shí)現(xiàn)了,到目前為止主要側(cè)重于碰檢和場(chǎng)景管理方面,在渲染方面還很弱,但是基礎(chǔ)模塊完成后,其他方面就是時(shí)間問(wèn)題了,以后重點(diǎn)放在渲染器和特效方方面。最重要的一件事要實(shí)現(xiàn)GUI系統(tǒng),使用fastDelgate上實(shí)現(xiàn)一個(gè)多播系統(tǒng),然后實(shí)現(xiàn)類似flash的冒泡事件系統(tǒng),參考webkit dom event事件實(shí)現(xiàn)機(jī)制,做過(guò)一些實(shí)驗(yàn),完全可行。(2016年: 在2009年,從webkit中將dom冒泡event系統(tǒng)獨(dú)立,并在fastDelegate上實(shí)現(xiàn))
該demo盡量避免使用第三方庫(kù),主要是學(xué)習(xí)和鞏固知識(shí)使用,以后會(huì)重構(gòu),但是一些基礎(chǔ)函數(shù)和庫(kù)不要大改變,而場(chǎng)景管理和渲染器方面變動(dòng)會(huì)很大,脫離doom3體系結(jié)構(gòu),抽象出一致的編程接口

2D/3D 相互交互,大量的數(shù)學(xué)操作,各種投影矩陣的變換,局部刷新裁剪矩陣

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

ar增強(qiáng)現(xiàn)實(shí)技術(shù)(opencv實(shí)現(xiàn)圖像識(shí)別,opengl進(jìn)行渲染顯示)

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

虛擬現(xiàn)實(shí)中的應(yīng)用(使用廉價(jià)的google開(kāi)源硬件):

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論



旋轉(zhuǎn)的局部坐標(biāo)系和固定的全局坐標(biāo)系

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

將3D朝向矩陣引入到2D系統(tǒng)中,去除掉sin/cos atan2等三角函數(shù)調(diào)用,要知道三角函數(shù)是消耗cpu的大戶之一

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

公轉(zhuǎn),自傳,billboard矩陣,粒子系統(tǒng),經(jīng)典的數(shù)學(xué)應(yīng)用

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

數(shù)學(xué)在嵌入式中的應(yīng)用

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論


數(shù)學(xué)在金融行業(yè)APP中的運(yùn)用

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論


參考書(shū)籍

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

數(shù)學(xué)之美--計(jì)算機(jī)圖形學(xué)中的數(shù)學(xué)方法論

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI