hi !!
I need to draw a bezer surface in opengl.
I made quite an impressive program , but my only problem is the size of the control points I use is constant 443
(the 3 is for x,y,z).
Of course I can change it to any number , but I want it to be argument dependent :
I read the control points from a file and I want to read every time any number of control points (assuming the dimension of the grid is given in the text file).
So - I wrote this
GLfloat *ctrlPoints;
static int n,m;
// Getting the n,m :
n = (int)readNumber(fIn);
m = (int)readNumber(fIn);
ctrlPoints = new GLfloat[n*m*3];
for(int i = 0; i < n ; ++i)
{
for(int j = 0; j < m ; ++j)
{
// Getting the triplets (xyz coordinates of the grid)
ctrlPoints[i*n+j*m] = readNumber(fIn);
ctrlPoints[i*n+j*m + 1] = readNumber(fIn);
ctrlPoints[i*n+j*m + 2] = readNumber(fIn);
}
}
the readNumber gets me a float number from the file.
And it works bad (the arrau do hold all the points but opengl do something wrong ?!).
So - I kept trying : I used the ctrlPoints array as a ***.
And I did all the required allocation (exactly as shown in another thread about that thing) , and nothing…
I know there my be problem with the order or stride (the numer of floats between the control points).
Can someone help me ??
Please ??