OpenGL mechanics tutorials?

Member
Posts: 469
Joined: 2002.10
Post: #1
Anybody know of any good sites on the actual mechanics of the OpenGL implementation (apple's)? I'm particularly interested on when exactly buffers get submitted to hardware, when they get updated, and what happens when. I've looked over the OpenGL pipeline, but it lacked specifics on when things happen in terms of calls made by your program.

So... Anybody got appropriate links or knowledge sitting around?

---Kelvin--
15.4" MacBook Pro revA
1.83GHz/2GB/250GB
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #2
commands handled by the video card are queued in buffers, buffers are submitted when full (or possibly when sufficient time has elapsed with no new commands being added?), hardware processes the buffers asynchronously.

glFlush causes the current buffer to be submitted (regardless of whether it's ready or not). This is Badâ„¢.

glFinish causes a glFlush, and then a CPU wait for that buffer's commands to be processed by the GPU. This is Very Bad™®.

Some GL calls implicitly flush or finish during operation. The worst culprits are glReadPixels and other calls that get pixels back from the GL, like glGetTexImage2D.
Quote this message in a reply
Sage
Posts: 1,232
Joined: 2002.10
Post: #3
I have not come across any in-depth description of the internal, HW-specific, workings of Apple's GL. I think the only way to get details is to rub shoulders with the driver folk.

Why do you want to know this, though? Any details you find out could well change entirely with the next round of cards...
Quote this message in a reply
Member
Posts: 469
Joined: 2002.10
Post: #4
I just want a better understanding.

Particularly... When you have a vertex array pointer, and you do a drawelements; when does the data get sent to the card? If you change some of the data, when does that get updated? Does it send everytime you do a drawelements? What about VAR and fencing? How about VBO?

---Kelvin--
15.4" MacBook Pro revA
1.83GHz/2GB/250GB
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #5
normal array data is sent to the card synchronously during the DrawElements call. CVA'd arrays begin a DMA at that time. VAR and VBO it probably happens at buffer modification time, though it could wait until draw time. Either way it's a DMA.
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  OpenGL Tutorials with video Taxxodium 14 5,769 May 15, 2008 07:00 PM
Last Post: FlamingHairball
  Beginner-Intermediate level OpenGL tutorials Jones 7 4,454 Jan 9, 2006 12:40 AM
Last Post: AnotherJake
  tutorials for setting up a window in opengl cocoa vbuser1338 6 4,527 Mar 14, 2005 02:16 PM
Last Post: maaaaark
  OpenGL 2d tutorials???? menace690 13 8,279 Jan 24, 2004 06:43 PM
Last Post: menace690
  2d game with opengl tutorials roka-tarat 3 10,503 May 1, 2002 03:30 PM
Last Post: Jeff Binder