   A Question About Polygon Count - How Much?
  i have approximately 15000 quads which i draw on the screenit works around 20-30FPS on my computer (p4, 3ghz, 7600gt)is that good?i mean should that many polygons be drawn more quickly?should my code be more optimized?the code is like this:for(byte y=0; y<100; y++)for(byte x=0; x<150; x++){GL.glColor3f(TR[x][y], TG[x][y], TB[x][y]); GL.glVertex3f(TX[x][y], TY[x][y], TZ[x][y]);GL.glColor3f(TR[x+1][y], TG[x+1][y], TB[x+1][y]); GL.glVertex3f(TX[x+1][y], TY[x+1][y], TZ[x+1][y]);GL.glColor3f(TR[x+1][y+1], TG[x+1][y+1], TB[x+1][y+1]); GL.glVertex3f(TX[x+1][y+1], TY[x+1][y+1], TZ[x+1][y+1]);GL.glColor3f(TR[x][y+1], TG[x][y+1], TB[x][y+1]); GL.glVertex3f(TX[x][y+1], TY[x][y+1], TZ[x][y+1]);}im thinking into making it into a game, should i increase or decrease the polygon count?[Edited by - avance70 on January 31, 2008 9:15:14 AM]
  you should at least look into arrays, if not some of the other techniques like buffer objects and display lists. because there is overhead for each function call you make.   ;  yes, i am planning to use video card memory, but not just yet - im still learningand thanks about the display list suggestion, it should be very useful!but im unsure what you mean with: i should look into arrays?   ;Hi,15000 quads equals 30k triangles which isn't much (at least at 20-30 fps) unless there is plenty of pixel over draw. This equals like 600k-900k triangles per second. Considering that your hardware should be able to push (theoretically) at least 100+ million triangles per second, you should look into using vertex buffers / indexed primitives or so. Regards!;  You have a few options to speed that up dramatically. You should be able to draw hundreds of thousands of triangles per frame with that card for static geometry (it'll probably be a bit slower where it's animated).- One option is vertex arrays - glDrawArrays() .- Another option is using a display list.   ;  tnx all ive done this:in the class definition i added:public int box=0;then i defined this:box=GL.glGenLists(1);GL.glNewList(box, GL.GL_COMPILE);GL.glBegin(GL.GL_QUADS);for(byte y=0; y<100; y++)for(byte x=0; x<150; x++){GL.glColor3f(TR[x][y], TG[x][y], TB[x][y]);GL.glVertex3f(TX[x][y], TY[x][y], TZ[x][y]);GL.glColor3f(TR[x+1][y], TG[x+1][y], TB[x+1][y]);GL.glVertex3f(TX[x+1][y], TY[x+1][y], TZ[x+1][y]);GL.glColor3f(TR[x+1][y+1], TG[x+1][y+1], TB[x+1][y+1]);GL.glVertex3f(TX[x+1][y+1], TY[x+1][y+1], TZ[x+1][y+1]);GL.glColor3f(TR[x][y+1], TG[x][y+1], TB[x][y+1]);GL.glVertex3f(TX[x][y+1], TY[x][y+1], TZ[x][y+1]);}GL.glEnd();GL.glEndList();and when i draw it - instead of calling the beforementioned for loops - i just called:GL.glCallList(box);but there's nothing on the screen? did i miss something?[Edited by - avance70 on January 31, 2008 9:55:43 AM];  if nobody knows whats wrong,could someone point me to any opengl DISPLAY LIST C# EXAMPLE file?notes:-ive used the basecode from: http://nehe.gamedev.net/ to develop my app-i am using c# (visual studio 2008) and the downloadable example(s) found here: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=12 are not working for me   ;  You're probably creating the displaylist when the array isn't filled...try this:int box=0;void render() //this is your renderloop...{  if (box==0)  { box = glGenLists(1); glNewList(box,GL_COMPILE); for(byte y=0; y<100; y++) for(byte x=0; x<150; x++) {   GL.glColor3f(TR[x][y], TG[x][y], TB[x][y]); GL.glVertex3f(TX[x][y], TY[x][y], TZ[x][y]);   GL.glColor3f(TR[x+1][y], TG[x+1][y], TB[x+1][y]); GL.glVertex3f(TX[x+1][y], TY[x+1][y], TZ[x+1][y]);   GL.glColor3f(TR[x+1][y+1], TG[x+1][y+1], TB[x+1][y+1]);   GL.glVertex3f(TX[x+1][y+1], TY[x+1][y+1], TZ[x+1][y+1]);   GL.glColor3f(TR[x][y+1], TG[x][y+1], TB[x][y+1]); GL.glVertex3f(TX[x][y+1],    TY[x][y+1], TZ[x][y+1]); } glEndList();  }  else  glCallList(box);}If this doesn't work, then re-do your code from scratch, since it's most likely broken in some other place. :)/Robert   ;  You should use vertex arrays since your data is already stored in an array.  Maybe this will help...http://opengl.org/documentation/specs/version1.1/glspec1.1/node21.html   ;  @Rasmadrak:even though array was defined, i followed that suggestion and managed to find out that the problem was that i was storing the object to the list before i set the current context.@DariusBoone:that suggestion looks nice. but i dont quite understand it all. is there any simple C#/C++ example i can look at?* * *ok so lets get back to the main subject of the theme:how many polygons can a today's regular computer draw per second? though, i dont even know what a regular computer is ;) perhaps some p4/amd with 6600GT/7600GS?[Edited by - avance70 on February 1, 2008 2:22:57 AM]