#include #include #include void deerith::render_world() { define_primitive_viewspace(glm::vec2(-10, -10), glm::vec2(10, 10)); auto entities_view = get_entity_registry().view(entt::exclude); for (auto [entity, sync_coords] : entities_view.each()) { glm::vec2 chords; if (sync_coords.position.read_synced(chords)) { define_primitive_color(glm::vec4(1, 1, 1, 1)); draw_primitive_rectangle(chords - glm::vec2(0.5f, 0.5f), chords + glm::vec2(0.5f, 0.5f)); } } // we should expect only one registry auto self_view = get_entity_registry().view(); for (auto [entity, sync_coords, client_sync_coords] : self_view.each()) { define_primitive_color(glm::vec4(1, 0.5f, 0.6f, 1)); draw_primitive_rectangle(client_sync_coords.position.read_value() - glm::vec2(0.5f, 0.5f), client_sync_coords.position.read_value() + glm::vec2(0.5f, 0.5f)); } }