|
|
|
|
@ -36,7 +36,7 @@
|
|
|
|
|
|
|
|
|
|
namespace Magnum { namespace GL { |
|
|
|
|
|
|
|
|
|
void MeshView::draw(AbstractShaderProgram& shader, std::initializer_list<Containers::Reference<MeshView>> meshes) { |
|
|
|
|
void MeshView::draw(AbstractShaderProgram& shader, Containers::ArrayView<const Containers::Reference<MeshView>> meshes) { |
|
|
|
|
/* Why std::initializer_list doesn't have empty()? */ |
|
|
|
|
if(!meshes.size()) return; |
|
|
|
|
|
|
|
|
|
@ -55,8 +55,16 @@ void MeshView::draw(AbstractShaderProgram& shader, std::initializer_list<Contain
|
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void MeshView::draw(AbstractShaderProgram&& shader, Containers::ArrayView<const Containers::Reference<MeshView>> meshes) { |
|
|
|
|
draw(shader, Containers::arrayView(meshes)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void MeshView::draw(AbstractShaderProgram& shader, std::initializer_list<Containers::Reference<MeshView>> meshes) { |
|
|
|
|
draw(shader, Containers::arrayView(meshes)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#ifndef MAGNUM_TARGET_WEBGL |
|
|
|
|
void MeshView::multiDrawImplementationDefault(std::initializer_list<Containers::Reference<MeshView>> meshes) { |
|
|
|
|
void MeshView::multiDrawImplementationDefault(Containers::ArrayView<const Containers::Reference<MeshView>> meshes) { |
|
|
|
|
CORRADE_INTERNAL_ASSERT(meshes.size()); |
|
|
|
|
|
|
|
|
|
const Implementation::MeshState& state = *Context::current().state().mesh; |
|
|
|
|
@ -123,7 +131,7 @@ void MeshView::multiDrawImplementationDefault(std::initializer_list<Containers::
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#ifdef MAGNUM_TARGET_GLES |
|
|
|
|
void MeshView::multiDrawImplementationFallback(std::initializer_list<Containers::Reference<MeshView>> meshes) { |
|
|
|
|
void MeshView::multiDrawImplementationFallback(Containers::ArrayView<const Containers::Reference<MeshView>> meshes) { |
|
|
|
|
for(MeshView& mesh: meshes) { |
|
|
|
|
/* Nothing to draw in this mesh */ |
|
|
|
|
if(!mesh._count) continue; |
|
|
|
|
|