#include #include #include #ifdef LIGHT_PLATFORM_WINDOWS #include #include #endif #include namespace Light { auto VertexLayout::create( const Ref &vertexBuffer, const Ref & /*shader*/, const std::vector> &elements, const Ref & /*sharedContext*/ ) -> Ref { switch (GraphicsContext::get_graphics_api()) { case GraphicsAPI::OpenGL: return create_ref(vertexBuffer, elements); case GraphicsAPI::DirectX: lt_win(return create_ref( shader, elements, std::static_pointer_cast(sharedContext) );) default : lt_assert( false, "Invalid/unsupported 'GraphicsAPI' {}", static_cast(GraphicsContext::get_graphics_api()) ); return nullptr; } } } // namespace Light