Ok vincoof so a non compiled VA is just a matrix with the vertex coordinates in it?
Btw is it safe to say that the best thing to do is make a scene with a combination of VA''s for the models that require that approach and display lists for the rest?
A newbie with a displaylist problem.
> Ok vincoof so a non compiled VA is just a matrix with the vertex coordinates in it?
Yes, but you can also add colors, texture coordinates, normals and stuff like that.
But the minimum required data is the vertex coordinates.
Compiled Vertex Arrays share exactly the same behaviour.
The only difference with CVA is that you must have a static vertex array (eg don''t modify the data after the first time it is sent to the graphics card).
> Btw is it safe to say that the best thing to do is make
> a scene with a combination of VA''s for the models
> that require that approach and display lists for the rest?
Yes you can use VAs for dynamic models (not CVAs) and display lists for static models.
But you also have to evaluate the complexity of your models.
It is too slow to load vertex arrays if you have to draw a low number of polygons (say, less than 100).
And hopelessly, not all graphics processing can be implemented via VAs or display lists. For instance, you may not display a particle system neither with VA nor display list, unless the particle system follow some strict rules.
Yes, but you can also add colors, texture coordinates, normals and stuff like that.
But the minimum required data is the vertex coordinates.
Compiled Vertex Arrays share exactly the same behaviour.
The only difference with CVA is that you must have a static vertex array (eg don''t modify the data after the first time it is sent to the graphics card).
> Btw is it safe to say that the best thing to do is make
> a scene with a combination of VA''s for the models
> that require that approach and display lists for the rest?
Yes you can use VAs for dynamic models (not CVAs) and display lists for static models.
But you also have to evaluate the complexity of your models.
It is too slow to load vertex arrays if you have to draw a low number of polygons (say, less than 100).
And hopelessly, not all graphics processing can be implemented via VAs or display lists. For instance, you may not display a particle system neither with VA nor display list, unless the particle system follow some strict rules.
One thing I would like to know (and links to tutes would be appreciated) is whether VA''s reference memory addresses on the video card, or in system memory. The limited doco''s I have read about them are not clear on this point. The same with DL''s. Are the instructions stored on the card, or in system memory?
regards,
Shane Blake
regards,
Shane Blake
VAs are stored in the system (aka the ''client'' in OpenGL) memory.
That''s why you can dynamically change coordinates in vertex arrays.
CVAs are stored in the hardware (aka the ''server'' in OpenGL) memory. That''s why you CAN NOT change coordinates dynamically : once you loaded the arrays into the card, you can not change the array unless you unload and then reload the array (very expensive).
DLs are stored into the hardware, if possible. If your card doesn''t support hardware display lists, it will be stored somewhere in the system memory, but anyway you won''t be able to access them. Only the OpenGL driver will be able to deal with it.
That''s why you can dynamically change coordinates in vertex arrays.
CVAs are stored in the hardware (aka the ''server'' in OpenGL) memory. That''s why you CAN NOT change coordinates dynamically : once you loaded the arrays into the card, you can not change the array unless you unload and then reload the array (very expensive).
DLs are stored into the hardware, if possible. If your card doesn''t support hardware display lists, it will be stored somewhere in the system memory, but anyway you won''t be able to access them. Only the OpenGL driver will be able to deal with it.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement