24h購物| | PChome| 登入
2005-05-05 12:09:25| 人氣240| 回應0 | 上一篇 | 下一篇

有點想建一個新的網站。

推薦 0 收藏 0 轉貼0 訂閱站台

有點想建一個新的網站。

基於興趣,鼴鼠過好幾次的3D Engine,
最後到了快三十歲的現在,也投身於跟3D相關的工作。

原則上,多少有些成長。

雖然還不是說很專業(畢竟只是寫Driver的)。

鼴鼠的第一個3D引擎是高中時寫的,
當時為了想做出VR快打(不要懷疑,真的是這樣ORZ),
所以費盡心力(當時只是個啥都不懂的高中生)寫出了那個東西,
說是引擎,不過就是一些畫多邊形的凾式庫,
能做Flat shading/Gourand shading/Texture mapping等功能,
純Software,加上基本的Matrix運算,
以當時的硬體性能,Flat shading每秒大概可以畫出400個50x50的三角形。

沒有Mip map(當時也不知道那是啥),
沒有Linear filter,沒有Perspective correction,
沒有alpha blend/texture blending,甚至連最簡單的
object management都沒有,一切都是用硬幹出來的。

那種引擎大概只能拿來寫VR賽車吧?


第二個引擎是再大三昇大四時寫的,
花了半年的時間,

採用Direct3D 5.0為基礎,支援硬體加速,
該有的都有了:
Flat/Gourand shading texture mapping
perspective corretion/mip map/Multi texturing/
alpha blending

基本的object management與scene management

這個基本上是一個可用的引擎,
基本上就缺個沒天良的美工,
大概就真的可以生出遊戲來了。

不過沒天良的美工去日本爽了,
所以這個東西就被廢棄了,最後還被鼴鼠老弟拿去作畢專。

這個引擎算是鼴鼠第一個,也是唯一一個有完成的引擎(也是唯一可以用的),
不過這個引擎有個很嚴重的缺點,


那就是其設計理念是錯誤的!!


這件事時鼴鼠一直到研究所畢業才體會到。

這個引擎只能稱為是一個繪圖引擎,
而不是一個3D引擎,

它缺乏了一項很重要的東西,那就是:設計理念。

沒錯,這個引擎是為了能畫出多邊形物件,
做出多層貼圖而設計出來的,

但他並沒有畫東西之外的功能(有些基本的管理功能,但非常陽春),

這是一個錯誤的設計,

簡單的說,鼴鼠製造出一顆完整的引擎,

但卻只有一個三流的底盤。


而底盤應該就是以BSP tree為基礎的Scene manager。

這正是鼴鼠的引擎的最大缺失!!

鼴鼠以物件為中心設計出了這套引擎,

但卻忽略了Scene才是真正的主角,而不是object!!

其實除了以BSP為中心的場景管理,
還有許多必須要做的東西,
例如如果要製造一套遊戲用的引擎,
一組好的Script compiler也是必須的,
其重要性請參考John Romaro所著的Game Script一書(拼字可能有誤)。

是的,繪圖引擎雖然吸引人,
能呈現各種特效,

但卻難以成為一個遊戲或AP的中心,
只能算是華麗的表皮。

在這個體會下,
鼴鼠想一面開發自己的第三套引擎,
並一面把其內容與進度公佈於一個新的網業上。


以一個遊戲引擎的方式來慢慢發展。


一個具有完整的場景管理,
Script-based的遊戲引擎。

而不是一個單純的繪圖引擎。

技術進步的非常之快,
軟體設計者很難快速的應變期技術,
以鼴鼠現在的技術,可以利用"剽竊"的方式取得一些技術用法,
雖然不登大雅之堂,
但卻足以偷窺頂尖程式設計師的巧思,
也許...鼴鼠也會真的去做吧=_=

大概.....

台長: 鼴鼠
人氣(240) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 心情日記(隨筆、日記、心情手札)

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文