Commit c1ab3b4c9ffa2172d332b85b94546b5d5f730c28
1 parent
d52edf7e
Rendering API clean-up
Change-Id: I66e818b2ef1744c20af0997375065e029399df84
Showing
11 changed files
with
84 additions
and
100 deletions
examples/benchmark/benchmark.cpp
| @@ -225,9 +225,10 @@ Renderer CreateRenderer( unsigned int index ) | @@ -225,9 +225,10 @@ Renderer CreateRenderer( unsigned int index ) | ||
| 225 | 225 | ||
| 226 | const char* imagePath = !gNinePatch ? IMAGE_PATH[index] : NINEPATCH_IMAGE_PATH[index]; | 226 | const char* imagePath = !gNinePatch ? IMAGE_PATH[index] : NINEPATCH_IMAGE_PATH[index]; |
| 227 | Image image = ResourceImage::New(imagePath); | 227 | Image image = ResourceImage::New(imagePath); |
| 228 | - Material material = Material::New( shader ); | ||
| 229 | - material.AddTexture( image, "sTexture" ); | ||
| 230 | - renderers[index] = Renderer::New( QuadMesh(), material ); | 228 | + TextureSet textureSet = TextureSet::New(); |
| 229 | + textureSet.SetImage( 0u, image ); | ||
| 230 | + renderers[index] = Renderer::New( QuadMesh(), shader ); | ||
| 231 | + renderers[index].SetTextures( textureSet ); | ||
| 231 | renderers[index].SetProperty( Renderer::Property::BLENDING_MODE, BlendingMode::OFF ); | 232 | renderers[index].SetProperty( Renderer::Property::BLENDING_MODE, BlendingMode::OFF ); |
| 232 | } | 233 | } |
| 233 | return renderers[index]; | 234 | return renderers[index]; |
examples/line-mesh/line-mesh-example.cpp
| @@ -204,9 +204,8 @@ public: | @@ -204,9 +204,8 @@ public: | ||
| 204 | } | 204 | } |
| 205 | 205 | ||
| 206 | mShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER ); | 206 | mShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER ); |
| 207 | - mMaterial = Material::New( mShader ); | ||
| 208 | mGeometry = CreateGeometry(); | 207 | mGeometry = CreateGeometry(); |
| 209 | - mRenderer = Renderer::New( mGeometry, mMaterial ); | 208 | + mRenderer = Renderer::New( mGeometry, mShader ); |
| 210 | 209 | ||
| 211 | mMeshActor = Actor::New(); | 210 | mMeshActor = Actor::New(); |
| 212 | mMeshActor.AddRenderer( mRenderer ); | 211 | mMeshActor.AddRenderer( mRenderer ); |
| @@ -332,7 +331,6 @@ private: | @@ -332,7 +331,6 @@ private: | ||
| 332 | Vector3 mStageSize; ///< The size of the stage | 331 | Vector3 mStageSize; ///< The size of the stage |
| 333 | 332 | ||
| 334 | Shader mShader; | 333 | Shader mShader; |
| 335 | - Material mMaterial; | ||
| 336 | Geometry mGeometry; | 334 | Geometry mGeometry; |
| 337 | Renderer mRenderer; | 335 | Renderer mRenderer; |
| 338 | Actor mMeshActor; | 336 | Actor mMeshActor; |
examples/mesh-morph/mesh-morph-example.cpp
| @@ -292,11 +292,8 @@ public: | @@ -292,11 +292,8 @@ public: | ||
| 292 | application.GetWindow().ShowIndicator( Dali::Window::INVISIBLE ); | 292 | application.GetWindow().ShowIndicator( Dali::Window::INVISIBLE ); |
| 293 | 293 | ||
| 294 | mShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER ); | 294 | mShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER ); |
| 295 | - | ||
| 296 | - mMaterial = Material::New( mShader ); | ||
| 297 | mGeometry = CreateGeometry(); | 295 | mGeometry = CreateGeometry(); |
| 298 | - | ||
| 299 | - mRenderer = Renderer::New( mGeometry, mMaterial ); | 296 | + mRenderer = Renderer::New( mGeometry, mShader ); |
| 300 | 297 | ||
| 301 | mMeshActor = Actor::New(); | 298 | mMeshActor = Actor::New(); |
| 302 | mMeshActor.AddRenderer( mRenderer ); | 299 | mMeshActor.AddRenderer( mRenderer ); |
| @@ -346,7 +343,6 @@ private: | @@ -346,7 +343,6 @@ private: | ||
| 346 | Vector3 mStageSize; ///< The size of the stage | 343 | Vector3 mStageSize; ///< The size of the stage |
| 347 | 344 | ||
| 348 | Shader mShader; | 345 | Shader mShader; |
| 349 | - Material mMaterial; | ||
| 350 | Geometry mGeometry; | 346 | Geometry mGeometry; |
| 351 | Renderer mRenderer; | 347 | Renderer mRenderer; |
| 352 | Actor mMeshActor; | 348 | Actor mMeshActor; |
examples/mesh-sorting/mesh-sorting-example.cpp
| @@ -30,7 +30,7 @@ using namespace Dali; | @@ -30,7 +30,7 @@ using namespace Dali; | ||
| 30 | namespace | 30 | namespace |
| 31 | { | 31 | { |
| 32 | 32 | ||
| 33 | -const char* MATERIAL_SAMPLES[] = | 33 | +const char* IMAGES[] = |
| 34 | { | 34 | { |
| 35 | DEMO_IMAGE_DIR "people-medium-1.jpg", | 35 | DEMO_IMAGE_DIR "people-medium-1.jpg", |
| 36 | DEMO_IMAGE_DIR "people-medium-4.jpg", | 36 | DEMO_IMAGE_DIR "people-medium-4.jpg", |
| @@ -39,7 +39,7 @@ const char* MATERIAL_SAMPLES[] = | @@ -39,7 +39,7 @@ const char* MATERIAL_SAMPLES[] = | ||
| 39 | DEMO_IMAGE_DIR "people-medium-15.jpg", | 39 | DEMO_IMAGE_DIR "people-medium-15.jpg", |
| 40 | DEMO_IMAGE_DIR "people-medium-6.jpg", | 40 | DEMO_IMAGE_DIR "people-medium-6.jpg", |
| 41 | }; | 41 | }; |
| 42 | -const unsigned int NUMBER_OF_SAMPLES(sizeof(MATERIAL_SAMPLES)/sizeof(const char*)); | 42 | +const unsigned int NUMBER_OF_SAMPLES(sizeof(IMAGES)/sizeof(const char*)); |
| 43 | 43 | ||
| 44 | 44 | ||
| 45 | #define MAKE_SHADER(A)#A | 45 | #define MAKE_SHADER(A)#A |
| @@ -164,16 +164,17 @@ public: | @@ -164,16 +164,17 @@ public: | ||
| 164 | mShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER ); | 164 | mShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER ); |
| 165 | mGeometry = CreateGeometry(); | 165 | mGeometry = CreateGeometry(); |
| 166 | 166 | ||
| 167 | - Material firstMat; | 167 | + TextureSet firstTextureSet; |
| 168 | 168 | ||
| 169 | for( unsigned i=0; i<NUMBER_OF_SAMPLES; ++i) | 169 | for( unsigned i=0; i<NUMBER_OF_SAMPLES; ++i) |
| 170 | { | 170 | { |
| 171 | - Image image = ResourceImage::New( MATERIAL_SAMPLES[i] ); | ||
| 172 | - Material material = Material::New( mShader ); | ||
| 173 | - material.AddTexture(image, "sTexture"); | ||
| 174 | - if( i==0 ) { firstMat = material; } | 171 | + Image image = ResourceImage::New( IMAGES[i] ); |
| 172 | + TextureSet textureSet = TextureSet::New(); | ||
| 173 | + textureSet.SetImage( 0u, image ); | ||
| 174 | + if( i==0 ) { firstTextureSet = textureSet; } | ||
| 175 | 175 | ||
| 176 | - Renderer renderer = Renderer::New( mGeometry, material ); | 176 | + Renderer renderer = Renderer::New( mGeometry, mShader ); |
| 177 | + renderer.SetTextures( textureSet ); | ||
| 177 | Actor meshActor = Actor::New(); | 178 | Actor meshActor = Actor::New(); |
| 178 | mActors[i] = meshActor; | 179 | mActors[i] = meshActor; |
| 179 | meshActor.AddRenderer( renderer ); | 180 | meshActor.AddRenderer( renderer ); |
| @@ -197,7 +198,7 @@ public: | @@ -197,7 +198,7 @@ public: | ||
| 197 | stage.Add( meshActor ); | 198 | stage.Add( meshActor ); |
| 198 | } | 199 | } |
| 199 | 200 | ||
| 200 | - mActors[NUMBER_OF_SAMPLES-2].GetRendererAt(0).SetMaterial( firstMat ); | 201 | + mActors[NUMBER_OF_SAMPLES-2].GetRendererAt(0).SetTextures( firstTextureSet ); |
| 201 | 202 | ||
| 202 | stage.GetRootLayer().TouchedSignal().Connect(this, &ExampleController::OnStageTouched); | 203 | stage.GetRootLayer().TouchedSignal().Connect(this, &ExampleController::OnStageTouched); |
| 203 | } | 204 | } |
examples/metaball-explosion/metaball-explosion-example.cpp
| @@ -474,9 +474,10 @@ void MetaballExplosionController::CreateMetaballActors() | @@ -474,9 +474,10 @@ void MetaballExplosionController::CreateMetaballActors() | ||
| 474 | //Create the shader for the metaballs | 474 | //Create the shader for the metaballs |
| 475 | Shader shader = Shader::New( METABALL_VERTEX_SHADER, METABALL_FRAG_SHADER ); | 475 | Shader shader = Shader::New( METABALL_VERTEX_SHADER, METABALL_FRAG_SHADER ); |
| 476 | 476 | ||
| 477 | - Material material = Material::New( shader ); | ||
| 478 | Geometry metaballGeom = CreateGeometry(); | 477 | Geometry metaballGeom = CreateGeometry(); |
| 479 | - | 478 | + Renderer renderer = Renderer::New( metaballGeom, shader ); |
| 479 | + renderer.SetProperty( Renderer::Property::BLENDING_MODE, BlendingMode::ON ); | ||
| 480 | + renderer.SetBlendFunc(BlendingFactor::ONE, BlendingFactor::ONE, BlendingFactor::ONE, BlendingFactor::ONE); | ||
| 480 | //Initialization of each of the metaballs | 481 | //Initialization of each of the metaballs |
| 481 | for( int i = 0; i < METABALL_NUMBER; i++ ) | 482 | for( int i = 0; i < METABALL_NUMBER; i++ ) |
| 482 | { | 483 | { |
| @@ -487,11 +488,6 @@ void MetaballExplosionController::CreateMetaballActors() | @@ -487,11 +488,6 @@ void MetaballExplosionController::CreateMetaballActors() | ||
| 487 | mMetaballs[i].actor.SetName("Metaball"); | 488 | mMetaballs[i].actor.SetName("Metaball"); |
| 488 | mMetaballs[i].actor.SetScale( 1.0f ); | 489 | mMetaballs[i].actor.SetScale( 1.0f ); |
| 489 | mMetaballs[i].actor.SetParentOrigin( ParentOrigin::CENTER ); | 490 | mMetaballs[i].actor.SetParentOrigin( ParentOrigin::CENTER ); |
| 490 | - | ||
| 491 | - Renderer renderer = Renderer::New( metaballGeom, material ); | ||
| 492 | - renderer.SetProperty( Renderer::Property::BLENDING_MODE, BlendingMode::ON ); | ||
| 493 | - renderer.SetBlendFunc(BlendingFactor::ONE, BlendingFactor::ONE, BlendingFactor::ONE, BlendingFactor::ONE); | ||
| 494 | - | ||
| 495 | mMetaballs[i].actor.AddRenderer( renderer ); | 491 | mMetaballs[i].actor.AddRenderer( renderer ); |
| 496 | 492 | ||
| 497 | mMetaballs[i].positionIndex = mMetaballs[i].actor.RegisterProperty( "uPositionMetaball", mMetaballs[i].position ); | 493 | mMetaballs[i].positionIndex = mMetaballs[i].actor.RegisterProperty( "uPositionMetaball", mMetaballs[i].position ); |
| @@ -557,17 +553,17 @@ void MetaballExplosionController::AddRefractionImage() | @@ -557,17 +553,17 @@ void MetaballExplosionController::AddRefractionImage() | ||
| 557 | 553 | ||
| 558 | //Create new shader | 554 | //Create new shader |
| 559 | Shader shader = Shader::New( METABALL_VERTEX_SHADER, REFRACTION_FRAG_SHADER ); | 555 | Shader shader = Shader::New( METABALL_VERTEX_SHADER, REFRACTION_FRAG_SHADER ); |
| 560 | - //Create new material | ||
| 561 | - Material material = Material::New( shader ); | ||
| 562 | 556 | ||
| 563 | - //Add Textures | ||
| 564 | - material.AddTexture(mBackImage, "sTexture"); | ||
| 565 | - material.AddTexture(fbo, "sEffect"); | 557 | + //Create new texture set |
| 558 | + TextureSet textureSet = TextureSet::New(); | ||
| 559 | + textureSet.SetImage( 0u, mBackImage ); | ||
| 560 | + textureSet.SetImage( 1u, fbo ); | ||
| 566 | 561 | ||
| 567 | //Create geometry | 562 | //Create geometry |
| 568 | Geometry metaballGeom = CreateGeometryComposition(); | 563 | Geometry metaballGeom = CreateGeometryComposition(); |
| 569 | 564 | ||
| 570 | - Renderer mRenderer = Renderer::New( metaballGeom, material ); | 565 | + Renderer mRenderer = Renderer::New( metaballGeom, shader ); |
| 566 | + mRenderer.SetTextures( textureSet ); | ||
| 571 | 567 | ||
| 572 | mCompositionActor = Actor::New( ); | 568 | mCompositionActor = Actor::New( ); |
| 573 | mCompositionActor.SetParentOrigin(ParentOrigin::CENTER); | 569 | mCompositionActor.SetParentOrigin(ParentOrigin::CENTER); |
examples/metaball-refrac/metaball-refrac-example.cpp
| @@ -196,8 +196,10 @@ private: | @@ -196,8 +196,10 @@ private: | ||
| 196 | Vector2 mGravityVar; | 196 | Vector2 mGravityVar; |
| 197 | 197 | ||
| 198 | Renderer mRendererRefraction; | 198 | Renderer mRendererRefraction; |
| 199 | - Material mMaterialRefraction; | ||
| 200 | - Material mMaterialNormal; | 199 | + TextureSet mTextureSetRefraction; |
| 200 | + Shader mShaderRefraction; | ||
| 201 | + TextureSet mTextureSetNormal; | ||
| 202 | + Shader mShaderNormal; | ||
| 201 | 203 | ||
| 202 | //Animations | 204 | //Animations |
| 203 | Animation mGravityAnimation[METABALL_NUMBER]; | 205 | Animation mGravityAnimation[METABALL_NUMBER]; |
| @@ -444,13 +446,12 @@ void MetaballRefracController::CreateMetaballActors() | @@ -444,13 +446,12 @@ void MetaballRefracController::CreateMetaballActors() | ||
| 444 | //With MeshData Textured | 446 | //With MeshData Textured |
| 445 | float aspect = (float)mScreenSize.y / (float)mScreenSize.x; | 447 | float aspect = (float)mScreenSize.y / (float)mScreenSize.x; |
| 446 | 448 | ||
| 447 | - //Create the shader for the metaballs | ||
| 448 | - | 449 | + //Create the renderer for the metaballs |
| 449 | Shader shader = Shader::New( METABALL_VERTEX_SHADER, METABALL_FRAG_SHADER ); | 450 | Shader shader = Shader::New( METABALL_VERTEX_SHADER, METABALL_FRAG_SHADER ); |
| 450 | - | ||
| 451 | - Material material = Material::New( shader ); | ||
| 452 | - | ||
| 453 | Geometry metaballGeom = CreateGeometry(); | 451 | Geometry metaballGeom = CreateGeometry(); |
| 452 | + Renderer renderer = Renderer::New( metaballGeom, shader ); | ||
| 453 | + renderer.SetProperty( Renderer::Property::BLENDING_MODE, BlendingMode::ON ); | ||
| 454 | + renderer.SetBlendFunc(BlendingFactor::ONE, BlendingFactor::ONE, BlendingFactor::ONE, BlendingFactor::ONE); | ||
| 454 | 455 | ||
| 455 | //Each metaball has a different radius | 456 | //Each metaball has a different radius |
| 456 | mMetaballs[0].radius = mMetaballs[0].initRadius = 0.0145f; | 457 | mMetaballs[0].radius = mMetaballs[0].initRadius = 0.0145f; |
| @@ -468,9 +469,7 @@ void MetaballRefracController::CreateMetaballActors() | @@ -468,9 +469,7 @@ void MetaballRefracController::CreateMetaballActors() | ||
| 468 | mMetaballs[i].actor.SetScale( 1.0f ); | 469 | mMetaballs[i].actor.SetScale( 1.0f ); |
| 469 | mMetaballs[i].actor.SetParentOrigin( ParentOrigin::CENTER ); | 470 | mMetaballs[i].actor.SetParentOrigin( ParentOrigin::CENTER ); |
| 470 | 471 | ||
| 471 | - Renderer renderer = Renderer::New( metaballGeom, material ); | ||
| 472 | - renderer.SetProperty( Renderer::Property::BLENDING_MODE, BlendingMode::ON ); | ||
| 473 | - renderer.SetBlendFunc(BlendingFactor::ONE, BlendingFactor::ONE, BlendingFactor::ONE, BlendingFactor::ONE); | 472 | + |
| 474 | mMetaballs[i].actor.AddRenderer( renderer ); | 473 | mMetaballs[i].actor.AddRenderer( renderer ); |
| 475 | 474 | ||
| 476 | mMetaballs[i].positionIndex = mMetaballs[i].actor.RegisterProperty( "uPositionMetaball", mMetaballs[i].position ); | 475 | mMetaballs[i].positionIndex = mMetaballs[i].actor.RegisterProperty( "uPositionMetaball", mMetaballs[i].position ); |
| @@ -536,22 +535,19 @@ void MetaballRefracController::AddRefractionImage() | @@ -536,22 +535,19 @@ void MetaballRefracController::AddRefractionImage() | ||
| 536 | Geometry metaballGeom = CreateGeometryComposition(); | 535 | Geometry metaballGeom = CreateGeometryComposition(); |
| 537 | 536 | ||
| 538 | //Create Refraction shader and renderer | 537 | //Create Refraction shader and renderer |
| 539 | - Shader shader = Shader::New( METABALL_VERTEX_SHADER, REFRACTION_FRAG_SHADER ); | ||
| 540 | - //Create new material | ||
| 541 | - mMaterialRefraction = Material::New( shader ); | 538 | + mShaderRefraction = Shader::New( METABALL_VERTEX_SHADER, REFRACTION_FRAG_SHADER ); |
| 542 | 539 | ||
| 543 | - //Add Textures | ||
| 544 | - mMaterialRefraction.AddTexture(mBackImage, "sTexture"); | ||
| 545 | - mMaterialRefraction.AddTexture(mMetaballFBO, "sEffect"); | 540 | + //Create new texture set |
| 541 | + mTextureSetRefraction = TextureSet::New(); | ||
| 542 | + mTextureSetRefraction.SetImage( 0u, mBackImage ); | ||
| 543 | + mTextureSetRefraction.SetImage( 1u, mMetaballFBO ); | ||
| 546 | 544 | ||
| 547 | //Create normal shader | 545 | //Create normal shader |
| 548 | - Shader shaderNormal = Shader::New( METABALL_VERTEX_SHADER, FRAG_SHADER ); | ||
| 549 | - //Create new material | ||
| 550 | - mMaterialNormal = Material::New( shaderNormal ); | ||
| 551 | - | ||
| 552 | - //Add samplers | ||
| 553 | - mMaterialNormal.AddTexture(mBackImage, "sTexture"); | 546 | + mShaderNormal = Shader::New( METABALL_VERTEX_SHADER, FRAG_SHADER ); |
| 554 | 547 | ||
| 548 | + //Create new texture set | ||
| 549 | + mTextureSetNormal = TextureSet::New(); | ||
| 550 | + mTextureSetNormal.SetImage( 0u, mBackImage ); | ||
| 555 | 551 | ||
| 556 | //Create actor | 552 | //Create actor |
| 557 | mCompositionActor = Actor::New( ); | 553 | mCompositionActor = Actor::New( ); |
| @@ -559,8 +555,8 @@ void MetaballRefracController::AddRefractionImage() | @@ -559,8 +555,8 @@ void MetaballRefracController::AddRefractionImage() | ||
| 559 | mCompositionActor.SetPosition(Vector3(0.0f, 0.0f, 0.0f)); | 555 | mCompositionActor.SetPosition(Vector3(0.0f, 0.0f, 0.0f)); |
| 560 | mCompositionActor.SetSize(mScreenSize.x, mScreenSize.y); | 556 | mCompositionActor.SetSize(mScreenSize.x, mScreenSize.y); |
| 561 | 557 | ||
| 562 | - | ||
| 563 | - mRendererRefraction = Renderer::New( metaballGeom, mMaterialNormal ); | 558 | + mRendererRefraction = Renderer::New( metaballGeom, mShaderNormal ); |
| 559 | + mRendererRefraction.SetTextures( mTextureSetNormal ); | ||
| 564 | mCompositionActor.AddRenderer( mRendererRefraction ); | 560 | mCompositionActor.AddRenderer( mRendererRefraction ); |
| 565 | 561 | ||
| 566 | Stage stage = Stage::GetCurrent(); | 562 | Stage stage = Stage::GetCurrent(); |
| @@ -743,7 +739,8 @@ void MetaballRefracController::StopAfterClickAnimations() | @@ -743,7 +739,8 @@ void MetaballRefracController::StopAfterClickAnimations() | ||
| 743 | */ | 739 | */ |
| 744 | void MetaballRefracController::ResetMetaballsState() | 740 | void MetaballRefracController::ResetMetaballsState() |
| 745 | { | 741 | { |
| 746 | - mRendererRefraction.SetMaterial(mMaterialNormal); | 742 | + mRendererRefraction.SetTextures(mTextureSetNormal); |
| 743 | + mRendererRefraction.SetShader( mShaderNormal ); | ||
| 747 | 744 | ||
| 748 | for (int i = 0 ; i < METABALL_NUMBER ; i++) | 745 | for (int i = 0 ; i < METABALL_NUMBER ; i++) |
| 749 | { | 746 | { |
| @@ -785,8 +782,8 @@ bool MetaballRefracController::OnTouch( Actor actor, const TouchEvent& touch ) | @@ -785,8 +782,8 @@ bool MetaballRefracController::OnTouch( Actor actor, const TouchEvent& touch ) | ||
| 785 | mRadiusVarAnimation[3].Play(); | 782 | mRadiusVarAnimation[3].Play(); |
| 786 | 783 | ||
| 787 | //We draw with the refraction-composition shader | 784 | //We draw with the refraction-composition shader |
| 788 | - mRendererRefraction.SetMaterial(mMaterialRefraction); | ||
| 789 | - | 785 | + mRendererRefraction.SetTextures(mTextureSetRefraction); |
| 786 | + mRendererRefraction.SetShader( mShaderRefraction ); | ||
| 790 | mCurrentTouchPosition = point.screen; | 787 | mCurrentTouchPosition = point.screen; |
| 791 | 788 | ||
| 792 | //we use the click position for the metaballs | 789 | //we use the click position for the metaballs |
examples/new-window/new-window-example.cpp
| @@ -263,8 +263,7 @@ void NewWindowController::AddMeshActor( Actor& parentActor ) | @@ -263,8 +263,7 @@ void NewWindowController::AddMeshActor( Actor& parentActor ) | ||
| 263 | 263 | ||
| 264 | // Create a coloured mesh | 264 | // Create a coloured mesh |
| 265 | Shader shaderColorMesh = Shader::New( VERTEX_COLOR_MESH, FRAGMENT_COLOR_MESH ); | 265 | Shader shaderColorMesh = Shader::New( VERTEX_COLOR_MESH, FRAGMENT_COLOR_MESH ); |
| 266 | - Material colorMeshmaterial = Material::New( shaderColorMesh ); | ||
| 267 | - Renderer colorMeshRenderer = Renderer::New( meshGeometry, colorMeshmaterial ); | 266 | + Renderer colorMeshRenderer = Renderer::New( meshGeometry, shaderColorMesh ); |
| 268 | 267 | ||
| 269 | Actor colorMeshActor = Actor::New(); | 268 | Actor colorMeshActor = Actor::New(); |
| 270 | colorMeshActor.AddRenderer( colorMeshRenderer ); | 269 | colorMeshActor.AddRenderer( colorMeshRenderer ); |
| @@ -278,9 +277,10 @@ void NewWindowController::AddMeshActor( Actor& parentActor ) | @@ -278,9 +277,10 @@ void NewWindowController::AddMeshActor( Actor& parentActor ) | ||
| 278 | // Create a textured mesh | 277 | // Create a textured mesh |
| 279 | Image effectImage = ResourceImage::New(EFFECT_IMAGE); | 278 | Image effectImage = ResourceImage::New(EFFECT_IMAGE); |
| 280 | Shader shaderTextureMesh = Shader::New( VERTEX_TEXTURE_MESH, FRAGMENT_TEXTURE_MESH ); | 279 | Shader shaderTextureMesh = Shader::New( VERTEX_TEXTURE_MESH, FRAGMENT_TEXTURE_MESH ); |
| 281 | - Material textureMeshMaterial = Material::New( shaderTextureMesh ); | ||
| 282 | - textureMeshMaterial.AddTexture(effectImage, "sTexture"); | ||
| 283 | - Renderer textureMeshRenderer = Renderer::New( meshGeometry, textureMeshMaterial ); | 280 | + TextureSet textureSet = TextureSet::New(); |
| 281 | + textureSet.SetImage( 0u, effectImage ); | ||
| 282 | + Renderer textureMeshRenderer = Renderer::New( meshGeometry, shaderTextureMesh ); | ||
| 283 | + textureMeshRenderer.SetTextures( textureSet ); | ||
| 284 | 284 | ||
| 285 | Actor textureMeshActor = Actor::New(); | 285 | Actor textureMeshActor = Actor::New(); |
| 286 | textureMeshActor.AddRenderer( textureMeshRenderer ); | 286 | textureMeshActor.AddRenderer( textureMeshRenderer ); |
| @@ -331,7 +331,7 @@ void NewWindowController::AddBlendingImageActor( Actor& parentActor ) | @@ -331,7 +331,7 @@ void NewWindowController::AddBlendingImageActor( Actor& parentActor ) | ||
| 331 | blendActor.SetSize(140, 140); | 331 | blendActor.SetSize(140, 140); |
| 332 | parentActor.Add(blendActor); | 332 | parentActor.Add(blendActor); |
| 333 | 333 | ||
| 334 | - blendActor.GetRendererAt(0u).GetMaterial().AddTexture(fb2, "sEffect"); | 334 | + blendActor.GetRendererAt(0u).GetTextures().SetImage( 1u, fb2 ); |
| 335 | } | 335 | } |
| 336 | 336 | ||
| 337 | void NewWindowController::AddTextLabel( Actor& parentActor ) | 337 | void NewWindowController::AddTextLabel( Actor& parentActor ) |
examples/point-mesh/point-mesh-example.cpp
| @@ -152,18 +152,19 @@ public: | @@ -152,18 +152,19 @@ public: | ||
| 152 | // Hide the indicator bar | 152 | // Hide the indicator bar |
| 153 | application.GetWindow().ShowIndicator( Dali::Window::INVISIBLE ); | 153 | application.GetWindow().ShowIndicator( Dali::Window::INVISIBLE ); |
| 154 | 154 | ||
| 155 | - mImage = ResourceImage::New( MATERIAL_SAMPLE ); | ||
| 156 | - Image image = ResourceImage::New( MATERIAL_SAMPLE2 ); | 155 | + Image image0 = ResourceImage::New( MATERIAL_SAMPLE ); |
| 156 | + Image image1 = ResourceImage::New( MATERIAL_SAMPLE2 ); | ||
| 157 | 157 | ||
| 158 | - mShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER ); | 158 | + Shader shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER ); |
| 159 | 159 | ||
| 160 | - mMaterial = Material::New( mShader ); | ||
| 161 | - mMaterial.AddTexture(mImage, "sTexture1"); | ||
| 162 | - mMaterial.AddTexture(image, "sTexture2"); | 160 | + TextureSet textureSet = TextureSet::New(); |
| 161 | + textureSet.SetImage( 0u, image0 ); | ||
| 162 | + textureSet.SetImage( 1u, image1 ); | ||
| 163 | 163 | ||
| 164 | - mGeometry = CreateGeometry(); | 164 | + Geometry geometry = CreateGeometry(); |
| 165 | 165 | ||
| 166 | - mRenderer = Renderer::New( mGeometry, mMaterial ); | 166 | + mRenderer = Renderer::New( geometry, shader ); |
| 167 | + mRenderer.SetTextures( textureSet ); | ||
| 167 | 168 | ||
| 168 | mMeshActor = Actor::New(); | 169 | mMeshActor = Actor::New(); |
| 169 | mMeshActor.AddRenderer( mRenderer ); | 170 | mMeshActor.AddRenderer( mRenderer ); |
| @@ -219,10 +220,6 @@ private: | @@ -219,10 +220,6 @@ private: | ||
| 219 | Application& mApplication; ///< Application instance | 220 | Application& mApplication; ///< Application instance |
| 220 | Vector3 mStageSize; ///< The size of the stage | 221 | Vector3 mStageSize; ///< The size of the stage |
| 221 | 222 | ||
| 222 | - Image mImage; | ||
| 223 | - Shader mShader; | ||
| 224 | - Material mMaterial; | ||
| 225 | - Geometry mGeometry; | ||
| 226 | Renderer mRenderer; | 223 | Renderer mRenderer; |
| 227 | Actor mMeshActor; | 224 | Actor mMeshActor; |
| 228 | Renderer mRenderer2; | 225 | Renderer mRenderer2; |
examples/radial-menu/radial-sweep-view-impl.cpp
| @@ -302,10 +302,6 @@ void RadialSweepViewImpl::Deactivate() | @@ -302,10 +302,6 @@ void RadialSweepViewImpl::Deactivate() | ||
| 302 | { | 302 | { |
| 303 | mAnim.Stop(); | 303 | mAnim.Stop(); |
| 304 | } | 304 | } |
| 305 | - // mLayer.Remove( mStencilActor ); | ||
| 306 | - // mStencilActor.Reset(); | ||
| 307 | - // mMesh.Reset(); | ||
| 308 | - // mMaterial.Reset(); | ||
| 309 | } | 305 | } |
| 310 | 306 | ||
| 311 | void RadialSweepViewImpl::CreateStencil( Radian initialSector ) | 307 | void RadialSweepViewImpl::CreateStencil( Radian initialSector ) |
| @@ -344,14 +340,13 @@ void RadialSweepViewImpl::CreateStencil( Radian initialSector ) | @@ -344,14 +340,13 @@ void RadialSweepViewImpl::CreateStencil( Radian initialSector ) | ||
| 344 | meshGeometry.AddVertexBuffer( vertices ); | 340 | meshGeometry.AddVertexBuffer( vertices ); |
| 345 | meshGeometry.SetIndexBuffer( indices ); | 341 | meshGeometry.SetIndexBuffer( indices ); |
| 346 | 342 | ||
| 347 | - // Create material | 343 | + // Create shader |
| 348 | std::ostringstream vertexShaderStringStream; | 344 | std::ostringstream vertexShaderStringStream; |
| 349 | vertexShaderStringStream<<VERTEX_SHADER_PREFIX<<VERTEX_SHADER; | 345 | vertexShaderStringStream<<VERTEX_SHADER_PREFIX<<VERTEX_SHADER; |
| 350 | Shader shader = Shader::New( vertexShaderStringStream.str(), FRAGMENT_SHADER ); | 346 | Shader shader = Shader::New( vertexShaderStringStream.str(), FRAGMENT_SHADER ); |
| 351 | - Material material = Material::New( shader ); | ||
| 352 | 347 | ||
| 353 | // Create renderer | 348 | // Create renderer |
| 354 | - Renderer renderer = Renderer::New( meshGeometry, material ); | 349 | + Renderer renderer = Renderer::New( meshGeometry, shader ); |
| 355 | 350 | ||
| 356 | mStencilActor = Actor::New(); | 351 | mStencilActor = Actor::New(); |
| 357 | mStencilActor.AddRenderer( renderer ); | 352 | mStencilActor.AddRenderer( renderer ); |
examples/refraction-effect/refraction-effect-example.cpp
| @@ -281,10 +281,11 @@ private: | @@ -281,10 +281,11 @@ private: | ||
| 281 | mGeometry = CreateGeometry( MESH_FILES[mCurrentMeshId] ); | 281 | mGeometry = CreateGeometry( MESH_FILES[mCurrentMeshId] ); |
| 282 | 282 | ||
| 283 | Image texture = LoadStageFillingImage( TEXTURE_IMAGES[mCurrentTextureId] ); | 283 | Image texture = LoadStageFillingImage( TEXTURE_IMAGES[mCurrentTextureId] ); |
| 284 | - mMaterial = Material::New( mShaderFlat ); | ||
| 285 | - mMaterial.AddTexture( texture, "sTexture" ); | 284 | + mTextureSet = TextureSet::New(); |
| 285 | + mTextureSet.SetImage( 0u, texture ); | ||
| 286 | 286 | ||
| 287 | - mRenderer = Renderer::New( mGeometry, mMaterial ); | 287 | + mRenderer = Renderer::New( mGeometry, mShaderFlat ); |
| 288 | + mRenderer.SetTextures( mTextureSet ); | ||
| 288 | 289 | ||
| 289 | mMeshActor = Actor::New(); | 290 | mMeshActor = Actor::New(); |
| 290 | mMeshActor.AddRenderer( mRenderer ); | 291 | mMeshActor.AddRenderer( mRenderer ); |
| @@ -343,7 +344,7 @@ private: | @@ -343,7 +344,7 @@ private: | ||
| 343 | { | 344 | { |
| 344 | mCurrentTextureId = ( mCurrentTextureId + 1 ) % NUM_TEXTURE_IMAGES; | 345 | mCurrentTextureId = ( mCurrentTextureId + 1 ) % NUM_TEXTURE_IMAGES; |
| 345 | Image texture = LoadStageFillingImage( TEXTURE_IMAGES[mCurrentTextureId] ); | 346 | Image texture = LoadStageFillingImage( TEXTURE_IMAGES[mCurrentTextureId] ); |
| 346 | - mMaterial.SetTextureImage( 0, texture ); | 347 | + mTextureSet.SetImage( 0u, texture ); |
| 347 | return true; | 348 | return true; |
| 348 | } | 349 | } |
| 349 | 350 | ||
| @@ -354,7 +355,7 @@ private: | @@ -354,7 +355,7 @@ private: | ||
| 354 | { | 355 | { |
| 355 | case TouchPoint::Down: | 356 | case TouchPoint::Down: |
| 356 | { | 357 | { |
| 357 | - mMaterial.SetShader( mShaderRefraction ); | 358 | + mRenderer.SetShader( mShaderRefraction ); |
| 358 | 359 | ||
| 359 | SetLightXYOffset( point.screen ); | 360 | SetLightXYOffset( point.screen ); |
| 360 | 361 | ||
| @@ -406,7 +407,7 @@ private: | @@ -406,7 +407,7 @@ private: | ||
| 406 | 407 | ||
| 407 | void OnTouchFinished( Animation& source ) | 408 | void OnTouchFinished( Animation& source ) |
| 408 | { | 409 | { |
| 409 | - mMaterial.SetShader( mShaderFlat ); | 410 | + mRenderer.SetShader( mShaderFlat ); |
| 410 | SetLightXYOffset( Vector2::ZERO ); | 411 | SetLightXYOffset( Vector2::ZERO ); |
| 411 | } | 412 | } |
| 412 | 413 | ||
| @@ -563,7 +564,7 @@ private: | @@ -563,7 +564,7 @@ private: | ||
| 563 | 564 | ||
| 564 | Application& mApplication; | 565 | Application& mApplication; |
| 565 | Layer mContent; | 566 | Layer mContent; |
| 566 | - Material mMaterial; | 567 | + TextureSet mTextureSet; |
| 567 | Geometry mGeometry; | 568 | Geometry mGeometry; |
| 568 | Renderer mRenderer; | 569 | Renderer mRenderer; |
| 569 | Actor mMeshActor; | 570 | Actor mMeshActor; |
examples/textured-mesh/textured-mesh-example.cpp
| @@ -148,15 +148,16 @@ public: | @@ -148,15 +148,16 @@ public: | ||
| 148 | Image image = ResourceImage::New( MATERIAL_SAMPLE2 ); | 148 | Image image = ResourceImage::New( MATERIAL_SAMPLE2 ); |
| 149 | 149 | ||
| 150 | mShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER ); | 150 | mShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER ); |
| 151 | - mMaterial1 = Material::New( mShader ); | ||
| 152 | - mMaterial1.AddTexture(mImage, "sTexture"); | 151 | + mTextureSet1 = TextureSet::New(); |
| 152 | + mTextureSet1.SetImage( 0u, mImage ); | ||
| 153 | 153 | ||
| 154 | - mMaterial2 = Material::New( mShader ); | ||
| 155 | - mMaterial2.AddTexture(image, "sTexture"); | 154 | + mTextureSet2 = TextureSet::New(); |
| 155 | + mTextureSet2.SetImage( 0u, image ); | ||
| 156 | 156 | ||
| 157 | mGeometry = CreateGeometry(); | 157 | mGeometry = CreateGeometry(); |
| 158 | 158 | ||
| 159 | - mRenderer = Renderer::New( mGeometry, mMaterial1 ); | 159 | + mRenderer = Renderer::New( mGeometry, mShader ); |
| 160 | + mRenderer.SetTextures( mTextureSet1 ); | ||
| 160 | 161 | ||
| 161 | mMeshActor = Actor::New(); | 162 | mMeshActor = Actor::New(); |
| 162 | mMeshActor.AddRenderer( mRenderer ); | 163 | mMeshActor.AddRenderer( mRenderer ); |
| @@ -169,7 +170,8 @@ public: | @@ -169,7 +170,8 @@ public: | ||
| 169 | mMeshActor.SetAnchorPoint( AnchorPoint::TOP_CENTER ); | 170 | mMeshActor.SetAnchorPoint( AnchorPoint::TOP_CENTER ); |
| 170 | stage.Add( mMeshActor ); | 171 | stage.Add( mMeshActor ); |
| 171 | 172 | ||
| 172 | - mRenderer2 = Renderer::New( mGeometry, mMaterial2 ); | 173 | + mRenderer2 = Renderer::New( mGeometry, mShader ); |
| 174 | + mRenderer2.SetTextures( mTextureSet2 ); | ||
| 173 | 175 | ||
| 174 | mMeshActor2 = Actor::New(); | 176 | mMeshActor2 = Actor::New(); |
| 175 | mMeshActor2.AddRenderer( mRenderer2 ); | 177 | mMeshActor2.AddRenderer( mRenderer2 ); |
| @@ -262,8 +264,8 @@ private: | @@ -262,8 +264,8 @@ private: | ||
| 262 | 264 | ||
| 263 | Image mImage; | 265 | Image mImage; |
| 264 | Shader mShader; | 266 | Shader mShader; |
| 265 | - Material mMaterial1; | ||
| 266 | - Material mMaterial2; | 267 | + TextureSet mTextureSet1; |
| 268 | + TextureSet mTextureSet2; | ||
| 267 | Geometry mGeometry; | 269 | Geometry mGeometry; |
| 268 | Renderer mRenderer; | 270 | Renderer mRenderer; |
| 269 | Actor mMeshActor; | 271 | Actor mMeshActor; |