2005-05-05 12:09:25鼴鼠
有點想建一個新的網站。
有點想建一個新的網站。
基於興趣,鼴鼠過好幾次的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的遊戲引擎。
而不是一個單純的繪圖引擎。
技術進步的非常之快,
軟體設計者很難快速的應變期技術,
以鼴鼠現在的技術,可以利用"剽竊"的方式取得一些技術用法,
雖然不登大雅之堂,
但卻足以偷窺頂尖程式設計師的巧思,
也許...鼴鼠也會真的去做吧=_=
大概.....
基於興趣,鼴鼠過好幾次的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的遊戲引擎。
而不是一個單純的繪圖引擎。
技術進步的非常之快,
軟體設計者很難快速的應變期技術,
以鼴鼠現在的技術,可以利用"剽竊"的方式取得一些技術用法,
雖然不登大雅之堂,
但卻足以偷窺頂尖程式設計師的巧思,
也許...鼴鼠也會真的去做吧=_=
大概.....