OpenGL viewport design question

Recently I’ve been looking into OpenGL for an application involving viewports (similar to Rhino viewports).

In the design phase, I seem to have some difficulty conceptualizing how to interface the way my application understands and categorizes its own data internally and how OpenGL expects that stuff for display.

The problem is that once something is stored into a vertex array, it becomes a mere heap of triangles.
Does Rhino keep two sets of data at all times ? One describing the nurbs nature of the object and one storing it as a vertex array for display ?

As far as I know every NURBS geometry in Shaded viewports generates a polygon mesh object attached to it which is the one represented in the viewport (and rendering images). The NURBS geometry is some kind of numerical ghost that store the importan information for geometric operations, data retrieving, etc.

Indeed, you can say to Rhino not to store this mesh in the 3dm file to make it smaller and easier to attach and send by email. Anyone that open that reduced file will notice how rhino calculates all those meshes when switching to shaded views for the first time.

This is not a very technical response but just my experience. I hope that it helps a little bit.

aah, now that you mention it, makes sense deductively; Rhino having two sets of data and keeping the render meshes synchronized every time there is a change.

Thanks !