How is Graphic3D data structured for passing to OpenGL to render?

easternbun

CAD practitioner
thePresentation that pass to AIS_InteractiveContext to render, how is the the data structured for OpenGL?
 
Last edited:

natalia

Moderator
Staff member
Hello @easternbun

You know, it's not so simple to answer to your question in several words...

The package that you should investigate here is OpenGl.
OCCT provides several classes with abstract interface in Graphic3d package, e.g. Graphic3d_Group, Graphic3d_View. Top-level AIS package communicates to these interfaces. OpenGl package is an implementation for these interfaces. You switch this implementation ON in your application when create an OpenGl_GraphicDriver.
Having this, all calls to Graphic3d_Group (e.g. from AIS_InteractiveContext or AIS_InteractiveObject) are moved to OpenGl impelmentation.

It might be interesting to start investigation of OpenGl from OpenGl_Group::AddPrimitiveArray, that adds new OpenGl_Elements. These prepared elements contain structures that lately will be given to raw openGl.
The next point to investigate is OpenGl_Context that manages the parameters of glViewport, camera martices and otherы.

Hope, these tips will be helpful for you,
Natalia
 
Top