00001 #ifndef CURVE_H
00002 #define CURVE_H
00003
00004 #include <GL/glew.h>
00005 #include <string>
00006 #include <cmath>
00007
00008 #include "shader_primitive.h"
00009 #include "function.h"
00010 #include "color.h"
00011
00012 namespace glot {
00013
00023 class curve : public shader_primitive {
00024
00025 public:
00026
00032 color c;
00033
00038 curve(string f, const color& col) : shader_primitive(col), func(f) {
00039 gen_shader();
00040 };
00041
00042 void dl_gen(const screen& s);
00043
00044 private:
00045
00046 void gen_shader();
00047
00048 string get_frag_shader();
00049 string get_vert_shader();
00050 string get_geom_shader();
00051
00052 GLhandleARB f;
00053 GLhandleARB g;
00054 GLhandleARB v;
00055
00056
00057 string func;
00058
00059 };
00060
00061 }
00062
00063 #endif