21 #ifndef GLBEZIERCURVE_H_
22 #define GLBEZIERCURVE_H_
24 #include <tulip/AbstractGlCurve.h>
58 GlBezierCurve(
const std::vector<Coord> &controlPoints,
const Color &startColor,
const Color &endColor,
59 const float &startSize,
const float &endSize,
const unsigned int nbCurvePoints = 100);
63 void drawCurve(std::vector<Coord> &controlPoints,
const Color &startColor,
const Color &endColor,
const float startSize,
const float endSize,
const unsigned int nbCurvePoints=100);
67 Coord computeCurvePointOnCPU(
const std::vector<Coord> &controlPoints,
float t);
69 void computeCurvePointsOnCPU(
const std::vector<Coord> &controlPoints, std::vector<Coord> &curvePoints,
unsigned int nbCurvePoints);
71 std::string genCurveVertexShaderSpecificCode();
73 void setCurveVertexShaderRenderingSpecificParameters();
75 void cleanupAfterCurveVertexShaderRendering();
79 static void buildPascalTriangleTexture();
80 static GLuint pascalTriangleTextureId;