封装技术。 更多 …
def
addFilterKey
(filterKey)
def
addParameter
(p)
def
addRenderPass
(pass)
def
filterKeys
()
def
graphicsApiFilter
()
def
参数
()
def
removeFilterKey
(filterKey)
def
removeParameter
(p)
def
removeRenderPass
(pass)
def
renderPasses
()
A
QTechnique指定一组QRenderPass对象,QFilterKey对象,QParameter对象和QGraphicsApiFilter, which together define a rendering technique the given graphics API can render. The filter keys are used byQTechniqueFilterto select specific techniques at specific parts of the FrameGraph. If twoQParameterinstances with the same name are specified in aQTechnique和QRenderPass, the one in Technique overrides the one used in theQRenderPass.When creating an
QEffectthat targets several versions of a graphics API, it is useful to create severalQTechniquenodes each with agraphicsApiFilterset to match one of the targeted GL versions. At runtime, the Qt3D renderer will select the most appropriateQTechniquebased on which graphics API versions are supported and (if specified) theQFilterKeynodes that satisfy a givenQTechniqueFilterin the FrameGraph.注意
When using OpenGL as the graphics API for rendering, Qt3D relies on the
QSurfaceFormatreturned bydefaultFormat()at runtime to decide what is the most appropriate GL version available. If you need to customize theQSurfaceFormat, do not forget to apply it withsetDefaultFormat(). Setting theQSurfaceFormaton the view will likely have no effect on Qt3D related rendering.注意
QTechniquenode can not be disabled.QTechnique *gl3Technique = new QTechnique(); // Create the render passes QRenderPass *firstPass = new QRenderPass(); QRenderPass *secondPass = new QRenderPass(); // Add the passes to the technique gl3Technique->addRenderPass(firstPass); gl3Technique->addRenderPass(secondPass); // Set the targeted GL version for the technique gl3Technique->graphicsApiFilter()->setApi(QGraphicsApiFilter::OpenGL); gl3Technique->graphicsApiFilter()->setMajorVersion(3); gl3Technique->graphicsApiFilter()->setMinorVersion(1); gl3Technique->graphicsApiFilter()->setProfile(QGraphicsApiFilter::CoreProfile); // Create a FilterKey QFilterKey *filterKey = new QFilterKey(); filterKey->setName(QStringLiteral("name")); fitlerKey->setValue(QStringLiteral("zFillPass")); // Add the FilterKey to the Technique gl3Technique->addFilterKey(filterKey); // Create a QParameter QParameter *colorParameter = new QParameter(QStringLiteral("color"), QColor::fromRgbF(0.0f, 0.0f, 1.0f, 1.0f)); // Add parameter to technique gl3Technique->addParameter(colorParameter);另请参阅
QEffectQRenderPassQTechniqueFilter
PySide2.Qt3DRender.Qt3DRender.
QTechnique
(
[
parent=None
]
)
¶
parent
–
QNode
PySide2.Qt3DRender.Qt3DRender.QTechnique.
addFilterKey
(
filterKey
)
¶
filterKey
–
QFilterKey
Add
filterKey
到
QTechnique
local filter keys.
PySide2.Qt3DRender.Qt3DRender.QTechnique.
addParameter
(
p
)
¶
p
–
QParameter
Add
参数
to the technique’s parameters.
PySide2.Qt3DRender.Qt3DRender.QTechnique.
addRenderPass
(
pass
)
¶
pass
–
QRenderPass
Appends a
pass
to the technique.
PySide2.Qt3DRender.Qt3DRender.QTechnique.
filterKeys
(
)
¶
Returns the list of Qt3DCore::QFilterKey key objects making up the filter keys of the
QTechnique
.
PySide2.Qt3DRender.Qt3DRender.QTechnique.
graphicsApiFilter
(
)
¶
QGraphicsApiFilter
PySide2.Qt3DRender.Qt3DRender.QTechnique.
参数
(
)
¶
Returns a vector of the techniques current parameters
PySide2.Qt3DRender.Qt3DRender.QTechnique.
removeFilterKey
(
filterKey
)
¶
filterKey
–
QFilterKey
移除
filterKey
从
QTechnique
local filter keys.
PySide2.Qt3DRender.Qt3DRender.QTechnique.
removeParameter
(
p
)
¶
p
–
QParameter
移除
参数
from the technique’s parameters.
PySide2.Qt3DRender.Qt3DRender.QTechnique.
removeRenderPass
(
pass
)
¶
pass
–
QRenderPass
Removes a
pass
from the technique.
PySide2.Qt3DRender.Qt3DRender.QTechnique.
renderPasses
(
)
¶
Returns the list of render passes contained in the technique.