I am rendering large meshes in a very simple and straightforward way (i.e. using VBOs), but as soon as meshes start having more than 0.5 mio triangles, rendering gets slower and scene manipulation is not fluid anymore.
When I look at some other applications (i.e. visualization applications), they can handle the same imported meshes in a much faster and more fluid manner. So my question is: how do they do it?
I am not using any shaders, but the speed difference between my application and the others is too large that it could only be a matter of shaders. My code basically resumes to:
vertexBuffer->bind(); glEnableClientState(GL_VERTEX_ARRAY); glVertexPointer(3,GL_FLOAT,0,0); normalBuffer->bind(); glEnableClientState(GL_NORMAL_ARRAY); glNormalPointer(GL_FLOAT,0,0); glDrawArrays(GL_TRIANGLES,0,verticesCnt); glDisableClientState(GL_NORMAL_ARRAY); normalBuffer->release(); glDisableClientState(GL_VERTEX_ARRAY); vertexBuffer->release();
Am I missing an important part of the puzzle?