2011-07-30 23:29:40 +04:00
|
|
|
#ifndef RENDERER_H_
|
|
|
|
#define RENDERER_H_
|
|
|
|
|
2011-12-12 02:45:14 +04:00
|
|
|
#include "system-gl.h"
|
|
|
|
|
2011-12-14 12:36:37 +04:00
|
|
|
#ifdef _MSC_VER // NULL
|
|
|
|
#include <cstdlib>
|
|
|
|
#endif
|
|
|
|
|
2011-07-30 23:29:40 +04:00
|
|
|
class Renderer
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual ~Renderer() {}
|
|
|
|
virtual void draw(bool showfaces, bool showedges) const = 0;
|
2011-12-12 02:45:14 +04:00
|
|
|
|
|
|
|
enum ColorMode {
|
|
|
|
COLORMODE_NONE,
|
|
|
|
COLORMODE_MATERIAL,
|
|
|
|
COLORMODE_CUTOUT,
|
|
|
|
COLORMODE_HIGHLIGHT,
|
|
|
|
COLORMODE_BACKGROUND,
|
|
|
|
COLORMODE_MATERIAL_EDGES,
|
|
|
|
COLORMODE_CUTOUT_EDGES,
|
|
|
|
COLORMODE_HIGHLIGHT_EDGES,
|
|
|
|
COLORMODE_BACKGROUND_EDGES
|
|
|
|
};
|
|
|
|
|
|
|
|
virtual void setColor(const double color[4], GLint *shaderinfo = NULL) const;
|
|
|
|
virtual void setColor(ColorMode colormode, GLint *shaderinfo = NULL) const;
|
2011-07-30 23:29:40 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // RENDERER_H
|