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

网站定制开发多久时间设计网站设计

网站定制开发多久时间,设计网站设计,网站建设所面临的问题,制作自己的网站代码吗正文 我之前在这篇博文《OSG嵌入QT的简明总结》中论述了OSG在QT中显示的可视化问题。其中提到官方提供的osgQt项目#xff08;地址#xff1a;https://github.com/openscenegraph/osgQt #xff09;很久前已经更新了。但是我一直没有时间同步更新#xff0c;最近重新尝试了…正文 我之前在这篇博文《OSG嵌入QT的简明总结》中论述了OSG在QT中显示的可视化问题。其中提到官方提供的osgQt项目地址https://github.com/openscenegraph/osgQt 很久前已经更新了。但是我一直没有时间同步更新最近重新尝试了一下还是有一些问题。 原先的osgQt版本是兼容Qt4的QGLWidget这个类Qt官方准备废弃了现在使用的OpenGL支持组件是QOpenGLWidget新的osgQt项目就是基于这个类来进行扩展的。在项目中提供了一个例子osgviewerQt我稍微试用了一下将其修改成自己的代码时发现了问题就是渲染的场景宽高比不正确尤其是将窗体设置成很长或者很窄的时候。我还特意在这个项目中提交了issueI tried the demo in the project, and the correct aspect ratio cannot be displayed。 后续也有人回答了这个问题一个解决方案就是需要在初始化响应函数中设置相机投影矩阵的宽高比。我改写的例子如下 #include QApplication #include QSurfaceFormat #include iostream #include osgDB/ReadFile #include osgGA/AnimationPathManipulator #include osgGA/StateSetManipulator #include osgGA/TrackballManipulator #include osgQOpenGL/osgQOpenGLWidget #include osgUtil/Optimizer #include osgViewer/Viewer #include osgViewer/ViewerEventHandlersint main(int argc, char* argv[]) {QSurfaceFormat format QSurfaceFormat::defaultFormat();#ifdef OSG_GL3_AVAILABLEformat.setVersion(3, 2);format.setProfile(QSurfaceFormat::CoreProfile);format.setRenderableType(QSurfaceFormat::OpenGL);format.setOption(QSurfaceFormat::DebugContext); #elseformat.setVersion(2, 0);format.setProfile(QSurfaceFormat::CompatibilityProfile);format.setRenderableType(QSurfaceFormat::OpenGL);format.setOption(QSurfaceFormat::DebugContext); #endifformat.setDepthBufferSize(24);// format.setAlphaBufferSize(8);format.setSamples(8);format.setStencilBufferSize(8);format.setSwapBehavior(QSurfaceFormat::DoubleBuffer);QSurfaceFormat::setDefaultFormat(format);QApplication app(argc, argv);osgQOpenGLWidget widget;QObject::connect(widget, osgQOpenGLWidget::initialized, [widget] {// set up the camera manipulators.widget.getOsgViewer()-setCameraManipulator(new osgGA::TrackballManipulator());// add the state manipulatorwidget.getOsgViewer()-addEventHandler(new osgGA::StateSetManipulator(widget.getOsgViewer()-getCamera()-getOrCreateStateSet()));// add the thread model handlerwidget.getOsgViewer()-addEventHandler(new osgViewer::ThreadingHandler);// add the window size toggle handlerwidget.getOsgViewer()-addEventHandler(new osgViewer::WindowSizeHandler);// add the stats handlerwidget.getOsgViewer()-addEventHandler(new osgViewer::StatsHandler);// add the record camera path handlerwidget.getOsgViewer()-addEventHandler(new osgViewer::RecordCameraPathHandler);// add the LOD Scale handlerwidget.getOsgViewer()-addEventHandler(new osgViewer::LODScaleHandler);// add the screen capture handlerwidget.getOsgViewer()-addEventHandler(new osgViewer::ScreenCaptureHandler);// load the datastd::string filename C:/Data/001/010137001.obj;osg::ref_ptrosg::Node loadedModel osgDB::readRefNodeFile(filename);// optimize the scene graph, remove redundant nodes and state etc.osgUtil::Optimizer optimizer;optimizer.optimize(loadedModel);widget.getOsgViewer()-setSceneData(loadedModel);//增加宽高比设置QSize size widget.size(); float aspectRatio static_castfloat(size.width()) / static_castfloat(size.height());widget.getOsgViewer()-getCamera()-setProjectionMatrixAsPerspective(60.f, aspectRatio, 1.f, 1000.f);return 0;});widget.resize(200, 600);widget.show();return app.exec(); }上述例子确实可以让场景显示正常即使窗体宽设置为200高设置为600。不过我发现了另外一个问题按S显示帧数的时候帧数比之前的解决方案低很多。之前的解决方案帧数可以达到200帧但是这个解决方案帧数大概在90帧左右。 具体看了一下其封装的osgQOpenGLWidget的实现我觉得可能有两个原因第一个是渲染的帧函数中有同步锁不知道会不会有所影响。第二个是这个解决方案获取的帧数好像是自己计算的与OSG内部计算的帧数不同似乎也正常。不过我这里是不太敢用这个解决方案了目前还是使用之前的解决方案以后有机会还是自己研究一下其中的实现。 参考 OpenSceneGraph QOpenGLWidget - minimal example OSG 使用Qt的QOpenGLWidget
http://www.hkea.cn/news/14404563/

相关文章:

  • 淘宝客怎么做直播网站吗网站建设 pdf
  • 钉钉网站建设服务协议返利网站开发一般要多少钱
  • 上传网站再备案网站开发常用单词
  • 东莞网站建设都找菲凡网络网站动态页面
  • wordpress 网站搬家wordpress 网站主题
  • 泉州企业自助建站响应式网站搭建百度小程序
  • 境外网站做网站涉黄怎么进入公司网站
  • 做的好的家装网站网站三要素
  • 工作室 网站上海发布公众号
  • 常州网站建设常州建站工具模板
  • php网站成品成都微信网站建设
  • 有建设网站的软件吗erp管理系统的作用
  • 网站右键禁止世代网络高端企业网站建设设计功能公司
  • 外贸公司取名字大全长沙seo排名公司
  • 广州 网站设计公司排名如何自己写一个网站
  • 建网站的大公司湖北网站设计
  • 变性人做网站网站pc端建设
  • 江西省城乡建设培训网-官方网站新网域名官网
  • 青海营销网站建设服务网站开发与应用 大作业作业
  • 个人业务网站源码phpwordpress大前端增强版
  • 甘肃做高端网站的公司中国建筑业网
  • 怎么做个工程网页制作推广东莞网络优化调查公司
  • 苏州正规网站建设概况在手机上怎么建造网站
  • app网站推广平台东莞市手机网站建设品牌
  • 做海报素材的网站甘肃定西校园文化设计公司
  • 网站建设毕业设计综述中国最权威的网站排名
  • 廊坊网站制作公司排名那样的网站18年
  • 安徽建设厅网站官网如何一个空间做多个网站
  • 济南微网站建设网站设计 版权
  • 柳州公司网站制作公司温州企业网站设计