2009-04-10 25 views
1

這是我的問題。什麼是最好的設計模式來處理可以經歷多個階段的場景

我想寫一個小型的簡單遊戲引擎(我正在做它,以提高我的設計技能)。我有一個場景對象,它包含呈現API所需的所有內容以便呈現它。

當然,我希望我的場景能夠免於未來的變化,這意味着未來的變化將不會破壞它的接口。例如,如果我希望將來我的場景具有可以打開和關閉的霧功能,我希望能夠在不破壞場景界面的情況下添加它。

一個重要的事情是,渲染API與場景通過接口進行通信(這顯然命名爲「IScene)

我的想法是將逐步轉向‘裝飾’模式,任何人都可以提出一些可能更合適?

回答

2

我建議看看existing APIs你很快就會明白,這不是一個簡單的問題,霧可能是一個過濾器(屏幕上的統一),但看起來不切實際,霧應該更像是一個半透明的雲因此將其渲染爲一個或多個半透明的灰色物體可能更現實,但可能無法用當前的硬件實現。

[編輯]我想說的是:一個簡單的裝飾模式可能不足以實現任何複雜的效果。我沒有看到很多引擎,但大部分都是用於一個非常簡單的場景對象,它只保存一些全局變量(環境光,相機位置,顯示大小)以及要顯示的對象列表。這些對象包含附加信息。

這些事情是非常愚蠢的。渲染器將​​獲取存儲在這些對象中的信息並將其轉換爲顯示硬件可以使用的內容。

同樣,我的建議是從現有的API中獲得一些想法,因爲他們已經犯了所有錯誤。

+0

我明白你對霧的看法,但我只是舉了一個例子,我的問題不是關於霧,而是關於要應用的模式以避免將來更改到IScene界面 – user88637 2009-04-10 08:29:58

相關問題