日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

场景数据的动态更新setDataVariance(osg::Object::DYNAMIC) (转)

發布時間:2023/12/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 场景数据的动态更新setDataVariance(osg::Object::DYNAMIC) (转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

動態更新的核心就是設置數據變度屬性DataVariance,它決定了OSG在多線程渲染的過程中的執行策略:只有所有DYNAMIC屬性的對象被渲染 完畢之后,OSG才會開始執行下一幀的用戶更新操作;這樣有效地可以避免數據的過快更新造成當前的渲染動作出錯,以致系統崩潰。

所有派生自osg::Object的對象都可以設置數據變度的屬性,通常設置的時機在新建對象之時,例如:
osg::ref_ptr<osg::Group> node = new osg::Group;
node->setDataVariance(osg::Object::DYNAMIC);
...


這就意味著這個組節點可能在渲染過程中發生變動,可能變動的內容包括:成員屬性的改變,新增/替換/刪除子節點,或者使用事件/更新/裁減回調實現的自定義變動。

數據變度的設置對于渲染狀態和紋理的動態更新同樣有重要的意義。而對于osg::Drawable對象,設置為動態更新意味著它可能在渲染過程中發生頂點 屬性或者圖元的變化;這其中尤為要提及osgText::Text,文字屬性的變化必須預先設置動態的數據變度屬性,否則可能造成系統運行過程中崩潰:
osg::ref_ptr<osgText::Text> text = new osgText::Text;
text->setDataVariance(osg::Object::DYNAMIC);
...

// 渲染過程中可以動態改變文字的位置和內容等屬性

?

總結

以上是生活随笔為你收集整理的场景数据的动态更新setDataVariance(osg::Object::DYNAMIC) (转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。