Provides storage for a name and value pair. This maps to a shader uniform. 更多 …
def
nameChanged
(name)
def
valueChanged
(value)
A
QParametercan be referenced by aQRenderPass,QTechnique,QEffect,QMaterial,QTechniqueFilter,QRenderPassFilter. At runtime, depending on which shader is selected for a given step of the rendering, the value contained in aQParameterwill be converted and uploaded if the shader contains a uniform with a name matching that of theQParameter.QParameter *param = new QParameter(); param->setName(QStringLiteral("diffuseColor")); param->setValue(QColor::fromRgbF(0.0f, 0.0f, 1.0f, 1.0f)); // Alternatively you can create and set a QParameter this way QParameter *param2 = new QParameter(QStringLiteral("diffuseColor"), QColor::fromRgbF(0.0f, 0.0f, 1.0f, 1.0f)); // Such QParameters will work with the following GLSL uniform shader declarations // uniform vec4 diffuseColor; // uniform vec3 diffuseColor; // uniform vec2 diffuseColor; // uniform float diffuseColor;注意
some care must be taken to ensure the value wrapped by a
QParametercan actually be converted to what the real uniform expect. Giving a value stored as an int where the actual shader uniform is of type float could result in undefined behaviors.注意
when the targeted uniform is an array, the name should be the name of the uniform with [0] appended to it.
注意
QParameternode can not be disabled.QParameter *param = new QParameter(); QVariantList values = QVariantList() << 0.0f << 1.0f << 2.0f << 3.0f << 4.0f << 883.0f << 1340.0f << 1584.0f; param->setName(QStringLiteral("diffuseValues[0]")); param->setValue(values); // Matching GLSL shader uniform declaration // uniform float diffuseValues[8];When it comes to texture support, the
QParametervalue should be set to the appropriateQAbstractTexturesubclass that matches the sampler type of the shader uniform.QTexture2D *texture = new QTexture2D(); ... QParameter *param = new QParameter(); param->setName(QStringLiteral("diffuseTexture")); param->setValue(QVariant::fromValue(texture)); // Works with the following GLSL uniform shader declaration // uniform sampler2D diffuseTexture另请参阅
QAbstractTexture
PySide2.Qt3DRender.Qt3DRender.
QParameter
(
[
parent=None
]
)
¶
PySide2.Qt3DRender.Qt3DRender.QParameter(name, texture[, parent=None])
PySide2.Qt3DRender.Qt3DRender.QParameter(name, value[, parent=None])
- param parent
QNode- param name
unicode
- param texture
QAbstractTexture- param value
object
构造新
QParameter
with the specified
parent
.
PySide2.Qt3DRender.Qt3DRender.QParameter.
nameChanged
(
name
)
¶
name – unicode
PySide2.Qt3DRender.Qt3DRender.QParameter.
value
(
)
¶
object
另请参阅
PySide2.Qt3DRender.Qt3DRender.QParameter.
valueChanged
(
value
)
¶
value – object