// // object.cpp // graphics // // Created by Sam Jaffe on 7/5/16. // #include "game/graphics/object.hpp" #include "game/graphics/vertex.h" using namespace graphics; void vertices(std::vector & out, object const & obj) { static const math::rgba CLEAR{{255, 255, 255, 255}}; math::dim2::quad frame_quad = obj.frame; out.emplace_back(vertex{obj.points.ll, frame_quad.ll, CLEAR}); out.emplace_back(vertex{obj.points.lr, frame_quad.lr, CLEAR}); out.emplace_back(vertex{obj.points.ur, frame_quad.ur, CLEAR}); out.emplace_back(vertex{obj.points.ll, frame_quad.ll, CLEAR}); out.emplace_back(vertex{obj.points.ur, frame_quad.ur, CLEAR}); out.emplace_back(vertex{obj.points.ul, frame_quad.ul, CLEAR}); } void graphics::vertices(std::vector & out, object const & obj) { out.reserve(out.size() + 6); ::vertices(out, obj); } void graphics::vertices(std::vector & out, std::vector const & objs) { out.reserve(out.size() + 6 * objs.size()); for (object const & obj : objs) { ::vertices(out, obj); } }