- Main Page
- Related Pages
- Classes
- Files

- File List

# src/GpuQuadraticCurveRender/Render.h

Go to the documentation of this file.

    00001
    00002
    00003
    00004
    00005
    00006
    00007
    00008
    00009
    00010
    00011
    00012
    00013
    00014
    00015
    00016
    00017
    00018
    00019
    00020
    00025 #ifndef _Render_H_
    00026 #define _Render_H_
    00027
    00028 #include <vector>
    00029
    00030 #include "Point.h"
    00031 #include "Line.h"
    00032
    00033 namespace GpuQuadraticCurveRender
    00034 {
    00035
    00036 class OpenglGpuProgram;
    00037
    00046 class Render
    00047 {
    00048 public:
    00050         Render(void);
    00051
    00053         ~Render(void);
    00054
    00060         void Initialize(int width, int height);
    00061
    00065         void Reshape(int width, int height);
    00066
    00068         void BeginFrame(void);
    00069
    00074         void SetMaterial(float red, float green, float blue);
    00075
    00079         void DrawPoints(const std::vector<Point>& points);
    00080
    00083         void DrawLines(const std::vector<Line>& lines);
    00084
    00088         void DrawTriangles(const std::vector<Point>& points, const std::vector<int>& indices);
    00089
    00092         void DrawQuadraticSpline(const std::vector<Point>& points);
    00093
    00095         void EndFrame(void);
    00096
    00102         void UnProjectScreenPoint(const Point& screenPoint, double& x, double& y, double& z);
    00103
    00106         float GetPointSize(void) const;
    00107
    00108 private:
    00110         const float m_depth;
    00111
    00113         const float m_pointSize;
    00114
    00116         const std::wstring quadraticVertexShaderFile;
    00117
    00119         const std::wstring quadraticPixelShaderFile;
    00120
    00122         OpenglGpuProgram* m_quadraticGpuProgram;
    00123
    00125         Render(const Render&);
    00126
    00128         Render& operator=(const Render&);
    00129 };
    00130
    00131 }
    00132
    00133 #endif