const char * const CUSTOM_VERTEX_SHADER( "vertexShader" );
const char * const CUSTOM_FRAGMENT_SHADER( "fragmentShader" );
-// name of the texture in material
-const char * const TEXTURE_NAME( "sTexture" );
-
// properties set on shader, these properties have the constant value in regardless of the page status
const char * const PROPERTY_SPINE_SHADOW ( "uSpineShadowParameter" ); // uniform for both spine and turn effect
void PageTurnView::Page::SetImage( Image image )
{
- if( material.GetNumberOfTextures() > 0 )
- {
- material.SetTextureImage( 0u, image );
- }
- else
+ if( !textureSet )
{
- material.AddTexture(image, TEXTURE_NAME);
+ textureSet = TextureSet::New();
}
+
+ textureSet.SetImage( 0u, image );
}
-void PageTurnView::Page::UseEffect(Shader shader)
+void PageTurnView::Page::UseEffect(Shader newShader)
{
- if( material )
- {
- material.SetShader( shader );
- }
- else
+ shader = newShader;
+ if( renderer )
{
- material = Material::New( shader );
+ renderer.SetShader( shader );
}
}
-void PageTurnView::Page::UseEffect(Shader shader, Geometry geometry)
+void PageTurnView::Page::UseEffect(Shader newShader, Geometry geometry)
{
- UseEffect( shader );
+ UseEffect( newShader );
if( !renderer )
{
- renderer = Renderer::New( geometry, material );
+ renderer = Renderer::New( geometry, shader );
+
+ if( !textureSet )
+ {
+ textureSet = TextureSet::New();
+ }
+
+ renderer.SetTextures( textureSet );
actor.AddRenderer( renderer );
}
}