根据我的知识,QML和OpenGL一样,对吧?那么我可以用QML完全取代OpenGL吗?
什么是QML和OpenGL的基本区别?
人们何时更喜欢QML而不是OpenGL,反之亦然?
你的知识是不正确的,QML和OpenGL是两个完全不同的东西,第一个是声明性语言,第二个是图形API .
使用QML的QtQuick通常使用OpenGL作为其图形,但这是一个后端,你没有任何访问权限(它实际上在最近的版本中更容易访问,但我希望没有多少人会调整它,并且即使他们这样做,也会是C,而不是QML) .
有Qt3D,它有一个QML API,但它只是一些基本的东西而且它是高级别的 - 绝不是OpenGL的替代品,它是非常低级别的 . 这意味着使用Qt3D放置一些3D模型,相机,材料等会更加容易,这些是您通常不会直接在OpenGL中执行的操作,而是使用基于OpenGL构建的API .
1 回答
你的知识是不正确的,QML和OpenGL是两个完全不同的东西,第一个是声明性语言,第二个是图形API .
使用QML的QtQuick通常使用OpenGL作为其图形,但这是一个后端,你没有任何访问权限(它实际上在最近的版本中更容易访问,但我希望没有多少人会调整它,并且即使他们这样做,也会是C,而不是QML) .
有Qt3D,它有一个QML API,但它只是一些基本的东西而且它是高级别的 - 绝不是OpenGL的替代品,它是非常低级别的 . 这意味着使用Qt3D放置一些3D模型,相机,材料等会更加容易,这些是您通常不会直接在OpenGL中执行的操作,而是使用基于OpenGL构建的API .