作者highway4625 (機殼內的城市光廊)
看板PC_Shopping
標題[閒聊] 你祖母的繪圖入門D3D+OPGL概論之電蝦篇
時間Fri Dec 28 15:01:58 2007
我到底需不需要用到繪圖卡呢???很多人在選購電腦的時候 都會有這種疑問
而這兩天也有人提出這種質疑 我就來一篇 簡易版的 我是不是該買繪圖卡
的highway4625的早安週特別企劃
OpenGL=工業通用標準 使用在遊戲與虛擬實境技術當中 會需要大量運算
再加上各家顯示卡都有自己愛用的OpenGL 3D Library硬體規劃技術
與材質壓縮技術 來作3D加速驅動的動作跟減輕GPU運算壓力
而software rendering 部分 OpenGL通常會交由繪圖卡去用硬體處理 所以在
這方面繪圖卡的等級就會跟你software rendering 所需的基礎硬體輔助資源有關
ex.ATi的3Dc技術 S3的s3tc 跟NV的IntelliSample HCT等等....)
(3Dc技術 3Dc是一種材質壓縮技術。它能提供細緻影像,
並減少使用記憶體頻寬。其採用了Normal Map的技術,令Texture表面的
光影效果更具質感。假設有一個3D模型原需15,000個多邊型砌出來,然
後再建立一個相似模型,但用1,000個多邊型砌出來。3Dc技術就會把兩個模型
的分別,存成Normal Map。之後在遊戲時,只需要用上1,000個多邊型,
再運用3Dc存取Normal Map還元,就能達成14,000個多邊型的效果,減少
使用記憶體頻寬。by ATi官方說法)<===其實早期任天堂就很常用這種
手法寫遊戲(默)....所以怪物都長一個樣 只是增加一些小配件
D3D=微軟的一種底層函式標準 可以因應電腦硬體的等級而作演算法彈性調整
也就是說 D3D是利用CPU的運算能力 進而把CPU當成GPU 作大量3D運算使用
在GPU發展初期各家software OpenGL不完全的情況下 (Ex. 像一些 只有
open Source基本支援的 或是像是Mini OpenGL等等的東西 都屬於不完全的
openGL硬體)
D3D可說在相容性上面有極大優勢 直至今日 雖然software OpenGL有極大進步
但是還是不敵D3D....主要就是因為各家專利授權問題
ps.D3D 不是 Engine 而是跟 OpenGL 一樣是一種 3D API 只是 D3D API
有比較多物件 可給程式設計師直接使用 而微軟也提供不少輔助性的東西
再加上OpenGL一直沒有一個整合比較好software OpenGL Library api 所以
目前來說 通常是在遊戲或是動畫製作初期會使用openGL系列的東西 等到結尾
的時候再用OpenGL-->D3D wrapper這樣的手法去處理相容性問題 相對於OpenGL
以D3D作為期初使用也會利用這樣的方式去達成OpenGL的相容性
好 進入 跟電瞎 比較有關的
為何 我跑3D Studio MAX會需要買繪圖卡呢 繪圖卡跟遊戲卡為何跑出來一樣
一般3D Rngine的定義 是將Model跟相關材質放到正確的位置 沒包含Render部分
這部分通常是利用卡上的晶片完成 or CPU完成後以座標定位方式進入到Video
RAM裡面作存取所需
若用3D Chipset直接運算的話 要透過OpenGL Library 處理以後再給3D Chipest
而D3D的用法呢
很簡單 取代OpenGL Library 跟 後來3D Chipest的這一段的東西
Hardware跟OpenGL系列一樣 會交由3D卡運算 而在Software方面 由於 D3D有自
己一套Library跟 3D Render Engine(software rendering OpenGL也有 D3D也有
只不過D3D是交給CPU處理過後暫存到電腦實體記憶體內 而非像是OpenGL是轉
到GPU or CPU處理完以後 在電腦實體記憶體內只有存座標 然後由顯示卡上的
3D Chipest作剩下的後續材質等等的存取與應用)
這也就是為什麼人家說 D3D比較吃CPU跟RAM的資源 而OpenGL在同樣硬體資源之
下能作更大場景更漂亮的畫面(同樣使用繪圖卡的情況之下)
那我用3D studio MAX可不可用到完整繪圖卡實力呢
理論上來說 可以 但是那個作品必須精細到CPU運算滿載 就會增加對
繪圖卡的需求 但是以目前上來說 反而是遊戲卡的速度過快而造成的假象
因為基於3D Studio MAX是由D3D作為基礎來看 上面講過的我就不再重複
原因簡單說就是因為 你作品沒有完全吃滿遊戲卡rendering 如果要用到
繪圖卡等級的rendering頻寬 那就是作品的細度要再往上提升 差距就會
拉出來 不過基於C/P值的投資報酬率來看 把這錢轉向投資到CPU的等級提升
會比單純換繪圖卡來的高
好 大概了解以上之後 我們可以談談 正常遊戲界的D3D與OpenGL支援性問題
普通情況遊戲都可以選擇D3D與openGL兩種驅動方式 也可以自動選擇(HL遊戲
引擎就是其中佼佼者) 有3D卡就由3D卡輔助運算 沒3D卡就用CPU軟體模擬方式
而D3D有一套函式庫標準 不管你用硬體運算還是軟體輔助 用的就是那套 不用
像OpenGL系統的一樣 在函式庫這邊百家爭鳴 各家沒有一個比較好的特別整合
software(這邊這個東西也就是目前有些遊戲會特別著名ATi適用或是NV適用作
手腳的地方 ATi適用通常是在這邊用了ATi的rendering所以ATi的顯示卡
在這些遊戲上像是吃了春藥一樣 NV系列不是不可以跑 但是GPU要多承擔一部分
rendering 的運算部分 造成效能無法完全釋放)
--
客廳零號機
CPU :AMD X2 5200+ VGA :撼訊 X1950PRO VIVO
MB :GA-M55S-S3 POWER:Seventeam ST-500BKV
RAM :威剛DDR2-800 粉紅散熱片2GX4 CASE :RC-690
HDD :WD 160G 8M SATA DVDRW:PIONEER A07
PIONEER A15
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.141.9.155
1F:推 Matsuzaki:高速的早安週無雙爆氣開始了..(大抖 12/28 15:19
2F:→ highway4625:其實我還有玉璽沒吃呢(遠目) 12/28 15:21
3F:推 glittering:好文推 好人推.... 12/28 15:56
4F:推 goodga:突然覺得男生用您祖母好像不太尊敬的感覺 12/28 16:02
5F:推 anedo:最近流行咩~~XD 12/28 16:28
6F:推 su0427:好文!推一個 這麼長....我竟然看完了 12/28 16:45
7F:推 lunasea2005:高速大金身....永存電蝦.....<( ̄︶ ̄)/ 12/28 16:49
8F:推 touyalin: 高速大金身....永存電蝦.....<( ̄︶ ̄)/ 12/28 16:59
9F:推 fa18e:祖父推 12/28 17:00
10F:推 sunnboy:突然覺得男生用您祖母好像不太尊敬的感覺+1 12/28 17:00
11F:推 KUS0:對嘛 ! 你這樣說就有道理,我念純設計的沒辦法去注意那麼多 12/28 17:07
12F:→ KUS0:當然就用使用者上得經驗來寫,但是多少一定都有問題 12/28 17:08
13F:→ KUS0:這篇就釐清很多觀念,我願意為上一篇果斷的批評openGL道歉 12/28 17:09
14F:推 anedo:再來喔~~~高速~~~進階篇還不快生出來~~~~~~~ 12/28 17:13
15F:→ anedo:英語專有名詞越多越好阿 12/28 17:14
16F:推 agehakai: 高速大金身....永存電蝦.....<( ̄︶ ̄)/ 12/28 17:29
17F:推 leng1106:電蝦板人氣不低...用詞遣字好像需要注意一下比較好...@@" 12/28 17:41
18F:推 lunasea2005:等到白爆時.. 高速大就會產出入門版了...(金身萬歲) 12/28 17:47
19F:推 lookers:KUSO兄可以不要用分身了嗎 12/28 17:56
20F:推 himygoddess:KUS0都在名片檔說他分身是himygoddess了... XD 12/28 17:59
21F:推 anedo:今天看了不少好照片,讓我壽命又多了幾天(茶) 12/28 18:56
22F:推 coasting:本來就不需要批評opengl....各家軟體廠商不是傻子,如果 12/28 19:40
23F:→ coasting:D3D可以到達完全取代opengl的程度,那opengl早就消失了.. 12/28 19:41
24F:→ coasting:對於MAX的D3D效能不錯,就是樂觀其成就好,但買繪圖卡作 12/28 19:42
25F:→ coasting:CAD或CG都是不會錯的選擇,這也就是有許多人死命想讓N與A 12/28 19:42
26F:→ coasting:遊戲卡硬改或軟改成繪圖版本,這就像水往低處流一樣的道 12/28 19:43
27F:→ coasting:理,不會硬體商、軟體商、使用者三方面全部都是傻子.... 12/28 19:44
28F:→ coasting:所以我也一向建議,初學軟體可以把硬體重點擺在cpu、ram 12/28 19:45
29F:→ coasting:繪圖卡所費不貲,實際使用過再來考慮升級繪圖卡..會比一 12/28 19:46
30F:→ coasting:開始就買了繪圖卡,結果還嫌他跑遊戲不夠力來的划算。 12/28 19:46
31F:→ coasting:預算非常充足或者像高速大這樣的專業人士...當然可以直接 12/28 19:47
32F:→ coasting:選擇最好的繪圖解決方案(包含顯卡、或工作站、MAC)等.. 12/28 19:49
33F:→ coasting:但許多上電蝦來問菜單的人,或許連軟體介面都還不熟,這 12/28 19:49
34F:→ coasting:樣的使用者太多了,這也才會常有這樣的菜單討論。 12/28 19:50
35F:→ coasting:像高速大這樣的一篇解釋,我想問菜單的原po可能更狀況外. 12/28 19:52