ProjectedTextures
Prototype software for spacial augmented reality applications.
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Enumerations
Enumerator
Macros
ShaderLamps
src
RenderBase.h
Go to the documentation of this file.
1
#ifndef RENDERBASE_H
2
#define RENDERBASE_H
3
4
#include <QOpenGLShaderProgram>
5
#include <QOpenGLVertexArrayObject>
6
#include <QOpenGLBuffer>
7
#include <QOpenGLFunctions>
8
#include <QGLWidget>
9
#include "
Geometry.h
"
10
#include "
RenderEnums.h
"
11
#include "
ShaderManager.h
"
12
16
struct
RenderObject
{
17
Geometry
*
geometry
;
18
QOpenGLVertexArrayObject*
vao
;
19
QOpenGLBuffer*
positionBuffer
;
20
QOpenGLBuffer*
normalBuffer
;
21
QVector<QOpenGLBuffer*>
vertexColorBuffers
;
23
QOpenGLBuffer*
indexBuffer
;
24
};
25
31
class
RenderBase
:
32
public
QGLWidget,
33
protected
QOpenGLFunctions
34
{
35
Q_OBJECT
36
37
public
:
42
RenderBase
(
ShaderManager
*
shaderManager
, QList<Geometry*>*
geometries
, QWidget* parent = 0);
43
virtual
~RenderBase
(
void
);
44
45
//to set new geometry at runtime (not working)
46
//void setGeometries(QList<Geometry*>* geometries);
47
48
49
protected
:
50
bool
renderingEnabled
;
52
QList<RenderObject>
renderList
;
53
QList<Geometry*>*
geometries
;
54
ShaderManager
*
shaderManager
;
56
void
initRenderList
();
57
void
destroyRenderList
();
59
virtual
void
initializeGL
(){}
60
virtual
void
paintGL
(){}
61
virtual
void
resizeGL
(){}
62
63
public
slots:
64
void
setRenderingEnabled
(
bool
enable){
renderingEnabled
= enable;}
65
};
66
67
#endif //RENDERBASE_H
Generated on Fri Feb 19 2016 11:04:41 for ProjectedTextures by
1.8.4