Texture mBackgroundTexture;
FrameBuffer mMetaballFBO;
- Texture mMetaballFBOTexture;
Actor mMetaballRoot;
MetaballInfo mMetaballs[METABALL_NUMBER];
mScreenSize(),
mBackgroundTexture(),
mMetaballFBO(),
- mMetaballFBOTexture(),
mMetaballRoot(),
mMetaballs(),
mPositionIndex(),
mMetaballs[i].radius = mMetaballs[i].initRadius = Random::Range(0.05f,0.07f);
mMetaballs[i].actor = Actor::New( );
- mMetaballs[i].actor.SetName( "Metaball" );
- mMetaballs[i].actor.SetScale( 1.0f );
- mMetaballs[i].actor.SetParentOrigin( ParentOrigin::CENTER );
+ mMetaballs[i].actor.SetProperty( Dali::Actor::Property::NAME, "Metaball" );
+ mMetaballs[i].actor.SetProperty( Actor::Property::SCALE, 1.0f );
+ mMetaballs[i].actor.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
mMetaballs[i].actor.AddRenderer( renderer );
mMetaballs[i].positionIndex = mMetaballs[i].actor.RegisterProperty( "uPositionMetaball", mMetaballs[i].position );
// Root creation
mMetaballRoot = Actor::New();
- mMetaballRoot.SetParentOrigin( ParentOrigin::CENTER );
+ mMetaballRoot.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
for( uint32_t i = 0; i < METABALL_NUMBER; i++ )
{
mMetaballRoot.Add( mMetaballs[i].actor );
// Create an FBO and a render task to create to render the metaballs with a fragment shader
Stage stage = Stage::GetCurrent();
- mMetaballFBO = FrameBuffer::New( mScreenSize.x, mScreenSize.y, FrameBuffer::Attachment::NONE );
- mMetaballFBOTexture = Texture::New( Dali::TextureType::TEXTURE_2D,
- Pixel::RGB888,
- mScreenSize.x, mScreenSize.y );
- mMetaballFBO.AttachColorTexture( mMetaballFBOTexture );
+ mMetaballFBO = FrameBuffer::New( mScreenSize.x, mScreenSize.y );
stage.Add(mMetaballRoot);
// Create new texture set
auto textureSet = TextureSet::New();
textureSet.SetTexture( 0u, mBackgroundTexture );
- textureSet.SetTexture( 1u, mMetaballFBOTexture );
+ textureSet.SetTexture( 1u, mMetaballFBO.GetColorTexture() );
// Create geometry
Geometry metaballGeom = CreateGeometry( false );
// Create actor
mCompositionActor = Actor::New( );
- mCompositionActor.SetParentOrigin(ParentOrigin::CENTER);
- mCompositionActor.SetPosition(Vector3(0.0f, 0.0f, 0.0f));
- mCompositionActor.SetSize(mScreenSize.x, mScreenSize.y);
+ mCompositionActor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
+ mCompositionActor.SetProperty( Actor::Property::POSITION, Vector3(0.0f, 0.0f, 0.0f));
+ mCompositionActor.SetProperty( Actor::Property::SIZE, Vector2(mScreenSize.x, mScreenSize.y) );
mCompositionActor.AddRenderer( mRenderer );
Vector2 metaballCenter(0.0,0);
SetPositionToMetaballs( metaballCenter );
- mCompositionActor.SetSize(mScreenSize.x, mScreenSize.y);
+ mCompositionActor.SetProperty( Actor::Property::SIZE, Vector2(mScreenSize.x, mScreenSize.y) );
Stage stage = Stage::GetCurrent();
stage.Add( mCompositionActor );