virtual ~Renderer();
/**
- * Set the Shader used to render.
- * @param[in] shader The shader used to render.
- */
- void SetShader( Shader* shader );
-
- /**
- * Set whether the ImageRenderer should use blending
- * @param[in] useBlend True if blending should be used.
+ * Set the NodeDataProvider.
+ * @param[in] dataProvider The node data provider.
*/
- void SetUseBlend( bool useBlend );
+ void SetDataProvider( NodeDataProvider* dataProvider );
/**
- * Set the blending options.
- * @param[in] options A bitmask of blending options.
- */
- void SetBlendingOptions( unsigned int options );
-
- /**
- * Set the blend color.
- * @param[in] color The new blend-color.
+ * Set the Shader used to render.
+ * @param[in] shader The shader used to render.
*/
- void SetBlendColor( const Vector4& color );
+ void SetShader( Shader* shader );
/**
* Set the face-culling mode.
* Called from Render prior to DoRender(). Default method to set blending options
* @todo MESH_REWORK Remove after merge
*/
- virtual void DoSetBlending( Context& context, BufferIndex bufferIndex );
+ virtual void DoSetBlending( Context& context, BufferIndex bufferIndex ) = 0;
/**
* Called from Render; implemented in derived classes.
protected:
- NodeDataProvider& mDataProvider; // @todo MESH_REWORK rename to mNodeDataProvider. Shouldn't it be const?
+ NodeDataProvider* mDataProvider; // @todo MESH_REWORK rename to mNodeDataProvider. Shouldn't it be const?
Context* mContextDELETEME; // TODO: MESH_REWORK DELETE THIS
TextureCache* mTextureCacheDELETEME; // TODO: MESH_REWORK DELETE THIS
Shader* mShader;
unsigned int mSamplerBitfield; ///< Sampler options used for texture filtering
- bool mUseBlend:1; ///< True if blending should be enabled, 1 bit is enough
private:
- BlendingOptions mBlendingOptions;
CullFaceMode mCullFaceMode:3; ///< cullface enum, 3 bits is enough
};