当前位置: 首页 > news >正文

注册网站能赚钱吗网站空间分销

注册网站能赚钱吗,网站空间分销,返利网站开发一般要多少钱,网站建设文字教程视频自定义粒子系统示例(二) 目前自定义粒子的方法有很多#xff0c;在OSG 中使用的是 Billboard 技术与色彩融合技术。色彩融合是一种高级的渲染技术#xff0c;如果读者有兴趣#xff0c;可参看 OSG 粒子系统实现的源代码。这里采用简单的布告牌技术(osg::Billboard)与动画来实…自定义粒子系统示例(二) 目前自定义粒子的方法有很多在OSG 中使用的是 Billboard 技术与色彩融合技术。色彩融合是一种高级的渲染技术如果读者有兴趣可参看 OSG 粒子系统实现的源代码。这里采用简单的布告牌技术(osg::Billboard)与动画来实现。这种方法也可以生成比较好的粒子系统的效果。最好使用同名的贴图示例中并没有对这些贴图进行处理它只是向读者展示如何模拟一个自定义的粒子系统读者可仔细体会。 自定义粒子系统示例(二)的代码如程序清单11-6所示。 /* 自定义粒子系统示例2 */ void particleSystem_11_6(const string strDataFolder) {osg::ref_ptrosgViewer::Viewer viewer new osgViewer::Viewer();osg::ref_ptrosg::GraphicsContext::Traits traits new osg::GraphicsContext::Traits;traits-x 40;traits-y 40;traits-width 600;traits-height 480;traits-windowDecoration true;traits-doubleBuffer true;traits-sharedContext 0;osg::ref_ptrosg::GraphicsContext gc osg::GraphicsContext::createGraphicsContext(traits.get());osg::ref_ptrosg::Camera camera viewer-getCamera();camera-setGraphicsContext(gc.get());camera-setViewport(new osg::Viewport(0, 0, traits-width, traits-height));GLenum buffer traits-doubleBuffer ? GL_BACK : GL_FRONT;camera-setDrawBuffer(buffer);camera-setReadBuffer(buffer);osg::ref_ptrosg::Group root new osg::Group();// 向场景中添加帧动画osg::ref_ptrosg::Sequencesq new osg::Sequence();sq createSequence(strDataFolder);root-addChild(sq.get());// 优化场景数据osgUtil::Optimizer optimize;optimize.optimize(root.get());viewer-setSceneData(root.get());viewer-realize();viewer-run(); }osg::ref_ptrosg::Node createBillBoard(osg::ref_ptrosg::Image image) {// 创建四边形osg::ref_ptrosg::Geometry geometry new osg::Geometry();// 设置顶点osg::ref_ptrosg::Vec3Array v new osg::Vec3Array();v-push_back(osg::Vec3(-0.5, 0.0, -0.5));v-push_back(osg::Vec3(0.5, 0.0, -0.5));v-push_back(osg::Vec3(0.5, 0.0, 0.5));v-push_back(osg::Vec3(-0.5, 0.0, 0.5));geometry-setVertexArray(v.get());// 设置法线osg::ref_ptrosg::Vec3Array normal new osg::Vec3Array();normal-push_back(osg::Vec3(1.0, 0.0, 0.0) ^ osg::Vec3(0.0, 0.0, 1.0));geometry-setNormalArray(normal.get());geometry-setNormalBinding(osg::Geometry::BIND_OVERALL);// 设置纹理坐标osg::ref_ptrosg::Vec2Array vt new osg::Vec2Array();vt-push_back(osg::Vec2(0.0, 0.0));vt-push_back(osg::Vec2(1.0, 0.0));vt-push_back(osg::Vec2(1.0, 1.0));vt-push_back(osg::Vec2(0.0, 1.0));geometry-setTexCoordArray(0, vt.get());// 绘制四边形geometry-addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS, 0, 4));if (image.get()){// 属性对象osg::ref_ptrosg::StateSet stateset new osg::StateSet();// 创建一个Texture2D属性对象osg::ref_ptrosg::Texture2D texture new osg::Texture2D();// 关联imagetexture-setImage(image.get());// 关联Texture2D纹理对象第三个参数默认为ONstateset-setTextureAttributeAndModes(0, texture.get(), osg::StateAttribute::ON);// 启用混合stateset-setMode(GL_BLEND, osg::StateAttribute::ON);// 关闭光照stateset-setMode(GL_LIGHTING, osg::StateAttribute::OFF);geometry-setStateSet(stateset.get());}// 创建BillBoard对象1osg::ref_ptrosg::Billboard billboard1 new osg::Billboard();// 设置旋转模式为绕视点billboard1-setMode(osg::Billboard::POINT_ROT_EYE);// 添加Drawable,并设置其位置默认位置为osg::Vec3(0,0,0)billboard1-addDrawable(geometry.get(), osg::Vec3(5.0, 0.0, 0.0));//osg::ref_ptrosg::Billboard billboard2 new osg::Billboard();osg::ref_ptrosg::Group billboard new osg::Group();billboard-addChild(billboard1.get());return billboard.get(); }// 创建帧动画 osg::ref_ptrosg::Sequence createSequence(const string strDataFolder) {// 创建帧动画对象osg::ref_ptrosg::Sequence seq new osg::Sequence();// 文件名向量对象typedef std::vectorstring Filenames;Filenames filenames;char name_count[256];for (int i 0; i 60; i){sprintf_s(name_count, %sosgVR\\bz%d.jpg, strDataFolder.c_str(),i);filenames.push_back(name_count);}for (Filenames::iterator itr filenames.begin(); itr ! filenames.end(); itr){// 加载模型osg::Image *image osgDB::readImageFile(*itr);if (image){// 添加子节点seq-addChild(createBillBoard(image));// 设定节点的持续时间seq-setTime(seq-getNumChildren() - 1, 0.1);}}// 设置帧动画持续的时间seq-setInterval(osg::Sequence::LOOP, 0, -1);// 设置播放的速度及重复的次数seq-setDuration(1.0, -1);// 开始播放seq-setMode(osg::Sequence::START);return seq.get(); } 运行程序截图如图 11-8 所示 图11-8自定义粒子系统示例(二)截图
http://www.dnsts.com.cn/news/263742.html

