Home > 圖像編程 > 繼續圖像引擎

繼續圖像引擎

因為太太星期五抵上海,自那天到星期日也沒有「開工」。

今天繼續做圖像引擎,不過只有小許時間。現在加了一些 hard-code 的 D3D Matrices,可以從 C# 渲染一個 Chamfer Box (no lighting)。

想繼續下去時又停了下來,為了想幾件事情。一開始是考慮用甚麼的 handedness 的座標系統和 column/row major 的矩陣,不過找不到一個比較通用的標準。後來就想以一般的 shader 例子作為主要考慮,所以往 Nvidia 下載 Fx Composer 2,希望可以使用其設定的慣例和例子。剛開始可以直接用 HLSL 的,之後再考慮 CgFX 或 COLLADA FX。歡迎各位討論,特別是用過這些工具的朋友。

接下來設定好這些慣例後,就會加入一個簡單的預設 shader,再 refactor 現在的 Geometry 生成方法。現時的想法是,建立一個 Platform-specific 的 Geometry Class,它基本是一個 draw-call 的資訊。再設計一個 Geometry Builder,方便 procedurally 建立 geometry。這個 Geometry Builder 的介面應該是平台無關,日後可以利用這個介面來做個別平台的三維模型轉換 (e.g. COLLADA 到 Geometry 的轉換)。希望透過這個介面,可以在 Lua 簡單地寫一些 procedural geometry,例如 Chamfer Box、Teapot 等等。這些其實在遊戲中不太實用,但作為 script 和 CG 的學習可能不錯。

今天,也要早些睡了……

Comments:2

Ricky 08-03-11 (二) 12:06

C# + PInvoke or C# + SWIG?

Milo 08-03-11 (二) 12:52

SWIG currently can only generate PINVOKE binding code. So, maybe it should call C# calls PINVOKE functions generated by SWIG.

I have also considered using C++/CLI. But using PINVOKE can make it easier to port to Mono later, if needed.

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://miloyip.seezone.net/wp-trackback.php?p=32
Listed below are links to weblogs that reference
繼續圖像引擎 from Milo的遊戲開發

Home > 圖像編程 > 繼續圖像引擎

Search
Feeds
Meta

Return to page top