- class QParameter链接到此处
提供存储名称和值对的接口。这对应于着色器统一量。详细信息…
概览链接到此处
属性链接到此处
方法链接到此处
def __init__()
def name()
def value()
槽链接到此处
def setName()
def setValue()
信号链接到此处
def nameChanged()
def valueChanged()
注意
此文档可能包含从 C++ 到 Python 自动翻译的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译中存在问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单的方式告知我们。
详细描述链接到此处
一个
QParameter
可以被一个QRenderPass
、QTechnique
、QEffect
、QMaterial
、QTechniqueFilter
、QRenderPassFilter
引用。在运行时,根据为渲染过程选定哪个着色器,如果着色器中包含与QParameter
名称匹配的统一量,则会将QParameter
中包含的值进行转换并上传。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;
注意
在确保
QParameter
的值可以被转换为真正的统一量所期望的类型时必须谨慎。将存储为 int 类型的值赋予实际着色器统一量应为浮点类型的值可能会导致未定义的行为。注意
当目标统一变量是一个数组时,它的名字应在原基础上后追加[0]。
注意
QParameter
节点无法被禁用。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];
至于纹理支持,应将
QParameter
的值设置为与着色器统一变量的采样器类型匹配的适当的QAbstractTexture
子类。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
注意
当使用
from __feature__ import true_property
时,可以直接使用属性,否则通过访问函数使用。- property nameᅟ: str#
指定参数的名称
- 访问函数
- property valueᅟ: object#
指定参数的值
- 访问函数
- __init__([parent=None])#
- 参数:
parent –
QNode
使用指定的
parent
构造一个新的QParameter
。- __init__(name, texture[, parent=None])
- 参数:
name – str
texture –
QAbstractTexture
parent –
QNode
使用指定的
parent
,name
来构造一个新的QParameter
并从texture
获取其值。- __init__(name, value[, parent=None])
- 参数:
name – str
value – object
parent –
QNode
使用指定的
parent
,name
和value
来构造一个新的QParameter
。- name()#
- 返回类型:
字符串
另请参阅
setName()
属性
name
的获取器。- nameChanged(name)#
- 参数:
name – str
属性
name
的通知信号。- setName(name)#
- 参数:
name – str
另请参阅
name()
属性
name
的设置器。- setValue(dv)#
- 参数:
dv – 对象
另请参阅
value()
属性
value
的设置器。- value()#
- 返回类型:
对象
另请参阅
setValue()
属性
value
的获取器。- valueChanged(value)#
- 参数:
value – object
属性
value
的通知信号。