void CameraControllerComponent::setRenderTargetMaterial( GluonGraphics::MaterialInstance* material ) { if( d->material ) { d->material->deref(); Asset* materialAsset = qobject_cast<Asset*>( d->material->parent() ); if( materialAsset ) materialAsset->deref(); } d->material = material; if( d->material ) { d->material->ref(); Asset* materialAsset = qobject_cast<Asset*>( d->material->parent() ); if( materialAsset ) materialAsset->ref(); } GluonGraphics::RenderTarget* target = GluonGraphics::Engine::instance()->mainRenderTarget(); if( target ) { if( material ) { target->setMaterialInstance( material ); } else { target->setMaterialInstance( GluonGraphics::Engine::instance()->material( "default" )->createInstance( fullyQualifiedName() ) ); } } }
void BeamRendererComponent::Private::acquireReleaseMaterial( GluonGraphics::MaterialInstance* acquire, GluonGraphics::MaterialInstance* release ) { if( release ) { release->deref(); Asset* materialAsset = qobject_cast<Asset*>( release->parent() ); if( materialAsset ) materialAsset->deref(); } if( acquire ) { acquire->ref(); Asset* materialAsset = qobject_cast<Asset*>( acquire->parent() ); if( materialAsset ) materialAsset->ref(); } }