相关文章:

  • 中通服建设有限公司网站英文服装商城网站建设
  • 海口分类信息网站南宁网站建设哪家公司实力
  • 松江品划网站建设开发茶网站设计素材下载
  • 红酒公司网站建设模板6841wordpress自定义登录页
  • 曹县网站开发公司专门做名片的网站
  • 北京网站建设及优化标准物质网站建设
  • 西安手机网站定制网站建设建设工程网站贴吧
  • 公司做网站算什么费用网站建设公司开发
  • 最好的网站设计公司网站seo测评
  • 网站ip地址范围seo排名查询
  • 武陟网站建设教育培训网站建设ppt
  • 有哪些做兼职的设计网站有哪些网站建设公司首页
  • 英文网站建设步骤外贸营销型网站建站
  • 易名中国域名门户网站湖南沙坪建设集团有限公司网站
  • 福州网站建设搭建wordpress宽屏主题
  • 源码网站违法吗怎样建立自己的网站赚钱
  • 深圳设计公司招聘网站wordpress图片懒加载
  • 网站版式设计说明wordpress适配
  • 丹阳建设局网站信息流优化师前景
  • qq选号网站怎么做的wordpress 获取logo
  • 克拉玛依网站建设网站系统升级
  • 做美图+网站有哪些青岛官网优化
  • 潍坊优化网站多久可以拿证
  • 有的网站打不开 但别人电脑能打开纪检网站建设计划书
  • 网站建设前期情况说明博客群wordpress
  • 网站建设更新不及时亚马逊雨林的资料
  • 东莞网站设计找哪里四平市住房和畅想建设局网站
  • 北京工信部网站监控网站模版
  • 移动端网站怎么制作高埗仿做网站
  • wordpress 标签id南昌专业网站优化推广