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 4 of 4

Thread: NV_VAR limitations

  1. #1
    Junior Member Newbie
    Join Date
    Jun 2001
    Posts
    3

    NV_VAR limitations

    I've noticed some problems during the development of my little 3d engine and NV_VAR:

    I've had an array of 69800 vertices with position,texcoords,normals...
    Even if GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV returns 1048xxx (on my GeForce3),
    I cannot call glDrawArrays(...) with FIRST argument>=65536 .

    I tried to execute glDrawArrays(GL_POINTS,65536,1) all my vertices will be rendered (from 0 to 69799)
    This doesn't happen with glDrawElements () or glDrawArrays(GL_POINTS,65535,1)
    I always use 32 bits unsigned indices...
    Is there something i've done wrong?
    Last little question:
    if i use glDrawElements, i can reuse vertices with same indices.
    My question is: Can I reuse these in 2 subsequent calls?
    I'm italian so i try to explain my in another way... if i call twice the same function with the same datas, Does the gl implementation
    has to transfer data twice?
    Es:
    UINT32 indices1[]={0,1,2,3};
    UINT32 indices2[]={2,3,4,5}
    glDrawElements(GL_TRIANGLE_STRIP,4,GL_UNSIGNED_INT , indices1);
    glDrawElements(GL_TRIANGLE_STRIP,4,GL_UNSIGNED_INT , indices2);

    does the second glDraw reuse vertex 2 and 3?

  2. #2
    Member Regular Contributor
    Join Date
    Jul 2001
    Location
    earth
    Posts
    263

    Re: NV_VAR limitations

    i think it's limited to 0xffff then u should split your primitive accordingly.

  3. #3
    Senior Member OpenGL Guru
    Join Date
    Mar 2001
    Posts
    2,704

    Re: NV_VAR limitations

    Don't know about the large-first-index problem. Perhaps it's a bug, perhaps not.

    If you call DrawRangeElements twice, the data has to be transferred twice, although if you use LockArraysEXT() or vertex_array_range, then the card _CAN_ cache the data (according to the spec), although it probably won't actually do it when it's that much data.
    "If you can't afford to do something right,
    you'd better make sure you can afford to do it wrong!"

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

    Re: NV_VAR limitations

    Yes, this is a known bug. It will be fixed on newer drivers, and it should work with no trouble on a GF4 Ti (i.e., it's GF3-specific).

    - 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
  •