[][src]Struct qt_3d_render::QEffect

#[repr(C)]pub struct QEffect { /* fields omitted */ }

The base class for effects in a Qt 3D scene.

C++ class: Qt3DRender::QEffect.

C++ documentation:

The base class for effects in a Qt 3D scene.

The QEffect class combines a set of techniques and parameters used by those techniques to produce a rendering effect for a material.

An QEffect instance should be shared among several QMaterial instances when possible.

QEffect *effect = new QEffect();

// Create technique, render pass and shader QTechnique gl3Technique = new QTechnique(); QRenderPass gl3Pass = new QRenderPass(); QShaderProgram *glShader = new QShaderProgram();

// Set the shader on the render pass gl3Pass->setShaderProgram(glShader);

// Add the pass to the technique gl3Technique->addRenderPass(gl3Pass);

// 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);

// Add the technique to the effect effect->addTechnique(gl3Technique);

A QParameter defined on an Effect is overridden by a QParameter (of the same name) defined in a QMaterial, QTechniqueFilter, QRenderPassFilter.

Methods

impl QEffect[src]

pub unsafe fn add_parameter(&self, parameter: impl CastInto<Ptr<QParameter>>)[src]

Adds parameter to the effect. It sends a QPropertyNodeAddedChange to the backend. The parameter will be used to set a corresponding uniform value in the shader used by this effect.

Calls C++ function: void Qt3DRender::QEffect::addParameter(Qt3DRender::QParameter* parameter).

C++ documentation:

Adds parameter to the effect. It sends a QPropertyNodeAddedChange to the backend. The parameter will be used to set a corresponding uniform value in the shader used by this effect.

pub unsafe fn add_technique(&self, t: impl CastInto<Ptr<QTechnique>>)[src]

Adds a new technique t to the effect. It sends a QPropertyNodeAddedChange to the backend.

Calls C++ function: void Qt3DRender::QEffect::addTechnique(Qt3DRender::QTechnique* t).

C++ documentation:

Adds a new technique t to the effect. It sends a QPropertyNodeAddedChange to the backend.

pub unsafe fn meta_object(&self) -> Ptr<QMetaObject>[src]

Calls C++ function: virtual const QMetaObject* Qt3DRender::QEffect::metaObject() const.

pub unsafe fn new_1a(parent: impl CastInto<Ptr<QNode>>) -> QBox<QEffect>[src]

Default constructs an instance of QEffect.

Calls C++ function: [constructor] void Qt3DRender::QEffect::QEffect(Qt3DCore::QNode* parent = …).

C++ documentation:

Default constructs an instance of QEffect.

pub unsafe fn new_0a() -> QBox<QEffect>[src]

The base class for effects in a Qt 3D scene.

Calls C++ function: [constructor] void Qt3DRender::QEffect::QEffect().

C++ documentation:

The base class for effects in a Qt 3D scene.

The QEffect class combines a set of techniques and parameters used by those techniques to produce a rendering effect for a material.

An QEffect instance should be shared among several QMaterial instances when possible.

QEffect *effect = new QEffect();

// Create technique, render pass and shader QTechnique gl3Technique = new QTechnique(); QRenderPass gl3Pass = new QRenderPass(); QShaderProgram *glShader = new QShaderProgram();

// Set the shader on the render pass gl3Pass->setShaderProgram(glShader);

// Add the pass to the technique gl3Technique->addRenderPass(gl3Pass);

// 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);

// Add the technique to the effect effect->addTechnique(gl3Technique);

A QParameter defined on an Effect is overridden by a QParameter (of the same name) defined in a QMaterial, QTechniqueFilter, QRenderPassFilter.

pub unsafe fn parameters(&self) -> CppBox<QVectorOfQParameter>[src]

Returns the list of parameters used by the effect.

Calls C++ function: QVector<Qt3DRender::QParameter*> Qt3DRender::QEffect::parameters() const.

C++ documentation:

Returns the list of parameters used by the effect.

pub unsafe fn qt_metacall(
    &self,
    arg1: Call,
    arg2: c_int,
    arg3: *mut *mut c_void
) -> c_int
[src]

Calls C++ function: virtual int Qt3DRender::QEffect::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3).

