rendering performance question


I have to render several objects at a time, each object can be something simple like a cylinder to something more elaborated like a loaded model, the question is, if I render too many, and I do a zoom out, I may end up seeing lots of these objects, but maybe each object look like a small thing of just 4 pixels… is there a way that if the object is going to be drawn so small, just render a point ??, is there an automatic way of doing this or it has to be done manually ?, are there any techniques ?..


OpenGL will not do this for you. The concept of what you describe is called level of detail. There are many different ways of doing it, and I think it is safe to say that all good engines use it in one form or another. Read some articles on level of detail and choose the one that suits your needs best, and also suits the amount of time your are willing to spend implementing it…

The basics are that you may have several different version of the same model. These versions have different polygon counts and when further away they are from the camera, render the low polygon count versions. For really far away objects you might even use bill-boards. You could also consider skipping fancy rendering for far away objects. Things like reflection/refraction may not be very clear at a distance anyway.