高真實感複雜光照環境場景模擬——需求分析和概念原型
阿新 • • 發佈:2020-12-01
(乍一看,我這個題目就相當地不適合寫這一套……)
1. 前置知識
題目:進行用例建模、業務領域建模、資料建模、最終形成概念原型。
對應要求:畫出專案的完整用例圖、畫出專案的業務類圖、給出專案的資料模型、總結出概念原型並舉例說明概念原型的工作過程。
1.1 名詞掃盲
書面化的東西就不說了,說說我自己的理解。
建模:用某種形式化的一套東西來描述實際問題,這樣能方便分析問題(以及讓不明就裡的人更不明就裡)。
用例:簡單理解為動名詞短語,其實就是某個系統裡發生的一些重要過程。
概念原型 = 用例 + 資料模型。類比為 程式 = 演算法 + 資料結構
就好理解多了。
1.2 專案說明
好了,所以為什麼我說我的題目很不適合,一是因為上述這一套是針對 功能性需求
我的題目簡略來說就是:基於 UE4 引擎,表現一個高度真實的帶有複雜光源環境的場景,並能在移動端流暢執行。大概包括:
- 第一部分:移動渲染管線下的延遲渲染的實現
- 第二部分:海水、風、天空、天氣效果的實現
就拿延遲渲染說,它本身就屬於 Efficient Shading,本身就是為了提高效率,這顯然是非功能性需求……不過如果把概念原型理解成演算法與資料結構,倒也還可以分析分析。這裡就以第一部分為例進行下去。
2. 用例圖
3. 業務類圖
4. 資料模型
渲染資料一般包括著色器的程式碼、幾何資料、紋理資料、渲染狀態等,它們會被封裝成不同的檔案型別,具有不同的操作特性。資料在圖形API中以資料流的形式在各種階段被傳遞。
5. 概念原型
所以專案的概念原型其實非常直觀,就是我們編寫的程式,向圖形API提供渲染資料,然後圖形API向驅動提交渲染命令。所謂延遲渲染與傳統渲染的區別,從這個概念原型的層次來看,就是——得到一次渲染結果,要經過多遍渲染過程。