MVE - Multi-View Environment mve-devel
Loading...
Searching...
No Matches
mesh_renderer.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2015, Simon Fuhrmann
3 * TU Darmstadt - Graphics, Capture and Massively Parallel Computing
4 * All rights reserved.
5 *
6 * This software may be modified and distributed under the terms
7 * of the BSD 3-Clause license. See the LICENSE.txt file for details.
8 */
9
10#ifndef OGL_MESH_RENDERER_HEADER
11#define OGL_MESH_RENDERER_HEADER
12
13#include <memory>
14
15#include "mve/mesh.h"
16#include "ogl/defines.h"
17#include "ogl/opengl.h"
18#include "ogl/shader_program.h"
19#include "ogl/vertex_array.h"
20#include "ogl/vertex_buffer.h"
21
23
29{
30public:
31 typedef std::shared_ptr<MeshRenderer> Ptr;
32 typedef std::shared_ptr<MeshRenderer const> ConstPtr;
33
34public:
35 static Ptr create (void);
36 static Ptr create (mve::TriangleMesh::ConstPtr mesh);
37 void set_mesh (mve::TriangleMesh::ConstPtr mesh);
38
39private:
40 MeshRenderer (void);
42};
43
44/* ---------------------------------------------------------------- */
45
47MeshRenderer::create (void)
48{
49 return Ptr(new MeshRenderer());
50}
51
53MeshRenderer::create (mve::TriangleMesh::ConstPtr mesh)
54{
55 return Ptr(new MeshRenderer(mesh));
56}
57
58inline
59MeshRenderer::MeshRenderer (void)
60{
61}
62
63inline
64MeshRenderer::MeshRenderer (mve::TriangleMesh::ConstPtr mesh)
65{
66 this->set_mesh(mesh);
67}
68
70
71#endif /* OGL_MESH_RENDERER_HEADER */
std::shared_ptr< TriangleMesh const > ConstPtr
Definition mesh.h:93
OpenGL renderer that takes a mesh and automatically creates the appropriate VBOs and a vertex array o...
std::shared_ptr< MeshRenderer > Ptr
std::shared_ptr< MeshRenderer const > ConstPtr
OpenGL vertex array object abstraction.
#define OGL_NAMESPACE_END
Definition defines.h:14
#define OGL_NAMESPACE_BEGIN
Definition defines.h:13