Передача равномерных значений в вершинный и фрагментный шейдеры - PullRequest
0 голосов
/ 13 сентября 2018

Как передать равномерное значение в вершинный и фрагментный шейдеры?

Я знаю, что подобное возможно в QMaterial:

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

Есть ли другой способ?

Моя цель - передать некоторые однородные значения и время от времени менять их.

1 Ответ

0 голосов
/ 17 сентября 2018

Как предложил @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)
...