But the display list is very simple, it just use the gl_triangle_strip to get the triangles strips, no other operation within the displaylist. So when I call it, it should simply reload those triangle strips and get the same results as the intermediate code!
But the display list is very simple, it just use the gl_triangle_strip to get the triangles strips, no other operation within the displaylist. So when I call it, it should simply reload those triangle strips and get the same results as the intermediate code![/b]
Maybe glGenLists is failing or not working as you expect, try to use value “1” directly as your displaylist, and remark the glgenlists.
Just a quick point (although because of the task in hand it won’t help you much) but a friend of mine was rendering an earth using 1 display list - he’s got horrendous slowdown as the list was too big for the gfx cards’ memory. After breaking the list into 8 smaller ones he got the speed ups he was expecting…
Using a display list definently shouldn’t change shading mode. Maybe you have some driver bug or something. You should experiment with smaller lists and see what happens.
Still, despite your explanation, i don’t see any reason why you would need all the triangles. You do know textures, right? They are images that are mapped on geometry, so that an entire image can be drawn with two triangles with the texture applied on them. If you are worried about interpolation, just request bilinear filtering. It gives at least as good results as using triangles to interpolate.