Public Group

# Help with Icosahedron - Ogl

This topic is 3812 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hey there, i need some help with a very simple code. That is:
#include <GL/gl.h>
#include <GL/glut.h>

#define X .525731112119133606
#define Z .850650808352039932

void Init(void )
{
glClearColor (0.0, 0.0, 0.0, 0.0);
}

void display(void)
{

glClear (GL_COLOR_BUFFER_BIT);
/* select white for all lines  */
glColor3f (0.0, 0.0, 0.0);

static GLfloat vdata[12][3] = {
{-X, 0.0, Z}, {X, 0.0, Z}, {-X, 0.0, -Z}, {X, 0.0, -Z},
{0.0, Z, X}, {0.0, Z, -X}, {0.0, -Z, X}, {0.0, -Z, -X},
{Z, X, 0.0}, {-Z, X, 0.0}, {Z, -X, 0.0}, {-Z, -X, 0.0}
};

static GLuint tindices[20][3] = {
{0,4,1}, {0,9,4}, {9,5,4}, {4,5,8}, {4,8,1},
{8,10,1}, {8,3,10}, {5,3,8}, {5,2,3}, {2,7,3},
{7,10,3}, {7,6,10}, {7,11,6}, {11,0,6}, {0,1,6},
{6,1,10}, {9,0,11}, {9,11,2}, {9,2,5}, {7,2,11} };

int i;

glBegin(GL_TRIANGLES);
for (i = 0; i < 20; i++) {
/* color information here */

glVertex3fv(&vdata[tindices[0]][0]);
glVertex3fv(&vdata[tindices[1]][0]);
glVertex3fv(&vdata[tindices[2]][0]);

}

glEnd();
glFlush ();
}

void reshape (int w, int h)
{
glViewport (0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode (GL_PROJECTION);
gluOrtho2D (0.0, (GLdouble) w, 0.0, (GLdouble) h);
}

int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (400, 150);
glutInitWindowPosition (100, 100);
glutCreateWindow (argv[0]);
Init ();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}

It's pretty simple: i have got 2 2-dimensional arrays. The data one stores the coords of the vertexs, the second one stores the order for the vertex. So i.e. the first triangle had the zeroth, the 4th and the 1st vertexes. Now i can compile it without warnings/errors but i see nothing on my screen. Maybe a viewpoint problem? I am not sure since i am reading step by step the redbook and it still didn't focus on this topic (just 2 lines in the first chapter). So guys, thanks for all :D bye Bro

##### Share on other sites
This looks suspect:
/* select white for all lines  */glColor3f (0.0, 0.0, 0.0);

##### Share on other sites
Quote:
 Original post by jykThis looks suspect:/* select white for all lines */glColor3f (0.0, 0.0, 0.0);

I don't see problems in this code -.-

Edit: yea i was using a back color on a black background. This is not the problem but.

[Edited by - broady on June 13, 2008 9:59:21 AM]

##### Share on other sites
What i can see is just a pixel in the down-left corner of the window, and it sounds possible since the definition of the costants.

Any help is accepted thanks :D

##### Share on other sites
You've set up your projection matrix so that 1 unit of world space = 1 pixel. Then you're drawing an icosahedron about 1 unit across, and it's drawing 1 pixel. So if you want a bigger icosahedron, either use a different projection, or scale up the model.

1. 1
Rutin
49
2. 2
3. 3
4. 4
5. 5

• 10
• 28
• 20
• 9
• 20
• ### Forum Statistics

• Total Topics
633410
• Total Posts
3011726
• ### Who's Online (See full list)

There are no registered users currently online

×