Question about OpenGL

My question is, where is OpenGL computed? Thats not very clear, so let me give you the background:

We are running a cluster, and my boss asked about signing on to them over the network and running an OpenGL atomic visualization program. They have great processors but no video card to speak of (something integrated). Will the OpenGL work well on them? I am not sure how much openGL performace is dependent upon the processor or the video card of the node.

I hope this isn’t too confusing. Let me know your thoughts.

On the Mac, OpenGL is handled by the OpenGL API and is calculated dynamically. If video memory is resident, it bases its allocation on the OpenGL extension GL_EXT_texture_rectangle (usually).

Let’s say there’s a 2 DRAM video card attached to the machine. The amount of GL_EXT_texture_rectangle memory will include how much can be obtained from that card, so the number will be pretty large. If the number is quite large, you will know you’ll have no performance problems using OpenGL on that machine. If the number isn’t all that large, then you’ll know that some performance hit will enable while it allocates video memory between the card, API, and the Application.

Will OpenGL work well on a Mac system with limited video memory? Depends on the speed of the machine, RAM, the way in which the application was written, etc.

No video memory means no allocation in GL_EXT_texture_rectangle - that extension won’t be listed. Older machines with no video memory - it might not work at all if no handling has been put in place - ex. reverting to Quartz / XOR / CoreGraphics in low memory situations.

So, to answer your question, in the case of a Mac application, OpenGL will certainly work better if there’s video memory attached to the machine, but it is possible for it to work well enough without it - depending on the speed of that machine and on whether or not the application was written in such a way as to allow for low memory situations.

It depends on your OGL wrapper. There are some common CPU OGL wrappers that support the very basic functions and run very very slowly but most likely, OGL is computed in the video card. If you don’t have a fast/feature rich card, your pretty much screwed.