小談CAD制圖和游戲3D的區(qū)別
并不是所有人學(xué)3D都是為了做游戲,但如今3D學(xué)習(xí)資料大多是游戲背景的情況下,會(huì)讓不少走CAD路線的人走錯(cuò)路。
游戲領(lǐng)域,3D向著實(shí)時(shí)電影級(jí)效果發(fā)展,強(qiáng)調(diào)視覺效果,為了獲得足夠的運(yùn)行時(shí)性能,要把盡可能多的計(jì)算放到制作階段預(yù)處理。而CAD領(lǐng)域,畫線能力遠(yuǎn)比視覺效果重要,模型往往需要實(shí)時(shí)編輯,對(duì)單純的三角面的吞吐量需求很高,需要在大量的線和面中作精準(zhǔn)的選取操作,而對(duì)硬件加速需求上,OpenGL 1.2的功能基本就夠了。
這些年GPU技術(shù)的飛速發(fā)展,主要是為了游戲。但這些改進(jìn),大多對(duì)CAD影響很小。這也是OpenGL ARB委員會(huì)的傳統(tǒng)CAD廠商對(duì)改進(jìn)OpenGL并不熱衷的原因。與游戲代碼若干年就重寫一次不同,CAD的程序可不希望經(jīng)常重寫,他們需要一個(gè)穩(wěn)定的API,最好50年都不變,但是新的硬件需要提供更好的性能。這些軟件大多推薦用戶使用專業(yè)級(jí)顯卡,而專業(yè)級(jí)顯卡的一個(gè)特點(diǎn)就是圖元吞吐量都非常大。
當(dāng)然,CAD有時(shí)也需要效果迷人的成品圖,但這一般都是使用高級(jí)離線渲染,多花點(diǎn)時(shí)間,做成遠(yuǎn)勝實(shí)時(shí)渲染的效果。軟件離線渲染器似乎可以算是另一個(gè)領(lǐng)域。對(duì)于工業(yè)3D而言,一般會(huì)選用一個(gè)現(xiàn)成的離線渲染器,而不是自己花時(shí)間寫一個(gè)。
不過,隨著GPU通用計(jì)算的興起,也為CAD領(lǐng)域帶來了一些新的可能性。大量的計(jì)算,尤其是曲面三角化等,有可能交由GPU來處理。不過,這應(yīng)該不會(huì)導(dǎo)致架構(gòu)上的變化,而只是一些底層API實(shí)現(xiàn)上的優(yōu)化,因?yàn)镺penGL本來就是一個(gè)良好的工業(yè)3D的繪圖抽象層。
但這和游戲領(lǐng)域的需求是矛盾的。OpenGL ARB在爭論中曾經(jīng)提出分成兩個(gè)profile,一個(gè)CAD profile,一個(gè)game profile。但這個(gè)提議被否決了,因?yàn)槿藗儾幌M霈F(xiàn)兩個(gè)OpenGL。爭論在持續(xù)了若干年后終于有了進(jìn)展,新的方案是一個(gè)面向新硬件加速架構(gòu)的core profile和兼容舊程序的compatibility profile。但這對(duì)CAD領(lǐng)域來說仍然是很不理想的,因?yàn)檫@意味著compatibility profile的支持會(huì)越來越少,他們?cè)缤淼弥貙戜秩敬a。至于CAD廠商為什么會(huì)接受這個(gè)提案,從Autodesk公開的的一篇report里能看出一點(diǎn),他們頗受參差不齊的OpenGL驅(qū)動(dòng)質(zhì)量之苦。OpenGL是在硬件加速時(shí)代之前的產(chǎn)物,功能繁雜,并不是所有功能組合都可以加速,以致很多驅(qū)動(dòng)實(shí)現(xiàn)不但bug多多,而且行為不一。這導(dǎo)致測(cè)試、補(bǔ)救的代價(jià)非常之高,以致3DSMAX 7之后缺省使用D3D做加速后端。如此,則一個(gè)新的精簡的OpenGL core profile是一個(gè)合理的選擇。
但是,并不是所有的CAD軟件都像3DSMAX這樣可以切換渲染后端,有一個(gè)渲染抽象層。而且,core profile的API非常的貼近硬件,并不適合直接用來做高層渲染邏輯。總體來說,傳統(tǒng)的OpenGL API本身就是一個(gè)面向CAD的良好的抽象層,很多年內(nèi)它仍然會(huì)是,構(gòu)架在OpenGL之上的CAD程序并不十分需要一個(gè)新的抽象層。所以O(shè)penGL compatibility profile其實(shí)就是用core profile API實(shí)現(xiàn)的傳統(tǒng)OpenGL API,就是這個(gè)抽象層的一個(gè)標(biāo)準(zhǔn)實(shí)現(xiàn)。如果顯卡不提供compatibility profile了,CAD廠商仍然可以自己提供這個(gè)實(shí)現(xiàn),又不用重寫以前的代碼,又可以利用未來新硬件的加速功能。而且,鑒于3D硬件的發(fā)展速度,D3D沒幾年就更新一代,每代之間完全不兼容,貼近硬件的OpenGL core profile也有這種風(fēng)險(xiǎn)。compatibility profile則為CAD軟件提供了一層安全墊,只要更換不同的實(shí)現(xiàn)就可以了。
相關(guān)文章
- 2021-09-08全國專業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試用書 AutoCAD2004
- 2021-08-30從零開始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實(shí)例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30高等院校藝術(shù)設(shè)計(jì)案例教程中文版AutoCAD 建筑設(shè)計(jì)案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項(xiàng)目教程 第3版 [繆希偉 主編] 2012年P(guān)DF
- 2021-08-29機(jī)械制圖與AutoCAD [李志明 主編] 2014年P(guān)DF下載
- 2021-08-29機(jī)械制圖與AutoCAD [陶素連,周欽河 主編] 2013年P(guān)DF下
- 2021-08-28機(jī)械制圖與AutoCAD 繪圖 [宋巧蓮,徐連孝 主編] 2012年P(guān)