MantisBT
Mantis Bug Tracker Workflow

View Revisions: Issue #7928 All Revisions ] Back to Issue ]
Summary 0007928: Forum 7411: Improved display lists management for the trihedron display
Revision 2012-10-23 10:47 by abv
Description This improvement has been reported by Open Source community user Sangsu Lee on
the Forum, see thread 7411:

http://www.opencascade.org/org/forum/thread_7411 [^]

The idea is not to re-create display lists for drawing trihedron arrows each
time a 3D view is updated.
Instead, a map-like behavior could be implemented (unfortunately, available
object-oriented map implementations cannot be re-used in C code of OpenGl
package), with an OpenGL rendering context (GLRC) ID being a key, and a
structure containing current geometrical trihedron parameters and current
display list ID(s) being a data.

When some of trihedron's geometrical parameters changes for the given GLRC,
corresponding display lists could be replaced with new ones, and old ones
deleted.

During view updates, existing display lists could be re-used, with help of
their IDs taken from the map.

On 3D view destruction, it is necessary to take care of removing trihedron data
for relevant GLRC.

Original posting:

-----------------------
Sangsu Lee:

To OCC developers,

I think this code can be improved.
If we make the display lists only when it is made at first or user redefine the
triedron, and just call the lists when redrawing, and destroy it in the
v3d_viewer's destructor, it would be more fast and efficient.

Currently, it is always recreated and deleted again and it is not so efficient.
Revision 2005-01-31 07:59 by san
Description This improvement has been reported by Open Source community user Sangsu Lee on
the Forum, see thread 7411:

http://www.opencascade.org/org/forum/thread_7411 [^]

The idea is not to re-create display lists for drawing trihedron arrows each
time a 3D view is updated.
Instead, a map-like behavior could be implemented (unfortunately, available
object-oriented map implementations cannot be re-used in C code of OpenGl
package), with an OpenGL rendering context (GLRC) ID being a key, and a
structure containing current geometrical trihedron parameters and current
display list ID(s) being a data.

When some of trihedron's geometrical parameters changes for the given GLRC,
corresponding display lists could be replaced with new ones, and old ones
deleted.

During view updates, existing display lists could be re-used, with help of
their IDs taken from the map.

On 3D view destruction, it is necessary to take care of removing trihedron data
for relevant GLRC.

Original posting:

-----------------------
Sangsu Lee:

To OCC developers,

I think this code can be improved.
If we make the display lists only when it is made at first or user redefine the
triedron, and just call the lists when redrawing, and destroy it in the
v3d_viewer's destructor, it would be more fast and efficient.

Currently, it is always recreated and deleted again and it is not so efficient.


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker