BufferIndex bufferIndex,
const RenderDataProvider* dataProviders )
{
- UploadVertexData( context, bufferIndex, dataProviders );
+ UploadVertexData( context, program, bufferIndex, dataProviders );
for( unsigned int i = 0; i < mVertexBuffers.Count(); ++i )
{
void RenderGeometry::UploadVertexData(
Context& context,
+ Program& program,
BufferIndex bufferIndex,
const RenderDataProvider* dataProviders )
{
for( unsigned int i = 0; i < mVertexBuffers.Count(); ++i )
{
mVertexBuffers[i]->Upload( context, bufferIndex );
+ mVertexBuffers[i]->UpdateAttributeLocations( context, bufferIndex, program );
}
if( mIndexBuffer )
{
DALI_ASSERT_DEBUG( vertexBuffers.Count() > 0 && "Need vertex buffers to upload" );
+ mVertexBuffers.Clear();
for( unsigned int i=0; i<vertexBuffers.Count(); ++i)
{
const PropertyBufferDataProvider* vertexBuffer = vertexBuffers[i];
void RenderPropertyBuffer::EnableVertexAttributes( Context& context, BufferIndex bufferIndex, Program& program )
{
-
- // Check if attribute locations are cached already
- if( mAttributesLocation.Size() == 0 )
- {
- UpdateAttributeLocations( context, bufferIndex, program );
- }
-
unsigned int attributeCount = mDataProvider.GetAttributeCount( bufferIndex );
DALI_ASSERT_DEBUG( attributeCount == mAttributesLocation.Size() && "Incorrect number of attributes!" );
*/
void DisableVertexAttributes( Context& context, BufferIndex bufferIndex, Program& program );
-private: // implementation
-
/**
* Update attribute locations
* @param[in] context The GL context