Qt3D 2.0 技术预览版发布,可定制对象外观

jopen 9年前

这篇是 Qt3D 模块的维护者和 KDAB UK Ltd 的管理者 Dr Sean Harmer 编写的。

Qt 5.5.0 发布包括 Qt3D 模块的技术预览版。Qt3D 提供一个高级框架,为了简化开发者使用 QML 或者 C++ APIs 来添加 3D 内容到 Qt 应用的过程。Qt3D 模块现在是技术预览的状态,会继续改进 API 设计,支持的特性和性能。

Qt3D 提供了 OpenGL 跨平台(除了 iOS)现代化 3D 渲染所需要的大量功能。现在正在努力,希望能尽快在 iOS 上支持 Qt3D。Qt3D 不仅仅能允许开发者简单的展示 3D 内容,而且能使用内置材料或者是通过自定义 GLSL shaders 来完全自定义对象外观。Qt3D 甚至能在一个数据驱动的 manner 中控制如何渲染场景。这个能快速产生新的原型或者定制渲染算法。Scene3D Qt Quick 项中已经启用了 Qt3D 和 Qt Quick 2 内容集成。

Qt3D 技术预览版支持的新特性:

  • A flexible and extensible Entity Component System with a highly threaded and scalable architecture

  • Loading of custom geometry (using built in OBJ parser or assimp if available)

  • Comprehensive material, effect, render pass system to customise appearance

  • Data-driven renderer configuration – change how your scene is rendered without touching C++

  • Support for many rendering techniques – forward, deferred, early z-fill, shadow mapping etc.

  • Support for all GLSL shader stages (excluding compute at present)

  • Good support for textures and render targets including high-dynamic range

  • Support for uniform buffer objects where available

  • Out of the box support for simple geometric primitives and materials

  • Keyboard input and simple camera mouse control

  • Integration with Qt Quick 2 user interfaces

除了渲染,Qt3D 同时提供一个框架,为了在未来提供额外的特性:

  • Physics simulation

  • Skeletal and morph target animation

  • 3D positional audio

  • Stereoscopic rendering

  • Artificial intelligence

  • Advanced input mechanisms

KDAB 和 Qt 公司会继续改进 Qt3D,主要是改善更多平台的支持;输入处理;其他 3D 格式的导入;实例渲染;更加物化;更好的集成 Qt。

更多改进内容请看发行说明