OSG源代码部分剖析(待续)?????????????????????????????

本文深入剖析了osg::Drawable中的DrawCallback、UpdateCallback、EventCallback和CullCallback,以及NodeCallback和CameraUpdateCallback的使用。重点讨论了如何设置用户事件回调,如通过osgViewer::viewer和osgGA::GUIEventHandler处理鼠标和键盘操作。同时,讲解了osgGA::EventVisitor在事件处理中的核心作用。
摘要由CSDN通过智能技术生成

class DrawableDrawCallback : public osg::Drawable::DrawCallback

{

       virtual voiddrawImplementation(osg::RenderInfo& renderInfo,const osg::Drawable* drawable)const

       {

           std::cout<<"draw call back - pre drawImplementation"<<drawable<<std::endl;

           drawable->drawImplementation(renderInfo);

           std::cout<<"draw call back - post drawImplementation"<<drawable<<std::endl;

       }

};

 

struct DrawableUpdateCallback :public osg::Drawable::UpdateCallback

{

   virtual voidupdate(osg::NodeVisitor*, osg::Drawable* drawable)

   {

       std::cout<<"Drawable update callback "<<drawable<<std::endl;

   }

};

struct DrawableCullCallback : public osg::Drawable::CullCallback

{

   /** do customized cull code.*/

   virtual boolcull(osg::NodeVisitor*, osg::Drawable* drawable, osg::State*/*state*/) const

   {

       std::cout<<"Drawable cull callback "<<drawable<<std::endl;

       return false;

   }

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值