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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

OSG闪存

發布時間:2024/9/20 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OSG闪存 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
《osg程序設計教程》
第四章
1.模型node與幾何圖元geode
2.geometry組成
2.1頂點Vertex,Vec3Array,setVertexArray(v.get);
2.2顏色color,Vec4Array,setColorArray(c.get);
2.3關聯方式,geom.addPrimitiveSet(
new osg::DrawArrays(osg::PrimitiveSet::QUADS,0,4));
2.4法線normal,Vec3Array,setNormalArray(n.get);
setNormalBinding(::BIND_OVERALL);
n.push_back(osg::Vec3(0.f,-1.f,0.f);
3.geode.addDrawable(geom.get);
--------------------
1.狀態屬性類LineWidth
lineWidth.setWidth(10.0);
geom.getOrCreateStateSet().
setAttributeAndModes(lineWidth.get,
osg::StateAttribute::ON);
2.內置幾何類型osg::Shape
3.附錄..asGeometry();
第五章
1.viewer.getSceneData();得到數據。
2.鍵盤響應得到viewer
addEventHandler(osgGA::GUIEventHandler);
可以控制事件的攔截,由幾個函數處理。
要不要繼續向下傳遞。
3.重寫handle();把參數轉換為viewer
判斷事件類型GUIEventAdapter::KEYDOWN:
viewer.getSceneData.asGroup.getChild.setNodeMask;
4.拾取pick
判斷射線與viewer中的物體相交
判斷相交結點為我們需要的。
5.x,y坐標通過handle參數得到
射線
osgUtil::LineSegmentIntersector::Intersections
viewer.computeIntersections(x,y,intersection)
遍歷Intersections
可能通過setName();getName();篩選結點
第六章
1.osg自帶Trackball
2.osgGA::MatrixManipulator專門響應控制viewer
3.碰撞檢查
LineSegment,osgUtil::IntersectVisitor
iv.addLineSegment(line.get);
node.accept(iv);
iv::HitList hlist;
4.制作路徑漫游
時間,位置,旋轉角度。
5.mfc中osg
去掉OnNewDocument();
重載OnOpenDocument();
CCoreOSG(HWND hWnd);
initOSG();
initManipulators(void);
initSceneGraph(void);
initCameraConfig(void);
setupWindow(void);
preFrameUpdate();
postFrameUpdate();
6.CView::OnEraseBkgnd(pDC);
第七章
1.回調:某件事情發生時執行一個函數。
2.按S顯示幀速。
3.fountain.osg再看。
4.自定義回調
繼承NodeCallback
重寫operator();
更新矩陣setMatrix(Matrix::translate);
traverse(node,nv);貫穿
5.定義矩陣節點MatrixTransform
.setUpdateCallback(new MyCallBack);
6.節點訪問器,參看osgCallBack案例
構造函數(::TRAVERSE_ALL_CHILDREN);
apply(osg::Geode)
geode.getNumDrawables();
geom=dyn_cast(geode.getDrawable(i));
geom.getVertexArray();
vArr.insert(end,begin,end);
遍歷得到的結果可以放在類成員變量里。

總結

以上是生活随笔為你收集整理的OSG闪存的全部內容,希望文章能夠幫你解決所遇到的問題。

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