代码之家  ›  专栏  ›  技术社区  ›  Matphy

将统一值传递到顶点和片段着色器

  •  -2
  • Matphy  · 技术社区  · 6 年前

    如何将统一值传递到顶点和片段着色器中?

    QMaterial :

    self.colorParameter = Qt3DRender.QParameter("color", color)
    self.addParameter(self.colorParameter)
    

    还有别的办法吗?

    我的目标是传递一些统一的值,并不时地更改它们。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Matphy    6 年前

    正如@Florian Blume所建议的,我正在发布我的答案:

    class MyMaterial(Qt3DRender.QMaterial):
        def __init__(self, parent):
            super().__init__(parent)
            # some code ...
    
            self.parameter_position = Qt3DRender.QParameter("position", QVector3D(0, 0, 0))
            self.addParameter(self.parameter_position)
    
        def update_position(self, position):
            self.removeParameter(self.parameter_position)
            self.parameter_position.setValue(position)
            self.addParameter(self.parameter_position)
    
    推荐文章