|
|
@@ -11,19 +11,27 @@
|
|
|
|
|
|
using namespace graphics;
|
|
|
|
|
|
-std::vector<vertex> object::vertices() const {
|
|
|
+void vertices(std::vector<vertex> & out, object const & obj) {
|
|
|
static const math::rgba CLEAR{{255, 255, 255, 255}};
|
|
|
- std::vector<vertex> rval;
|
|
|
- rval.reserve(6);
|
|
|
+ math::dim2::quad frame_quad = obj.frame;
|
|
|
|
|
|
- math::dim2::quad frame_quad = 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});
|
|
|
+}
|
|
|
|
|
|
- rval.emplace_back(vertex{points.ll, frame_quad.ll, CLEAR});
|
|
|
- rval.emplace_back(vertex{points.lr, frame_quad.lr, CLEAR});
|
|
|
- rval.emplace_back(vertex{points.ur, frame_quad.ur, CLEAR});
|
|
|
- rval.emplace_back(vertex{points.ll, frame_quad.ll, CLEAR});
|
|
|
- rval.emplace_back(vertex{points.ur, frame_quad.ur, CLEAR});
|
|
|
- rval.emplace_back(vertex{points.ul, frame_quad.ul, CLEAR});
|
|
|
+void graphics::vertices(std::vector<vertex> & out, object const & obj) {
|
|
|
+ out.reserve(out.size() + 6);
|
|
|
+ ::vertices(out, obj);
|
|
|
+}
|
|
|
|
|
|
- return rval;
|
|
|
+void graphics::vertices(std::vector<vertex> & out,
|
|
|
+ std::vector<object> const & objs) {
|
|
|
+ out.reserve(out.size() + 6 * objs.size());
|
|
|
+ for (object const & obj : objs) {
|
|
|
+ ::vertices(out, obj);
|
|
|
+ }
|
|
|
}
|