如何在Qml着色器效果中将均匀的float数组传递给片段着色器?

问题描述 投票:0回答:1

Q:如何在Qml着色器效果中将均匀的float数组传递给片段着色器?

它可以与常规属性一起使用,例如>

property var myValue: 0.4;
[...]
fragmentShader: "
  uniform float myValue;
  void main()
  {

     vec4 col = vec4(myValue, 0, 0.0, 1.0);
     gl_FragColor = vec4(col);
  }"

但不包含实像数组。

   import QtQuick 2.0


    ShaderEffect {
      id: shader
      width: 400
      height: 400
      property var myArray: [0.4, 0.5, 1.0];
      fragmentShader: "
      uniform float myArray[2];
      void main()
      {

         vec4 col = vec4(myArray[0], 0, 0.0, 1.0);
         gl_FragColor = vec4(col);
      }"

     }

问:如何在Qml着色器效果中将均匀的float数组传递给片段着色器?它与常规属性(例如var myValue:0.4;)一起工作。 [...] fragmentShader:“统一浮动myValue;无效...

c++ qt qml glsl shader
1个回答
0
投票

不幸的是,目前尚不可能,您可以在此处检查问题并对其进行表决:https://bugreports.qt.io/browse/QTBUG-50493

© www.soinside.com 2019 - 2024. All rights reserved.