Hi,
I have drawn a traingle using this:
GLfloat vertices[] = { -0.5f, -0.5f, 0.0f,
0.5f, -0.5f, 0.0f,
0.0f, 0.5f, 0.0f };
GLfloat colours[] = {
0.5f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 1.0f
};
/*GLfloat colours[] = {
0.0f, 1.0f, 0.0f,
0.0f, 1.0f, 0.0f,
0.0f, 1.0f, 0.0f
};*/
int i;
double dVertices[9];
SetUpProcs();
i = 0;
do
{
dVertices[i] = (double)vertices[i];
} while (i++ < 8);
dMinEast = 0.0;
dMaxEast = 0.0;
dMinNorth = 0.0;
dMaxNorth = 0.0;
dMaxElev = 0.0;
dMinElev = 0.0;
proc_max_min(&dMinEast, &dMaxEast,
&dMinNorth, &dMaxNorth,
&dMaxElev, &dMinElev,
&dVertices[0],
&dVertices[1],
&dVertices[2]);
proc_max_min(&dMinEast, &dMaxEast,
&dMinNorth, &dMaxNorth,
&dMaxElev, &dMinElev,
&dVertices[3],
&dVertices[4],
&dVertices[5]);
proc_max_min(&dMinEast, &dMaxEast,
&dMinNorth, &dMaxNorth,
&dMaxElev, &dMinElev,
&dVertices[6],
&dVertices[7],
&dVertices[8]);
//vbo stuff
GLuint triangleVBO;
glGenBuffers(1, &triangleVBO);
//glGenBuffers(1, &triangleVBO);
glBindBuffer(GL_ARRAY_BUFFER, triangleVBO);
glBufferData(GL_ARRAY_BUFFER, 9 * sizeof(GLfloat), vertices, GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, 0);
GLuint triangleVBO_colour;
glGenBuffers(1, &triangleVBO_colour);
glBindBuffer(GL_ARRAY_BUFFER, triangleVBO_colour);
glBufferData(GL_ARRAY_BUFFER, 9 * sizeof(GLfloat), colours, GL_STATIC_DRAW);
GLuint VAO;
glGenVertexArrays(1, &VAO);
glBindVertexArray(VAO);
glEnableVertexAttribArray(0);
//bind triangles
glBindBuffer(GL_ARRAY_BUFFER, triangleVBO);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(GLfloat), 0);
//bind colour
glBindBuffer(GL_ARRAY_BUFFER, triangleVBO_colour);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(GLfloat), 0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
glDrawArrays(GL_TRIANGLES, 0, 6);
//glFlush();
SwapBuffers(ghDC);
I am not sure if I have used the color array correctly? Any help greatly appreciated.
MacSam