वर्टेक्स और फ्रैगमेंट शेड्स में एक समान मान कैसे पास करें?

मुझे पता है कि QMaterial में ऐसा कुछ संभव है:

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

क्या कोई और तरीका है?

मेरा लक्ष्य कुछ समान मूल्यों को पारित करना और उन्हें समय-समय पर बदलना है।

-2
Matphy 13 सितंबर 2018, 17:42

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)
1
Matphy 17 सितंबर 2018, 12:10