Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 2 of 2

Thread: Vertex Array Objects

  1. #1
    Junior Member Regular Contributor Lucretia's Avatar
    Join Date
    Mar 2000
    Location
    Leeds, West Yorkshire, England
    Posts
    117

    Vertex Array Objects

    How about this for an extension to OpenGL.

    In DX we can put data directly into the card and access it later on using vertex buffers.

    How about extending the vertex arrays so that they can be stored and retrieved using an object identifier?

    Just a thought, it'd make it slightly faster don't you think?

    Thanks,
    Luke.
    Luke A. Guest

  2. #2
    Senior Member OpenGL Pro
    Join Date
    Sep 2000
    Location
    Santa Clara, CA
    Posts
    1,096

    Re: Vertex Array Objects

    It's a good idea in theory but easy to screw up. For example, DX7 really screwed up vertex buffers in a bunch of ways. DX8 fixes some but not all of them. The result is that developers are finding they can't do dynamic geometry as efficiently as they could otherwise in D3D.

    There is a proposed extension, but I have not evaluated it yet, and therefore I will refrain from passing judgment. I will note that there are a ton of pitfalls that such an extension could have.

    There are also memory management issues that show up, and those can be quite tricky as well.

    So, for now, the only way to do this is with the vertex array range extension. Allocate a chunk of AGP memory, copy your vertices in (it's app-managed; you should allocate just one buffer and then manage it however you like), and let the HW do its thing. Synchronization is also app-controlled using FlushVertexArrayRangeNV (an expensive operation) and the NV_fence extension (a much more lightweight way to sync, but more work).

    - Matt

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •