Computer Grahpics
2011年1月3日 星期一
CG Program5
延續上一篇,增加場景的真實度,
增加場景真實度最簡單的方法就是加上光影,加強場景的空間感。
看了很多影子的實做方式,決定使用CSM(cascade shadow mapping),不過時間有限,還沒辦法將它用現有的引擎架構實做出來,
這裡用的是shadow texture,它就像一般貼圖一樣,只是在製作物件貼圖時,一併將光影變化合併至物件貼圖中。
2010年12月18日 星期六
CG Program4
| 建置上課教室 201 的 3D 空間場景 流程上是這樣的,先用 3D Max 將物件的位置、方向、大小等調整好,之後輸出成 XML 格式的資料。 程式分析 XML,就可以建立如編輯器 (3D Max) 中看到的場景,想要修改場景也很簡單,從編輯器修改後再次輸出成 XML 就好了。 場景中有很多相同的物件,像是椅子、桌子、電腦等,如果不將場景簡化會導致 FPS 低落。 |
(1) 避免載入相同的物件浪費記憶體,讓相同物件都使用同個模型的資料來源;
(2) 避免使用過高精細度的模型,尤其是當物件很小的時候,例如:相當精美的滑鼠,物件太小只佔了幾個像素,卻佔用了很多的面數;
(3) 不畫看不到的東西,像是在視角後面的椅子,
可以給每個物件一個代表它形狀的 Bounding Box,當 Bounding Box 和攝影機的 Frustum 交錯時才將其畫上。
2010年11月28日 星期日
CG Program3
| 這是個太陽系,各行星的資料是參考真實資料來設定的,當然有對部分的數據做修改,像是太陽的大小,現實中的太陽太大了,如果用相同的比例,其他行星會太小,不好觀察。 衛星方面只做了月球,其他行星的形狀皆不相同 ,需要逐一建模太耗費時間,所以省略不做。 將行星軌道和貼圖弄好後,讓使用者可以切換目前觀看的星球。考慮到讓使用者自由在宇宙中翱翔,非常容易迷失方向,決定鎖住觀看的位置和視角,使用者只能決定觀看哪顆星球,而不能決定怎麼觀看。 目前這樣的畫面,太陽缺乏光芒的感覺、各行星缺乏陰影,整體的真實度不夠。 |
2010年10月24日 星期日
CG Program2

讀取模型檔案 (*.ply) 和 (*.mesh)
(*.ply ) 是以純文字儲存頂點的位置和頂點連結的順序,手邊沒有 (*.ply) 的匯出器,沒辦法添加額外的模型資訊(例如:normal、texture coordinate等)。
所以使用 Ogre 的 (*.mesh),(*.mesh) 是以二進位的方式儲存資料,每個資料群都有個 chunk ID 和 chunk Length,由 chunk ID 可以知道資料類型、資料形態;而 chunk Length 可以知道該讀多少資料,整體的讀取方式和 (*.ply) 類似。
此圖為添加了 texture coordinate 和 normal 資訊的模型檔案,
使用的是 OpenGL 預設點光源,增加的貼圖和法向量資訊能讓模型更加逼真。
2010年10月10日 星期日
CG Program1
The Moon Festival Picture (2010中秋節) 的圖像
在程式中放上柚子,製作流程如下:
1. 建模
用3D Max製作出柚子模型
2. 設定貼圖座標
將柚子的UV展開
3. 貼圖
用PS製作柚子的貼圖
最後再用程式讀進來,效果圖是使用內建的點光源。
訂閱:
意見 (Atom)



