北京赛车pk10直播开奖
首頁
登錄 | 注冊

Qt公司宣布其新的高級3D API - Qt Quick 3D

從最近的Qt6工具包的技術愿景繼續,Qt公司現在宣布他們為Qt的下一個主要版本開發的新的高級3D API。

Qt Quick 3D是這個新的高級API,用于從Qt Quick中為用戶界面創建3D內容,而無需任何外部引擎。 Qt Quick 3D將使用Qt 3D STUDIO目前使用的渲染器。

該公司希望Qt Quick 3D能夠提供統一的圖形支持,易于使用的API,具有現有Qt Quick的統一工具,跨平臺性能/兼容性以及其他功能。 Qt Quick 3D將由Vulkan,Metal,Direct3D或OpenGL在后端呈現,具體取決于平臺。這款新的Qt Quick 3D API不能替代現有的Qt 3D。

Qt公司宣布其新的高級3D API - Qt Quick 3D

在考慮Qt6的同時,Qt公司的目標是將Qt Quick 3D作為Qt 5.14的技術預覽添加,他們已經擁有了一個可用于Qt 5.12 LTS和更新版本的外部組件。

Qt Quick 3D不是Qt 3D的替代品,而是Qt Quick功能的擴展,使用高級API渲染3D內容。

這是一個非常簡單的項目,其中包含一些有用的注釋:

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick3D 1.0
 
Window {
  id: window
  visible: true
  width: 1280
  height: 720
     
  // Viewport for 3D content
  View3D {
    id: view
         
    anchors.fill: parent
    // Scene to view
    Node {
      id: scene
         
      Light {
             
        id: directionalLight
               
      }
 
      Camera {
        id: camera
        // It's important that your camera is not inside
        // your model so move it back along the z axis
        // The Camera is implicitly facing up the z axis,
        // so we should be looking towards (0, 0, 0)
        z: -600
      }
 
      Model {
        id: cubeModel
        // #Cube is one of the "built-in" primitive meshes
        // Other Options are:
        // #Cone, #Sphere, #Cylinder, #Rectangle
        source: "#Cube"
                 
        // When using a Model, it is not enough to have a
        // mesh source (ie "#Cube")
        // You also need to define what material to shade
        // the mesh with. A Model can be built up of
        // multiple sub-meshes, so each mesh needs its own
        // material. Materials are defined in an array,
        // and order reflects which mesh to shade
                 
        // All of the default primitive meshes contain one
        // sub-mesh, so you only need 1 material.
                 
        materials: [
                     
          DefaultMaterial {
                         
            // We are using the DefaultMaterial which
            // dynamically generates a shader based on what
            // properties are set. This means you don't
            // need to write any shader code yourself. 
            // In this case we just want the cube to have
            // a red diffuse color.
            id: cubeMaterial
            diffuseColor: "red"
          }
        ]
      }
    }
  }
}

有關Qt Quick 3D的更多詳細信息,請參見今天的公告郵件列表帖子



2019 monjeep.com webmaster#monjeep.com
12 q. 0.010 s.
京ICP備10005923號
北京赛车pk10直播开奖
360彩票网安全吗 北京pk10走势下载 湘西边城棋牌官方下载 高频彩骗局 21点点数一样怎么算 天天棋牌送20元 免费炸金花棋牌游戏 113彩票代理群 福建快3和值预测 关于网上抢庄牛牛规律