+ void PrepareRender();
+ void UpdateObjBoundsVBO();
+ void DrawGrid();
+ bool m_use_gpu_transform;
+ bool m_bounds_dirty;
+ bool m_buffer_dirty;
+ bool m_render_inited;
+ ShaderProgram m_rect_outline_shader;
+ ShaderProgram m_rect_filled_shader;
+ ShaderProgram m_circle_filled_shader;
+ // Stores the view bounds.
+ GraphicsBuffer m_bounds_ubo;
+ // Stores the bounds for _all_ objects.
+ GraphicsBuffer m_objbounds_vbo;
+ // Stores indices into the objbounds vbo for each type of object.
+ GraphicsBuffer m_outline_ibo; // Rectangle outline
+ GraphicsBuffer m_filled_ibo; // Filled rectangle
+ GraphicsBuffer m_circle_ibo; // Filled circle
+ FrameBuffer m_cached_display;