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

问题描述 投票:-2回答:1

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

我知道在QMaterial这样的事情是可能的:

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

还有其他方法吗?

我的目标是传递一些统一的价值观并不时改变它们。

python-3.x opengl qt3d pyside2
1个回答
1
投票

正如@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)
© www.soinside.com 2019 - 2024. All rights reserved.