Original Post
Lately I am experimenting with heightmapped landscapes using the vertex buffers and the draw array functions. I have several questions about processing overhead. First, which is more expensive in cycles and time: GL_TRIANGLES or GL_QUADS? I have noted that GL_QUADS is easier to deal with in texture wrap and culling. Sadly, the CCW poly issue makes using GL_TRIANGLES a little more complicated, yet the GL_QUADS are not a problem as it seems OpenGL handles them well enough. I have seen written that a quad is really just two triangles anyway, just easier to put a texture to in the code. Does OpenGL take that GL_QUADS directive and simply draw two triangles? And my next question is this: I have noted that GL_LINES AND GL_POINTS appears to look no different at great distances than the quad and triangle options. Evidently at such distance perhaps a whole polygon is just a point anyway. What I am wanting to know is, that at large distances when a point or line will do, and there is still a call for triangles or quads in effect, does OpenGL already see this as the case and just draw that dot or lines? Or does one have to, to save processing time, determine these distances manually and actually make the lines or points calls? That is, when all there is is a point to draw, is OpenGL still trying to draw an entire polygon? I find myself wishing that OpenGL was around back in the days I was interpolating, wrapping, and vector dotting. In those days, getting a texture poly to the screen involved going uphill in 3 feet of snow both ways.