`
tomhibolu
  • 浏览: 1431041 次
文章分类
社区版块
存档分类
最新评论

Scene Graph 小记(Qt5)

 
阅读更多

在Qt5中,传统的QWidget系列,仍然使用BackStoring技术,但新的Qt Quick2,将使用Scene Graph。后者能更好地发挥GPU的性能,但是移植QWidget到这上面来的话,工作量似乎又太大。所以...

本文:跟随 官方blog,简单了解 Scene Graph

背景:硬件加速

显卡按显存架构可分两类:

  • UMA(Unified Memory Architecture)统一内存体系结构,使用部分的电脑主内存作为显存
  • 非UMA,使用独立的显存。

显卡按其支持的图形操作可以粗略分为:

No acceleration (framebuffer only)

常见于嵌入式设备中

Blitter & alpha-blending hardware

在PC中不多见了
仍用于嵌入式

Path based 2D vector graphics

取代前者(?)

Fixed-function 3D

老式的PC机中,被后者取代

Programmable 3D

这样以来2*5=10,将有10中情况了。对此,Qt曾这样规划,每种情况对应一个paint engine。

UMA

非UMA

None

Raster

Raster*

Blitter

DirectFB

DirectFB**

2D vector

OpenVG***

OpenVG***

Fixed-3D

OpenGL(ES)1.x

OpenGL(ES)1.x

Programmable-3D

OpenGL(ES)2.x

OpenGL(ES)2.x****

使用OpenGL引擎

引入了!OpenGL2,但是看来,在当前的这种graphics stack(Backstoring)下,性能不太令人满意。

Scene Graph出场

在做了种种努力之后。官方决定后退一步,然后看看如果采用一种新的模型会得到些什么。这个新模型就是 Scene Graph,它是由一系列节点构成的树

  • GeometryNode

  • TransformNode

  • ClipNode

然后使用Renderer的子类遍历这个类并渲染它。

几个月后,已可以将QML建立在Scene Graph的基本结构之上。此时特点:可以见到

  • QtSceneGraph 这个库

  • qmlscene 这个可执行文件

今年5月底,QML Scene Graph 进入Qt5源码仓库的master分支。

后续

和Qt Quick关系太大了,暂时看不懂。只好先到这儿了...


分享到:
评论

相关推荐

    Qt Scene graph画线和擦除

    **Qt Scene Graph 画线与擦除** Qt Scene Graph 是 Qt 框架中的一个强大功能,它允许开发者创建高性能、图形丰富的用户界面。Scene Graph 是一个基于节点的图形渲染系统,可以高效地管理图形对象并优化渲染过程。在...

    QPainter 与QML SceneGraph绘制效率对比测试

    在图形渲染领域,QPainter和QML SceneGraph都是Qt框架下用于实现2D图形绘制的重要工具,它们各自具有不同的特点和适用场景。本篇文章将详细探讨QPainter与QML SceneGraph在绘制效率上的对比测试,并基于半径递增的同...

    Knowledge-Embedded Routing Network for Scene Graph Generation.pdf

    To achieve this, we incorporate these statistical correlations into deep neural networks to facilitate scene graph generation by developing a Knowledge-Embedded Routing Network. More specifically, ...

    JavaFX之Scene Graph

    JavaFX为新的java技术,处理动态画面,画面精美令人赞叹,中文资料现今还没有,此资料都是用英文资料集合整理翻译而来。

    S3032-Advanced-Scenegraph-Rendering-Pipeline

    在图形渲染领域,Scene Graph(场景图)是一种用于组织和管理3D图形对象的数据结构,它为复杂的场景提供了逻辑上的层次结构。S3032高级场景图渲染管线是针对传统场景图渲染方法的一种优化技术,旨在解决随着场景...

    3D-scene-graph.zip

    在3D计算机图形学中,3D场景图(3D Scene Graph)是一个至关重要的概念,它为复杂的3D环境提供了一种结构化的组织方式。3D-scene-graph.zip中的内容可能是一个实现或示例,展示了如何构建和管理这样的场景图。场景图...

    vsg.rar_VSG_Vega Scene Graph_multigen_multigen vega

    VSG(Vega Scene Graph)是由Multigen公司开发的一个关键组件,用于其三维仿真软件VegaPrime2.0。Vega Scene Graph是一个强大的图形场景管理工具,它在计算机图形学和虚拟环境中扮演着核心角色。这个名为“vsg.rar”...

    open scene graph库

    Open Scene Graph(简称OSG)是一个开源的3D图形库,专为实时渲染设计,广泛应用于科学可视化、虚拟现实和游戏开发等领域。该库基于OpenGL,一个强大的跨平台的图形编程接口,允许开发者创建复杂的3D场景和交互式...

    scenegraph-driver:用于Roku开发的SceneGraph自动化库

    Roku Libs 用于Roku开发的SceneGraph自动化库。 注意:自2019年12月起,Roku已发布了官方的自动化测试工具: : 。 作者 Julio 初期工作/维护人员 执照 该项目是根据。

    SceneGraph.js, HTML5 Canvas 和动画框架.zip

    SceneGraph.js, HTML5 Canvas 和动画框架 SceneGraph.jsSceneGraph.js 是面向HTML5的面向对象对象,它是一个功能强大且非常面向对象的场景图形框架,它是为了简化应用程序和游戏的开发而在HTML5中实现的。...

    Img2SceneGraph

    Img2SceneGraph 内容 概述 Img2SceneGraph提供了一个管道,该管道可将图像传输到具有节点属性的场景图。 它可以使用各种下游任务来生成带标签的图形数据集。 这是一个典型的工作流程: 步骤1:从标记的图像到节点和...

    Graph_QT_graph网站_网络实时显示源代码_seenbu3_

    【标题】"Graph_QT_graph网站_网络实时显示源代码_seenbu3_" 指的是一种使用QT库创建的图形应用程序,它专门设计用于在网络上实时显示数据。QT是一个跨平台的开发框架,广泛用于创建图形用户界面(GUI)和各种类型的...

    3D-MonoGame-SceneGraph.zip

    3D-MonoGame-SceneGraph.zip,单对策中基本场景图的节点、剔除和实体。,3D建模使用专门的软件来创建物理对象的数字模型。它是3D计算机图形的一个方面,用于视频游戏,3D打印和VR,以及其他应用程序。

    Qt5.9下使用msvc2015编译openSceneGra

    ### Qt5.9 下使用 msvc2015 编译 OpenSceneGraph #### 概述 本篇文章主要介绍如何在 Qt5.9 环境下使用 Microsoft Visual Studio 2015 (msvc2015) 来编译 OpenSceneGraph (osg) 的过程。OpenSceneGraph 是一个高性能...

    qt 开发文档大全

    ./Qt新渲染底层Scene Graph研究2.pdf ./Qt及Qt Quick开发实战精解.pdf ./Qt Creator 你必须掌握的快捷操作.pdf ./Qt新渲染底层Scene Graph研究1.pdf ./浅谈qmake之pro,pri,prf,prl文件.pdf ./QT的信号与槽机制介绍....

    辐射度光照图生成器for open scene graph DEMO 代码

    Open Scene Graph (OSG) 是一个高性能的开源3D图形库,常用于科学可视化、虚拟现实和游戏开发。本篇将详细讲解"辐射度光照图生成器 for Open Scene Graph DEMO 代码"的相关知识点。 首先,我们要理解辐射度的概念。...

    OpenSceneGraph 3 Cookbook pdf

    The book includes customizing OpenSceneGraph, designing scene graph, geometry, scene navigation, animations, effects using fixed pipeline and shaders, managing mass data, and miscellaneous discussions...

    osg书籍,Open+Scene+Graph+Tutorials

    《Open Scene Graph Tutorials》是一本专注于Open Scene Graph(OSG)的学习资源,它为学习者提供了详尽的教程和源代码,以帮助理解和掌握这个强大的3D图形库。Open Scene Graph是一个开源的高性能3D图形API,基于...

    using_the_qt_quick_scene_graph_api:使用Qt Quick场景图API的QR码动画

    使用Qt Quick场景图API的QR码动画 这是我们在Qt World Summit 2015演讲中的代码示例。 该代码与Qt 5.5一起运行,但是演示文稿使用了Qt 5.6的两个性能补丁,这些补丁已在本地反向移植:

    cow open scene graph

    cow osg file. for openscenegraph. use osviewer cow.osg

Global site tag (gtag.js) - Google Analytics