*/
void SetTextures( TextureSet* textureSet );
+ /**
+ * Returns current texture set object
+ * @return Pointer to the texture set
+ */
+ const TextureSet* GetTextures() const
+ {
+ return mTextureSet;
+ }
/**
* Set the shader for the renderer
* Get the shader used by this renderer
* @return the shader this renderer uses
*/
- Shader& GetShader()
+ const Shader& GetShader() const
{
return *mShader;
}
void SetGeometry( Render::Geometry* geometry );
/**
+ * Get the geometry of this renderer
+ * @return the geometry this renderer uses
+ */
+ const Render::Geometry& GetGeometry() const
+ {
+ return *mGeometry;
+ }
+
+ /**
* Set the depth index
* @param[in] depthIndex the new depth index to use
*/
void SetWriteToColorBuffer( bool writeToColorBuffer );
/**
+ * Turns on batching feature for the renderer
+ * @param[in] batchingEnabled if true, enables the batching mode for the renderer
+ */
+ void SetBatchingEnabled( bool batchingEnabled );
+
+ /**
+ * Tests whether batching feature is enabled for this renderer
+ * @return batching state
+ */
+ bool IsBatchingEnabled() const
+ {
+ return mBatchingEnabled;
+ }
+
+ /**
* Prepare the object for rendering.
* This is called by the UpdateManager when an object is due to be rendered in the current frame.
* @param[in] updateBufferIndex The current update buffer index.
public:
+ bool mBatchingEnabled : 1; ///< Flag indicating whether the render supports batching
int mDepthIndex; ///< Used only in PrepareRenderInstructions
};
new (slot) LocalType( &renderer, &Renderer::SetWriteToColorBuffer, writeToColorBuffer );
}
+inline void SetBatchingEnabledMessage( EventThreadServices& eventThreadServices, const Renderer& renderer, bool batchable )
+{
+ typedef MessageValue1< Renderer, bool > LocalType;
+
+ // Reserve some memory inside the message queue
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) );
+
+ new (slot) LocalType( &renderer, &Renderer::SetBatchingEnabled, batchable );
+}
+
} // namespace SceneGraph
} // namespace Internal
} // namespace Dali