-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Navigating apicall tree with State/Render operations #161
Comments
Can you reference where the original suggestion came from? Ideas / comments from highest priority to 'would be nice':
|
Hi Peter, Thanks for the great input. This was communicated to me from Intel's OTC Visualization and Media group I'll make updates on progress. Thanks again, On Mon, Aug 25, 2014 at 2:25 PM, Peter Lohrmann [email protected]
|
Looks related to #102 as well. |
Looks great to me so far! Thanks Larry! On Fri, Oct 24, 2014 at 5:18 PM, Lawrence Love [email protected]
|
A suggestion was made that modifying the UI such that state and render operations were grouped into separate tree nodes would be helpful. A proof-of-concept version is at https://github.com/lawlove/vogl/tree/state-render-groups-demo. Any feedback is welcome.
So something like this:
In addition to the State change and Render containers, other push/pop (glPush/PopDebugGroup) apicalls and nested glBegin/End apicalls are still recognized:
Clicking on the higher level node will move the marker along the timeline in addition to drilling down to the individual calls.
Details
The rule for processing the calls is that every glPush apicall starts a push down into a new level in the tree; every glPop apicall pops up one level.
Other gl calls are collected into a block, or "chunk", of calls. If a RENDER (framebuffer write) operation occurs (e.g. draw, clear, glEnd, glBitmap), then it closes the current chunk and names it. Since this chunk is now closed, any subsequent call starts a new chunk. When a glPush/Pop apicall is encountered and there is an open chunk, then that chunk will be implicitly closed with the name "State changes". glBegin/End apicalls are nested within RENDER chunks.
The fully expanded tree would expand to every gl call but omitting the PushDebugGroup and PopDebugGroup; they must necessarily exist for as group markers but have no purpose other than to name those groups.
Note: this branch is just a demo. It's not production. If an acceptable feature I'll continue working on it.
The text was updated successfully, but these errors were encountered: