X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frender%2Fzsortedscene.h;h=a498164cd6bea37806419ed92b59d6aa5cc01ef2;hb=274b6fb1b02692cc422bad9040d1abe5d545505a;hp=277d62cf7ac080ed8aa70d4b132e1f4bbf636f48;hpb=190a7e11237351f6b730c28f7b16f183e8adc69c;p=libs%2Fgl.git diff --git a/source/render/zsortedscene.h b/source/render/zsortedscene.h index 277d62cf..a498164c 100644 --- a/source/render/zsortedscene.h +++ b/source/render/zsortedscene.h @@ -37,18 +37,18 @@ private: struct SortedRenderable { Renderable *renderable; - bool in_frustum; - float depth; + bool in_frustum = false; + float depth = 0.0f; - SortedRenderable(Renderable *); + SortedRenderable(Renderable *r): renderable(r) { } bool operator<(const SortedRenderable &o) const { return depth renderables; + std::vector content; SortOrder order = BACK_TO_FRONT; DepthReference reference = FURTHEST; - mutable std::vector sorted_cache; + mutable std::map > sorted_cache; public: virtual void add(Renderable &); @@ -60,10 +60,6 @@ public: /// Sets the reference point for sorting. Default is furthest from camera. void set_reference(DepthReference); -private: - void populate_cache() const; - -public: virtual void setup_frame(Renderer &); virtual void finish_frame();