source: trunk/packages/vizservers/nanovis/RenderContext.h @ 3362

Last change on this file since 3362 was 2831, checked in by ldelgass, 12 years ago

Refactor texture classes, misc. cleanups, cut down on header pollution -- still
need to fix header deps in Makefile.in

  • Property svn:eol-style set to native
File size: 1.3 KB
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2#ifndef RENDER_CONTEXT_H
3#define RENDER_CONTEXT_H
4
5#include <GL/gl.h>
6
7namespace graphics {
8
9class RenderContext
10{
11public:
12    enum ShadingModel {
13        FLAT = GL_FLAT ,        //!< Flat Shading
14        SMOOTH = GL_SMOOTH      //!< Smooth shading (Gouraud shading model)
15    };
16
17    enum PolygonMode {
18        LINE = GL_LINE,
19        FILL = GL_FILL
20    };
21
22    enum CullMode {
23        NO_CULL,                //!< No culling
24        BACK= GL_BACK,          //!< Back face culling
25        FRONT= GL_FRONT         //!< Front face culling
26    };
27
28    RenderContext();
29
30    ~RenderContext();
31
32    /**
33     *@brief Set the shading model such as flat, smooth
34     */
35    void setShadingModel(const ShadingModel shadeModel)
36    {
37        _shadingModel = shadeModel;
38    }
39
40    ShadingModel getShadingModel() const
41    {
42        return _shadingModel;
43    }
44
45    void setCullMode(const CullMode cullMode)
46    {
47        _cullMode = cullMode;
48    }
49
50    CullMode getCullMode() const
51    {
52        return _cullMode;
53    }
54
55    void setPolygonMode(const PolygonMode fillMode)
56    {
57        _fillMode = fillMode;
58    }
59
60    PolygonMode getPolygonMode() const
61    {
62        return _fillMode;
63    }
64
65private :
66    CullMode _cullMode;
67    PolygonMode _fillMode;
68    ShadingModel _shadingModel;
69};
70
71}
72
73#endif
Note: See TracBrowser for help on using the repository browser.