我开始学习如何将着色器与QML结合使用,但找不到任何有关传递给着色器的默认统一值和属性值的引用。在某些示例中,我们可以看到其中的一些示例,例如 vertexPosition modelViewProjection (也作为 mvp 传递),但是没有包含我们可以使用的所有变量的明确列表。

在研究了Qt源代码之后,我发现了许多变量的默认名称:

  • 统一变量(位于renderview.cpp中)
  • 模型矩阵
  • viewMatrix
  • projectionMatrix
  • 模型查看
  • viewProjectionMatrix
  • modelViewProjection
  • mvp
  • inverseModelMatrix
  • inverseViewMatrix
  • inverseProjectionMatrix
  • inverseModelView
  • inverseViewProjectionMatrix
  • inverseModelViewProjection
  • 模型NormalMatrix
  • modelViewNormal
  • 视口(viewport)矩阵
  • inverseViewportMatrix
  • 曝光
  • Gamma
  • 时间
  • 眼睛位置
  • 属性(可在qattribute.cpp中找到)
  • 顶点位置
  • 顶点普通
  • vertexColor
  • 顶点TexCoord
  • 顶点切线

  • 这就是全部?这些变量在很大程度上足以开发我现在正在使用的着色器,但是我只想知道是否错过了一些事情。

    最佳答案

    确认@aRaMinet说的部分内容
    来源Qt Documentation

    c++ - Qt3D默认制服和属性-LMLPHP

    10-08 02:52