電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
關於 OGRE 2D顯示的部份

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式進階班:各種進階圖型引擎或遊戲引擎
上一篇主題 :: 下一篇主題  
發表人 內容
pleaselouis
時常出沒的會員


註冊時間: 2008-11-03
文章: 32

505.97 果凍幣

發表發表於: 2008-11-7, PM 5:46 星期五    文章主題: 關於 OGRE 2D顯示的部份 引言回覆

小弟正在練習 關於 OGRE 2D的顯示部分

目前的進度是 最前面顯示一張 2D圖片 大約只佔視窗的1/5

剩下的部份 就像是在背景執行3D場景的互動 : 可以 點選 托拉 Mesh等等

但是再加入2D的顯示部份後 由於有採用以下的程式碼:

AxisAlignedBox aabInf;
aabInf.setInfinite();
rect->setBoundingBox(aabInf);

便可以造成讓 2D圖片可以一直顯示於最上層 類似 OverLay的效果 雖然不是...

但是問題來了 由於是使用一個無限大的 BoundingBox 來讓它顯示最上層

因此還會造成 無法跟背景執行的3D場景做互動 也就是 點選 托拉 Mesh等等

如果單純把上述的程式碼註解掉 雖然就可以跟背景執行的3D場景做互動

但是在移動Camera時 背景的Mesh若是跟 2D圖片 有所重疊的情況下

2D圖片便會消失不見 除非再移動Camera 才會有機會讓圖片在顯示出來

因此請教各位前輩 有辦法讓 2D圖片一直顯示最上層 又能跟背景執行的3D場景做互動嗎

謝謝各位的幫忙 謝謝
回頂端
檢視會員個人資料 發送私人訊息
vamper
對這略感興趣的新人


註冊時間: 2007-06-23
文章: 29
來自: 台灣
18.82 果凍幣

發表發表於: 2008-11-8, PM 8:08 星期六    文章主題: Re: 關於 OGRE 2D顯示的部份 引言回覆

pleaselouis 寫到:
小弟正在練習 關於 OGRE 2D的顯示部分

但是問題來了 由於是使用一個無限大的 BoundingBox 來讓它顯示最上層



讓我猜猜...該不會OGRE的render pipeline是以BoundingBox的Z座標來作排序的?

也就是繪製物件的順序依據。再者我們沒用這方式來作UI的。(UI通常是顯示最上層)

pleaselouis 寫到:


因此還會造成 無法跟背景執行的3D場景做互動 也就是 點選 托拉 Mesh等等

如果單純把上述的程式碼註解掉 雖然就可以跟背景執行的3D場景做互動



會設定到BoundingBox的話,通常會跟3D空間的物件作互動行為,

好方便去處理一些事情,如:Frustum Culling、碰撞...等。

pleaselouis 寫到:


但是在移動Camera時 背景的Mesh若是跟 2D圖片 有所重疊的情況下

2D圖片便會消失不見 除非再移動Camera 才會有機會讓圖片在顯示出來



被Occlusion culling或Frustum Culling?還是Z Buffer沒有將它寫入?

pleaselouis 寫到:


因此請教各位前輩 有辦法讓 2D圖片一直顯示最上層 又能跟背景執行的3D場景做互動嗎

謝謝各位的幫忙 謝謝


記得!不管什麼東西都需要被轉換到螢幕座標,

當Z = 0.0f且W = 1.0f時,一定會被畫到最上層,也就是2D圖的輸出(UI),

所以我們處理render時,一些先將3D物件作繪製的動作,最後再繪製2D部分(UI),

也就是Z = 0.0f且W = 1.0f。(DirectX版)

恩...在使用工具過程,希望能夠將一些基本觀念給弄清楚,

這樣發生問題時,能夠自己去推斷問題點在哪裡,

這也是遊戲程式工程師最重點也是最基本的功夫。
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
pleaselouis
時常出沒的會員


註冊時間: 2008-11-03
文章: 32

505.97 果凍幣

發表發表於: 2008-11-9, AM 12:50 星期日    文章主題: 引言回覆

非常謝謝你的幫助
我會好好努力的學習的
感謝你抽空回覆 謝謝你
回頂端
檢視會員個人資料 發送私人訊息
songfat
時常出沒的會員


註冊時間: 2008-01-25
文章: 34

192.68 果凍幣

發表發表於: 2008-11-26, PM 2:26 星期三    文章主題: 引言回覆

我不太懂為什麼須要這麼麻煩?
Ogre不是已經提供了Overlay的class來做2D顯示的部份嗎?
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式進階班:各種進階圖型引擎或遊戲引擎 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作