OpenStructure
Loading...
Searching...
No Matches
cpk_renderer.hh
Go to the documentation of this file.
1//------------------------------------------------------------------------------
2// This file is part of the OpenStructure project <www.openstructure.org>
3//
4// Copyright (C) 2008-2020 by the OpenStructure authors
5//
6// This library is free software; you can redistribute it and/or modify it under
7// the terms of the GNU Lesser General Public License as published by the Free
8// Software Foundation; either version 3.0 of the License, or (at your option)
9// any later version.
10// This library is distributed in the hope that it will be useful, but WITHOUT
11// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13// details.
14//
15// You should have received a copy of the GNU Lesser General Public License
16// along with this library; if not, write to the Free Software Foundation, Inc.,
17// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18//------------------------------------------------------------------------------
19#ifndef OST_GFX_CPK_RENDERER_HH
20#define OST_GFX_CPK_RENDERER_HH
21
22#include <ost/geom/vec3.hh>
23
25#include <ost/gfx/entity_fw.hh>
28
29#if OST_SHADER_SUPPORT_ENABLED
30#include "fast_spheres.hh"
31#endif
32
33namespace ost { namespace gfx { namespace impl {
34
37public:
39
40 virtual void PrepareRendering();
41
42 virtual void RenderPov(PovState& pov, const std::string& name);
43
44 virtual void Render(RenderPass pass);
45
46 virtual bool CanSetOptions(RenderOptionsPtr& render_options);
47 virtual void SetOptions(RenderOptionsPtr& render_options);
49
50private:
51 void PrepareRendering(GfxView& view, IndexedVertexArray& va, bool is_sel);
52
53 CPKRenderOptionsPtr options_;
54#if OST_SHADER_SUPPORT_ENABLED
55 FastSphereRenderer fsr_,sel_fsr_;
56#endif
57};
58
59}}}
60
61#endif // OST_GFX_CPK_RENDERER_HH
virtual void SetOptions(RenderOptionsPtr &render_options)
virtual void PrepareRendering()
virtual void RenderPov(PovState &pov, const std::string &name)
povray rendering call
virtual void Render(RenderPass pass)
render the entity
virtual RenderOptionsPtr GetOptions()
virtual bool CanSetOptions(RenderOptionsPtr &render_options)
#define DLLEXPORT_OST_GFX
boost::shared_ptr< CPKRenderOptions > CPKRenderOptionsPtr
boost::shared_ptr< RenderOptions > RenderOptionsPtr
Definition base.dox:1