# The Industry's Foundation for High Performance Graphics

1. ## Draw a square?

Hi, I try to draw a square but I have the problem which can be see and the images. Can someone explain me why?

Thanks

2. ## Re: Draw a square?

It looks like you are drawing the vertices in the wrong order. You need to keep an orientation. Can you post your draw code here?

3. ## Re: Draw a square?

The coords:

GLfloat a[]={
0.0f,0.0f,0.0f,0.0f,
0.0f,1.0f,0.0f,0.0f,
0.0f,0.0f,1.0f,0.0f,
0.0f,1.0f,1.0f,0.0f
};

4. ## Re: Draw a square?

As I said, it is in the wrong order.

Code :
```GLfloat a[]={
0.0f,0.0f,0.0f,0.0f,
0.0f,1.0f,0.0f,0.0f,
0.0f,1.0f,1.0f,0.0f
0.0f,0.0f,1.0f,0.0f,
};

// change coord 3 with 4.```

BTW, why homogeneous coords are set to 0.0f? It shouldn't be 1.0f?

5. ## Re: Draw a square?

Ok, it works! Thank you!

I try with 0.0f and 1.0f and I don't see any difference, so I prefer with 0.0f because it's easier to read.

6. ## Re: Draw a square?

It is odd. Using 0.0 as the homogeous coordinates gives you a vector instead of a point. Maybe, when you are drawing, you are ignoring the fourth coordinate. In order to have project points on screen, OpenGL divides x,y and z by the w value, if it is different from 0.

7. ## Re: Draw a square?

I see,

In my code I write:
glVertexPointer(3,GL_FLOAT,4*sizeof(GL_FLOAT),0);
It has been copied from a code on Internet

Now I put glVertexPointer(4,GL_FLOAT,4*sizeof(GL_FLOAT),0);
with the w value to 1.0f.

Thanks

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•