pub unsafe fn qt_metacast(&self, arg1: *const c_char) -> *mut c_void[src]

Calls C++ function: virtual void* Qt3DRender::QEffect::qt_metacast(const char* arg1).

pub unsafe fn remove_parameter(&self, parameter: impl CastInto<Ptr<QParameter>>)[src]

Removes a parameter parameter from the effect.

Calls C++ function: void Qt3DRender::QEffect::removeParameter(Qt3DRender::QParameter* parameter).

C++ documentation:

Removes a parameter parameter from the effect.

pub unsafe fn remove_technique(&self, t: impl CastInto<Ptr<QTechnique>>)[src]

Removes a technique t from the effect.

Calls C++ function: void Qt3DRender::QEffect::removeTechnique(Qt3DRender::QTechnique* t).

C++ documentation:

Removes a technique t from the effect.

pub unsafe fn static_meta_object() -> Ref<QMetaObject>[src]

Returns a reference to the staticMetaObject field.

pub unsafe fn techniques(&self) -> CppBox<QVectorOfQTechnique>[src]

Returns the list of techniques used by the effect.

Calls C++ function: QVector<Qt3DRender::QTechnique*> Qt3DRender::QEffect::techniques() const.

C++ documentation:

Returns the list of techniques used by the effect.

pub unsafe fn tr(
    s: *const c_char,
    c: *const c_char,
    n: c_int
) -> CppBox<QString>
[src]

Calls C++ function: static QString Qt3DRender::QEffect::tr(const char* s, const char* c, int n).

pub unsafe fn tr_utf8(
    s: *const c_char,
    c: *const c_char,
    n: c_int
) -> CppBox<QString>
[src]

Calls C++ function: static QString Qt3DRender::QEffect::trUtf8(const char* s, const char* c, int n).

Trait Implementations

impl CppDeletable for QEffect[src]

unsafe fn delete(&self)[src]

Destroys the instance of QEffect.

Calls C++ function: virtual [destructor] void Qt3DRender::QEffect::~QEffect().

C++ documentation:

Destroys the instance of QEffect.

impl Deref for QEffect[src]

type Target = QNode

The resulting type after dereferencing.

fn deref(&self) -> &QNode[src]

Calls C++ function: Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DRender::QEffect* ptr).

impl DynamicCast<QEffect> for QNode[src]

unsafe fn dynamic_cast(ptr: Ptr<QNode>) -> Ptr<QEffect>[src]

Calls C++ function: Qt3DRender::QEffect* dynamic_cast<Qt3DRender::QEffect*>(Qt3DCore::QNode* ptr).

impl DynamicCast<QEffect> for QObject[src]

unsafe fn dynamic_cast(ptr: Ptr<QObject>) -> Ptr<QEffect>[src]

Calls C++ function: Qt3DRender::QEffect* dynamic_cast<Qt3DRender::QEffect*>(QObject* ptr).

impl StaticDowncast<QEffect> for QNode[src]

unsafe fn static_downcast(ptr: Ptr<QNode>) -> Ptr<QEffect>[src]

Calls C++ function: Qt3DRender::QEffect* static_cast<Qt3DRender::QEffect*>(Qt3DCore::QNode* ptr).

impl StaticDowncast<QEffect> for QObject[src]

unsafe fn static_downcast(ptr: Ptr<QObject>) -> Ptr<QEffect>[src]

Calls C++ function: Qt3DRender::QEffect* static_cast<Qt3DRender::QEffect*>(QObject* ptr).

impl StaticUpcast<QNode> for QEffect[src]

unsafe fn static_upcast(ptr: Ptr<QEffect>) -> Ptr<QNode>[src]

Calls C++ function: Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DRender::QEffect* ptr).

impl StaticUpcast<QObject> for QEffect[src]

unsafe fn static_upcast(ptr: Ptr<QEffect>) -> Ptr<QObject>[src]

Calls C++ function: QObject* static_cast<QObject*>(Qt3DRender::QEffect* ptr).

Auto Trait Implementations

impl RefUnwindSafe for QEffect

impl Send for QEffect

impl Sync for QEffect

impl Unpin for QEffect

impl UnwindSafe for QEffect

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> CastInto<U> for T where
    U: CastFrom<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> StaticUpcast<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.