Qt 3D官方示例

  cube的3D演示,一个纯C++的项目。虽然QML示例比较炫,但是要深入理解还是得从C++例子入手。

  从MainWidget.show入口。一步步可以跟踪到initializeGL,paintGL,resizeGL,对了解OpenGL运行流程有帮助。

  MainWidget.show---->Qwidget::show-----> setVisible(true);---> show_helper

  从show_helper中会引出一条主线

  sendPendingMoveAndResizeEvents主动触发QWidget::event事件(其中涉及到的通信机制太复杂),
    事件类型为QOpenGLWidget的resizeEvent。(d->initialize();)
    resizeEvent最终会调用到 MainWidget::initializeGL()
    resizeEvent最终会调用到 MainWidget::resizeGL()
    resizeEvent最终会调用到 MainWidget::initializeGL()

                              ---> showChildren(false);

                              ---->sendEvent(q, &showEvent);

                              ---->show_sys---> setVisible(true);(显示窗口)

                              

                            ----->sendSyntheticEnterLeave(this)

              

resizeEvent --> resizeGL --> 
initTextures中会读取png图片放在Image(750x500)中用于贴图。

    setVisible函数内部会把所有初始化搞定,继续跟进工作量太大。

    QWidget::create---->


  

Qt 3D示例——cube的更多相关文章

  1. Qt 3D Studio 1.0 Resleased

    Qt 这家伙又整出一个新东西了,Qt 3D Studio 1.0 新闻链接:https://blog.qt.io/blog/2017/11/30/qt-3d-studio-1-0-released/ ...

  2. 使用Qt 3D Studio 2.4显着提升性能(渲染速度提高了565%)

    发布于2019年6月18日星期二11评论Qt 3D Studio 2.4显着改善性能 发表于Biz Circuit&Dev Loop,设计,图形,性能,Qt 3D Studio 除了有效使用系 ...

  3. Qt 3D研究(九):尝试第二边缘检测方法

    Qt 3D研究(九):尝试第二边缘检测方法 三维应用程序,通过FBO.将3D图像渲染成纹理,然后对渲染成的纹理进行图像处理,终于显示在屏幕上的.是风格化后的图案.上一次我使用了一种普通的图像处理方法: ...

  4. Qt 3D的研究(十):描边渲染(轮廓渲染)以及Silhouette Shader

    Qt 3D的研究(十):描边渲染(轮廓渲染)以及Silhouette Shader 之前写了两篇文章,介绍了我在边缘检測上面的研究.实际上.使用GPU对渲染图像进行边缘检測.前提是须要进行两遍渲染.前 ...

  5. Qt 3D教程(三)实现对模型材质參数的控制

    Qt 3D教程(三)实现对模型材质參数的控制 蒋彩阳原创文章,首发地址:http://blog.csdn.net/gamesdev/article/details/47131841.欢迎同行前来探讨. ...

  6. Qt Charts示例

    Qt 5.7 有一些变化,把原来商业版的几个模块用GPLv3协议放到了社区版本里: Qt Charts (GPLv3) Qt Data Visualization (GPLv3) Qt Virtual ...

  7. qt 3d 绘图

    首先不得不说,要感谢北京邮电大学的阿科.感谢他慷慨的分享和极具科学态度的记录,将自己搜集到的众多资料收集整理发布,拯救众多苦逼寻找方案的程序员于苦海之中.因为最近接手新的项目,涉及到使用opengl做 ...

  8. Ice简介+Qt代码示例

    1.ICE是什么? ICE是ZEROC的开源通信协议产品,它的全称是:The Internet Communications Engine,翻译为中文是互联网通信引擎,是一个面向对象的中间件,它封装并 ...

  9. Qt 3D教程(二)初步显示3D的内容

    Qt3D教程(二)初步显示3D的内容 前一篇很easy,全然就没有牵涉到3D的内容,它仅仅是我们搭建3D应用的基本框架而已,而这一篇.我们将要利用它来初步地显示3D的内容了! 本次目的是将程序中间的内 ...

  10. 一个QT 3D转动控件

    其实说到底就是不停的截图,做出的幻觉.联想起360拖动图片,也是合并图片做出的效果,可见的对GUI来说图片是一切,是最根本的解决一切问题的办法,编程仅是辅助实现手段而已,我要记住这一点. .h文件 # ...

随机推荐

  1. 聊聊MongoDB中连接池、索引、事务

    大家好,我是哪吒. 三分钟你将学会: MongoDB连接池的使用方式与常用参数 查询五步走,能活九十九? MongoDB索引与MySQL索引有何异同? MongoDB事务与ACID 什么是聚合框架? ...

  2. [C#]关于override和new在重写方法时的区别

    规则: 在"运行时"遇到虚方法时,对象会调用虚成员派生得最远的.重写的实现. 如果是用new修饰符实现的方法,它会在基类面前隐藏派生类重新声明的成员,这时候会找到使用new修饰符的 ...

  3. 使用小黄鸟(HttpCanary)+模拟器(VMOS Pro)对手机APP进行抓包

    最近接触app开发,苦于app端不能像网页端可以F12看请求信息,对于后端来说当接口出现异常却不能拿到请求参数是很苦恼的, 因为之前了解过逍遥模拟器,先使用了模拟器对appj进行抓包,但发现这一款ap ...

  4. 图文并茂strapi 4.5.5自定义搭建指南以及数据库字段名接口返回mapping分析

    strapi是什么? 基于Nodejs的开源免费CMS框架 为什么选择它? 基于nodejs,100%JavaScript,上手迅速 可轻松创建功能强大且可自定义的API 可以使用任何喜欢的数据库 先 ...

  5. 学习ASP.NET Core Blazor编程系列二十三——登录(2)

    学习ASP.NET Core Blazor编程系列文章之目录 学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应 ...

  6. freeswitch号码黑名单

    概述 freeswitch是一款简单好用的的VOIP开源软交换平台. 在客户的呼叫过程中,会遇到一些异常的号码,包括高投诉风险号码.敏感号码.特殊号码等. 在客户呼叫流程中,需要针对这些异常号码做呼叫 ...

  7. 【LeetCode字符串#06】KMP巩固练习:重复子串

    重复的子字符串 力扣题目链接(opens new window) 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成.给定的字符串只含有小写英文字母,并且长度不超过10000. 示例 1: ...

  8. 亲测有效! Wondershare UniConverterV14.1.7 Wondershare PDFelement Professional V9.3.3 含(win/mac版)

    亲测有效!  Wondershare UniConverterV14.1.7  Wondershare PDFelement Professional V9.3.3 含(win/mac版) Wonde ...

  9. Spring Cloud Openfeign Get请求发生405错误

    kust-retrieve服务 @Resource private AuthFeignService authFeignService; @ApiOperation("获取用户信息" ...

  10. C#操作注册表简单教程(附带操作某数据库客户端注册表以实现重置试用期的效果)

    前言: 使用Windows系统,经常会遇到需要做注册表的操作.例如,一些软件需要修改注册表.自己编写的软件需要新建注册表进行写入注册信息等等.以下内容以某常见的数据库操作客户端为例,做一个注册表操作的 ...