MyGUI在Ogre的RTT和直接呼叫紋理顯示

2022-03-20 16:13:45 字數 1579 閱讀 5442

改用mygui之後,

用著是不錯,可是發現乙個問題,資料太少了,

沒辦法,只能啃**了,

這裡講mygui的兩個使用:

1,rtt渲染到紋理:

這個很簡單,首先在layout裡確定下要顯示的canvas,

在程式中得到它

mygui::canvas* canvas2;

assignwidget(canvas2,"sceneaddview");

再將其賦於乙個renderboxscene

wraps::renderboxscene mrenderboxscene;

mrenderboxscene.setcanvas(canvas2);

再插入mesh,ok

(不過debug下有問題,見上篇,希望有磚家出現答疑)

mrenderboxscene.injectobject("robot.mesh");

mrenderboxscene.setautorotation(true);

mrenderboxscene.setmouserotation(true);

2,直接使用ogre中的紋理

如需在乙個imagebox中顯示一張ogre即時生成的紋理,

首先也是得之

mygui::imagebox*  matlasview;

mygui::ogretexture* mtexture;

assignwidget(matlasview, "atlasview");

再在ogre的tex管家那裡要得指定的紋理,

ogre::textureptr layer0 = ogre::texturemanager::getsingletonptr()->getbyname( "");

這裡將其做了中轉,賦給了一張mygui的ogretexture,不清楚其他用法,暫時只能這麼hack了

mtexture =(mygui::ogretexture* )mygui::rendermanager::getinstance().createtexture("atlasview");

mtexture->setogretexture(layer0);

設定具體紋理的大小

mygui::intcoord coord(0,0,1024,128);

及每張小圖的大小(如果要顯示整張圖,那就直接coord.size())

mygui::types::tsizetilesize(64,64);

這裡mygui不知為何,通過setimageinfo的初始化方法並不會初始化index,

如果不加下面一行,則影象不能顯示

matlasview->setitemselect(0);

matlasview->setimageinfo("atlasview",coord,tilesize);

3,ps:

附上一張mygui的架構圖

(瀏覽器不好看,直接另存為吧)

ESP8266 在 rtt 中的使用(一)

1.介紹esp8266基本情況,上圖為原理圖,採用串列埠at指令通訊,模組有3種執行方式,ap sta ap sta。具體指令請參考at指令集 2.我們接著講rtt的at元件,在rtt系統中,分為客戶端,服務端,這裡我們主要用到客戶端,就是來解析urc的。其中有時要用到除錯互動功能,輸入at cli...

ESP8266 在 rtt 中的使用(四)

這一節講http 的get和post請求,首先在env工具中,配置http驅動選項。這是get,get請求與post差不多,詳情參考相關api.include 使用 http 協議與伺服器通訊需要包含此標頭檔案 include 使用bsd socket,需要包含socket.h標頭檔案 includ...

在Ogre中載入自己的資源包

由於資料保護的需要,一款遊戲一般都會有自己獨有的資源包,這樣做既有利於智財權的保護,又減少了磁碟碎片的產生。ogre本身是支援的zip包的,但zip包不具要資源保護的特性,隨便用個winrar就可以把資源開啟並匯出,這樣就失去了資料保護的意義。現在假設你的操作資源包的api已經完成,下一步需要整合到...