Encapsulates a Render Pass. 更多 …
def
addFilterKey
(filterKey)
def
addParameter
(p)
def
addRenderState
(state)
def
filterKeys
()
def
参数
()
def
removeFilterKey
(filterKey)
def
removeParameter
(p)
def
removeRenderState
(state)
def
renderStates
()
def
shaderProgram
()
def
setShaderProgram
(shaderProgram)
def
shaderProgramChanged
(shaderProgram)
A
QRenderPassspecifies a single rendering pass - an instance of shader program execution - used byQTechnique. Render pass consists of aQShaderProgramand a list ofQFilterKeyobjects, a list ofQRenderStateobjects and a list ofQParameter对象。
QRenderPassexecutes theQShaderProgramusing the givenQRenderStateandQParameternodes when at least one ofQFilterKeynodes being referenced matches any of theQFilterKeynodes inQRenderPassFilteror when noQFilterKeynodes are specified and noQRenderPassFilteris present in the FrameGraph.若
QRenderPassdefines aQParameter, it will be overridden by aQParameterwith the same name if it exists in any of theQTechnique,QEffect,QMaterial,QTechniqueFilter,QRenderPassFilterassociated with the pass at runtime. This still can be useful to define sane default values.At render time, for each leaf node of the FrameGraph a base render state is recorded by accumulating states defined by all
QRenderStateSetnodes in the FrameGraph branch. EachQRenderPasscan overload this base render state by specifying its ownQRenderStatenodes.// Create the render passes QRenderPass *pass = new QRenderPass(); // Create shader program QShaderProgram *glShader = new QShaderProgram(); // Set the shader on the render pass pass->setShaderProgram(glShader); // Create a FilterKey QFilterKey *filterKey = new QFilterKey(); filterKey->setName(QStringLiteral("name")); fitlerKey->setValue(QStringLiteral("zFillPass")); // Add the FilterKey to the pass pass->addFilterKey(filterKey); // Create a QParameter QParameter *colorParameter = new QParameter(QStringLiteral("color"), QColor::fromRgbF(0.0f, 0.0f, 1.0f, 1.0f)); // Add parameter to pass pass->addParameter(colorParameter); // Create a QRenderState QDepthTest *depthTest = new QDepthTest(); // Add the render state to the pass pass->addRenderState(depthTest);另请参阅
QRenderPassFilterQFilterKeyQParameterQRenderStateQEffectQTechnique
PySide2.Qt3DRender.Qt3DRender.
QRenderPass
(
[
parent=None
]
)
¶
- param parent
QNode
构造新
QRenderPass
with the specified
parent
.
PySide2.Qt3DRender.Qt3DRender.QRenderPass.
addFilterKey
(
filterKey
)
¶
filterKey
–
QFilterKey
添加
filterKey
到
QRenderPass
local filter keys.
PySide2.Qt3DRender.Qt3DRender.QRenderPass.
addParameter
(
p
)
¶
p
–
QParameter
Add
参数
to the render pass’ parameters.
PySide2.Qt3DRender.Qt3DRender.QRenderPass.
addRenderState
(
state
)
¶
state
–
QRenderState
Adds a render
state
to the rendering pass. That implies that when the pass is executed at render time, the globally set render state will be modified by the states defined locally by the
QRenderPass
.
注意
not defining any
QRenderState
in a pass will result in the pass using the globally set render state for a given FrameGraph branch execution path.
PySide2.Qt3DRender.Qt3DRender.QRenderPass.
filterKeys
(
)
¶
Returns the list of
QFilterKey
key objects making up the filter keys of the
QRenderPass
.
PySide2.Qt3DRender.Qt3DRender.QRenderPass.
参数
(
)
¶
Returns a vector of the render pass’ current parameters
PySide2.Qt3DRender.Qt3DRender.QRenderPass.
removeFilterKey
(
filterKey
)
¶
filterKey
–
QFilterKey
移除
filterKey
从
QRenderPass
local filter keys.
PySide2.Qt3DRender.Qt3DRender.QRenderPass.
removeParameter
(
p
)
¶
p
–
QParameter
移除
参数
from the render pass’ parameters.
PySide2.Qt3DRender.Qt3DRender.QRenderPass.
removeRenderState
(
state
)
¶
state
–
QRenderState
移除
state
从
QRenderPass
local render state.
PySide2.Qt3DRender.Qt3DRender.QRenderPass.
renderStates
(
)
¶
Returns the list of
QRenderState
state objects making up the render state of the
QRenderPass
.
PySide2.Qt3DRender.Qt3DRender.QRenderPass.
setShaderProgram
(
shaderProgram
)
¶
shaderProgram
–
QShaderProgram
另请参阅
PySide2.Qt3DRender.Qt3DRender.QRenderPass.
shaderProgram
(
)
¶
QShaderProgram
另请参阅
PySide2.Qt3DRender.Qt3DRender.QRenderPass.
shaderProgramChanged
(
shaderProgram
)
¶
shaderProgram
–
QShaderProgram