2 * Copyright (c) 2015 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #include "render-data-provider.h"
27 RenderDataProvider::RenderDataProvider(
28 const GeometryDataProvider& geometryDataProvider,
29 const MaterialDataProvider& materialDataProvider,
30 const UniformMapDataProvider& uniformMapDataProvider,
32 const PropertyBuffer* indexBuffer,
33 const VertexBuffers& vertexBuffers,
34 const Samplers& samplers )
36 : mGeometryDataProvider( &geometryDataProvider ),
37 mMaterialDataProvider( &materialDataProvider ),
38 mUniformMapDataProvider( &uniformMapDataProvider ),
40 mIndexBuffer( indexBuffer ),
41 mVertexBuffers( vertexBuffers ),
46 RenderDataProvider::~RenderDataProvider()
50 void RenderDataProvider::SetGeometry( const GeometryDataProvider& geometryDataProvider )
52 mGeometryDataProvider = &geometryDataProvider;
55 const GeometryDataProvider& RenderDataProvider::GetGeometry() const
57 return *mGeometryDataProvider;
60 void RenderDataProvider::SetMaterial( const MaterialDataProvider& materialDataProvider )
62 mMaterialDataProvider = &materialDataProvider;
65 const MaterialDataProvider& RenderDataProvider::GetMaterial() const
67 return *mMaterialDataProvider;
70 void RenderDataProvider::SetUniformMap(const UniformMapDataProvider& uniformMapDataProvider)
72 mUniformMapDataProvider = &uniformMapDataProvider;
75 const UniformMapDataProvider& RenderDataProvider::GetUniformMap() const
77 return *mUniformMapDataProvider;
80 void RenderDataProvider::SetShader( Shader& shader )
85 Shader& RenderDataProvider::GetShader() const
90 void RenderDataProvider::SetIndexBuffer( const PropertyBuffer* indexBuffer )
92 mIndexBuffer = indexBuffer;
95 const PropertyBuffer* RenderDataProvider::GetIndexBuffer() const
100 void RenderDataProvider::SetVertexBuffers( const RenderDataProvider::VertexBuffers& vertexBuffers)
102 DALI_ASSERT_DEBUG( vertexBuffers.Count() > 0 && "Using empty vertex buffer" );
103 mVertexBuffers = vertexBuffers;
106 const RenderDataProvider::VertexBuffers& RenderDataProvider::GetVertexBuffers() const
108 return mVertexBuffers;
111 void RenderDataProvider::SetSamplers( const RenderDataProvider::Samplers& samplers )
113 mSamplers = samplers;
116 const RenderDataProvider::Samplers& RenderDataProvider::GetSamplers() const