X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frender%2Foccludedscene.h;h=f11c707e6781c0ea656a7676e733e3981209ea41;hb=93448d16e72e38afbaecbccf6fdedd46d6a82a73;hp=9140d13b62624b56ab1ce7e5f022f691df4a2302;hpb=fe2fc291a4fc618425c64112c9ffd3519f0b8a3e;p=libs%2Fgl.git diff --git a/source/render/occludedscene.h b/source/render/occludedscene.h index 9140d13b..f11c707e 100644 --- a/source/render/occludedscene.h +++ b/source/render/occludedscene.h @@ -3,8 +3,11 @@ #include #include +#include "blend.h" +#include "depthtest.h" #include "mesh.h" #include "program.h" +#include "query.h" #include "scene.h" namespace Msp { @@ -26,24 +29,22 @@ private: const Geometry::BoundingSphere *bounding_sphere; bool in_frustum; bool occluder; - unsigned query; OccludedRenderable(); }; - typedef std::set RenderableSet; - typedef std::vector OccludedArray; - const Mesh &bounding_mesh; const Program &bounding_shader; - RenderableSet renderables; + Blend no_color_write; + DepthTest no_depth_write; + std::set renderables; float occluder_min_size; - mutable OccludedArray occluded_cache; + mutable QueryPool queries; + mutable std::vector occluded_cache; mutable bool cache_dirty; public: OccludedScene(); - ~OccludedScene(); virtual void add(Renderable &); virtual void remove(Renderable &);