diff options
author | rachytski <siarhei.rachytski@gmail.com> | 2012-11-30 09:45:29 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:47:40 +0300 |
commit | 25e5d82be10b70513484bc104b581e0f87683182 (patch) | |
tree | d75da19d8cde6610f7924e50a37506bdfa074ebf /map | |
parent | bf20bd8216b507cb48d5bcb4471f3a79722ff62f (diff) |
refactored RenderContext hierarchy.
Diffstat (limited to 'map')
-rw-r--r-- | map/coverage_generator.cpp | 4 | ||||
-rw-r--r-- | map/coverage_generator.hpp | 4 | ||||
-rw-r--r-- | map/framework.cpp | 4 | ||||
-rw-r--r-- | map/qgl_render_context.cpp | 4 | ||||
-rw-r--r-- | map/qgl_render_context.hpp | 4 | ||||
-rw-r--r-- | map/render_policy.cpp | 4 | ||||
-rw-r--r-- | map/render_policy.hpp | 9 | ||||
-rw-r--r-- | map/tile_renderer.cpp | 4 | ||||
-rw-r--r-- | map/tile_renderer.hpp | 6 | ||||
-rw-r--r-- | map/window_handle.cpp | 4 | ||||
-rw-r--r-- | map/window_handle.hpp | 11 |
11 files changed, 26 insertions, 32 deletions
diff --git a/map/coverage_generator.cpp b/map/coverage_generator.cpp index 7779746527..a2f8c9d465 100644 --- a/map/coverage_generator.cpp +++ b/map/coverage_generator.cpp @@ -6,7 +6,7 @@ #include "tile_set.hpp" #include "../graphics/skin.hpp" -#include "../graphics/opengl/rendercontext.hpp" +#include "../graphics/opengl/gl_render_context.hpp" #include "../base/logging.hpp" @@ -18,7 +18,7 @@ CoverageGenerator::CoverageGenerator( string const & skinName, TileRenderer * tileRenderer, shared_ptr<WindowHandle> const & windowHandle, - shared_ptr<graphics::gl::RenderContext> const & primaryRC, + shared_ptr<graphics::RenderContext> const & primaryRC, shared_ptr<graphics::ResourceManager> const & rm, graphics::PacketsQueue * glQueue, RenderPolicy::TCountryNameFn countryNameFn) diff --git a/map/coverage_generator.hpp b/map/coverage_generator.hpp index b3b68b8e9f..3a89292d32 100644 --- a/map/coverage_generator.hpp +++ b/map/coverage_generator.hpp @@ -46,7 +46,7 @@ private: TileRenderer * m_tileRenderer; shared_ptr<graphics::ResourceManager> m_resourceManager; - shared_ptr<graphics::gl::RenderContext> m_renderContext; + shared_ptr<graphics::RenderContext> m_renderContext; ScreenCoverage * m_workCoverage; ScreenCoverage * m_currentCoverage; @@ -76,7 +76,7 @@ public: CoverageGenerator(string const & skinName, TileRenderer * tileRenderer, shared_ptr<WindowHandle> const & windowHandle, - shared_ptr<graphics::gl::RenderContext> const & primaryRC, + shared_ptr<graphics::RenderContext> const & primaryRC, shared_ptr<graphics::ResourceManager> const & rm, graphics::PacketsQueue * glQueue, RenderPolicy::TCountryNameFn countryNameFn); diff --git a/map/framework.cpp b/map/framework.cpp index bd0dbce5fb..f9b53e3065 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -27,8 +27,6 @@ #include "../coding/internal/file_data.hpp" -#include "../graphics/opengl/rendercontext.hpp" - #include "../geometry/angles.hpp" #include "../geometry/distance_on_sphere.hpp" @@ -1265,8 +1263,6 @@ void Framework::SetRenderPolicy(RenderPolicy * renderPolicy) m_navigator.SetMinScreenParams(static_cast<unsigned>(m_minRulerWidth * renderPolicy->VisualScale()), m_metresMinWidth); - - graphics::gl::RenderContext::initParams(); } m_guiController->ResetRenderParams(); diff --git a/map/qgl_render_context.cpp b/map/qgl_render_context.cpp index b666ec54a4..da9efd51b5 100644 --- a/map/qgl_render_context.cpp +++ b/map/qgl_render_context.cpp @@ -29,10 +29,10 @@ namespace qt void RenderContext::makeCurrent() { m_context->makeCurrent(); - graphics::gl::RenderContext::initParams(); + startThreadDrawing(); } - shared_ptr<graphics::gl::RenderContext> RenderContext::createShared() + shared_ptr<graphics::RenderContext> RenderContext::createShared() { return shared_ptr<graphics::gl::RenderContext>(new RenderContext(this)); } diff --git a/map/qgl_render_context.hpp b/map/qgl_render_context.hpp index 0e091443a5..69faff2fa3 100644 --- a/map/qgl_render_context.hpp +++ b/map/qgl_render_context.hpp @@ -1,6 +1,6 @@ #pragma once -#include "../graphics/opengl/rendercontext.hpp" +#include "../graphics/opengl/gl_render_context.hpp" #include "../std/shared_ptr.hpp" @@ -30,7 +30,7 @@ namespace qt /// Make this rendering context current void makeCurrent(); - shared_ptr<graphics::gl::RenderContext> createShared(); + shared_ptr<graphics::RenderContext> createShared(); /// Leave previous logic, but fix thread widget deletion error. void endThreadDrawing(); diff --git a/map/render_policy.cpp b/map/render_policy.cpp index 467662d556..d098ce0136 100644 --- a/map/render_policy.cpp +++ b/map/render_policy.cpp @@ -11,6 +11,7 @@ #include "../anim/task.hpp" #include "../graphics/opengl/opengl.hpp" +#include "../graphics/opengl/gl_render_context.hpp" #include "../graphics/skin.hpp" #include "../indexer/scales.hpp" @@ -39,9 +40,12 @@ RenderPolicy::RenderPolicy(Params const & p, { LOG(LDEBUG, ("each BaseRule will hold up to", idCacheSize, "cached values")); drule::rules().ResizeCaches(idCacheSize); + graphics::gl::InitExtensions(); graphics::gl::InitializeThread(); graphics::gl::CheckExtensionSupport(); + + m_primaryRC->startThreadDrawing(); } void RenderPolicy::InitCacheScreen() diff --git a/map/render_policy.hpp b/map/render_policy.hpp index 34eed05765..0c4908967e 100644 --- a/map/render_policy.hpp +++ b/map/render_policy.hpp @@ -20,10 +20,7 @@ namespace anim namespace graphics { - namespace gl - { - class RenderContext; - } + class RenderContext; class Skin; class GlyphCache; @@ -58,7 +55,7 @@ protected: shared_ptr<graphics::ResourceManager> m_resourceManager; shared_ptr<graphics::Skin> m_skin; shared_ptr<graphics::Screen> m_cacheScreen; - shared_ptr<graphics::gl::RenderContext> m_primaryRC; + shared_ptr<graphics::RenderContext> m_primaryRC; shared_ptr<WindowHandle> m_windowHandle; shared_ptr<Drawer> m_drawer; TRenderFn m_renderFn; @@ -82,7 +79,7 @@ public: VideoTimer * m_videoTimer; bool m_useDefaultFB; graphics::ResourceManager::Params m_rmParams; - shared_ptr<graphics::gl::RenderContext> m_primaryRC; + shared_ptr<graphics::RenderContext> m_primaryRC; double m_visualScale; string m_skinName; size_t m_screenWidth; diff --git a/map/tile_renderer.cpp b/map/tile_renderer.cpp index 8367e6c118..991e56eb8b 100644 --- a/map/tile_renderer.cpp +++ b/map/tile_renderer.cpp @@ -4,7 +4,7 @@ #include "window_handle.hpp" #include "../graphics/opengl/opengl.hpp" -#include "../graphics/opengl/rendercontext.hpp" +#include "../graphics/opengl/gl_render_context.hpp" #include "../graphics/opengl/base_texture.hpp" #include "../graphics/packets_queue.hpp" @@ -24,7 +24,7 @@ TileRenderer::TileRenderer( unsigned executorsCount, graphics::Color const & bgColor, RenderPolicy::TRenderFn const & renderFn, - shared_ptr<graphics::gl::RenderContext> const & primaryRC, + shared_ptr<graphics::RenderContext> const & primaryRC, shared_ptr<graphics::ResourceManager> const & rm, double visualScale, graphics::PacketsQueue ** packetsQueues diff --git a/map/tile_renderer.hpp b/map/tile_renderer.hpp index 96e6d97b3f..7dd47a040c 100644 --- a/map/tile_renderer.hpp +++ b/map/tile_renderer.hpp @@ -42,13 +42,13 @@ protected: Drawer * m_drawer; Drawer::Params m_drawerParams; shared_ptr<graphics::gl::BaseTexture> m_dummyRT; - shared_ptr<graphics::gl::RenderContext> m_renderContext; + shared_ptr<graphics::RenderContext> m_renderContext; shared_ptr<graphics::gl::RenderBuffer> m_depthBuffer; }; buffer_vector<ThreadData, 4> m_threadData; - shared_ptr<graphics::gl::RenderContext> m_primaryContext; + shared_ptr<graphics::RenderContext> m_primaryContext; TileCache m_tileCache; @@ -88,7 +88,7 @@ public: unsigned tasksCount, graphics::Color const & bgColor, RenderPolicy::TRenderFn const & renderFn, - shared_ptr<graphics::gl::RenderContext> const & primaryRC, + shared_ptr<graphics::RenderContext> const & primaryRC, shared_ptr<graphics::ResourceManager> const & rm, double visualScale, graphics::PacketsQueue ** packetsQueue); diff --git a/map/window_handle.cpp b/map/window_handle.cpp index df2a4c0a52..7650d91d91 100644 --- a/map/window_handle.cpp +++ b/map/window_handle.cpp @@ -71,12 +71,12 @@ void WindowHandle::setNeedRedraw(bool flag) checkTimer(); } -shared_ptr<graphics::gl::RenderContext> const & WindowHandle::renderContext() +shared_ptr<graphics::RenderContext> const & WindowHandle::renderContext() { return m_renderContext; } -void WindowHandle::setRenderContext(shared_ptr<graphics::gl::RenderContext> const & renderContext) +void WindowHandle::setRenderContext(shared_ptr<graphics::RenderContext> const & renderContext) { m_renderContext = renderContext; } diff --git a/map/window_handle.hpp b/map/window_handle.hpp index c6e5e26a32..f2cb9c13b2 100644 --- a/map/window_handle.hpp +++ b/map/window_handle.hpp @@ -12,17 +12,14 @@ namespace graphics { - namespace gl - { - class RenderContext; - } + class RenderContext; } class RenderPolicy; class WindowHandle { - shared_ptr<graphics::gl::RenderContext> m_renderContext; + shared_ptr<graphics::RenderContext> m_renderContext; RenderPolicy * m_renderPolicy; bool m_hasPendingUpdates; @@ -49,9 +46,9 @@ public: void setNeedRedraw(bool flag); - shared_ptr<graphics::gl::RenderContext> const & renderContext(); + shared_ptr<graphics::RenderContext> const & renderContext(); - void setRenderContext(shared_ptr<graphics::gl::RenderContext> const & renderContext); + void setRenderContext(shared_ptr<graphics::RenderContext> const & renderContext); bool setUpdatesEnabled(bool doEnable); |