#define USE_FORGE_CPU_COPY_HELPERS
#include <complex>
#include <cmath>
#include <vector>
#include <iostream>
const unsigned DIMX = 1000;
const unsigned DIMY = 800;
static const float ZMIN = 0.1f;
static const float ZMAX = 10.f;
const float DX = 0.005;
const size_t ZSIZE = (ZMAX-ZMIN)/DX+1;
using namespace std;
void generateCurve(float t, float dx, std::vector<float> &vec )
{
    vec.clear();
    for (int i=0; i < (int)ZSIZE; ++i) {
        float z = ZMIN + i*dx;
        vec.push_back(cos(z*t+t)/z);
        vec.push_back(sin(z*t+t)/z);
        vec.push_back(z+0.1*sin(t));
    }
}
int main(void)
{
    
    forge::Window wnd(DIMX, DIMY, 
"Three dimensional line plot demo");
     
    std::vector<float> function;
    static float t=0;
    generateCurve(t, DX, function);
    
    do {
        t+=0.01;
        generateCurve(t, DX, function);
    releaseGLBuffer(handle);
    return 0;
}