-
Notifications
You must be signed in to change notification settings - Fork 124
IECoreGL Improvements #357
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7810293
to
b59207c
Compare
I found I had to add this code to line 95 of ShaderStateComponent.cpp:
Otherwise it would crash when viewing the meshes in a large geometry hierarchy (the main character in our robot show) |
Thanks for catching that - I've applied your suggested fix, along with a compilation fix for the recent |
This takes a bool indicating whether or not to perform the binding.
The HitRecord is a low level class intended for use with the Selector class which represents names as GLuint, so it makes no sense to use a higher level representation. This will allow the Selector to be used with simple integer names where that is more appropriate. Continuing to use the higher level representation is facilitated by the NameStateComponent nameFromGLName() and glNameFromName() methods. Binary incompatibilities : - Changed IECoreGL::HitRecord members
It was completely unnecessary, and served only to illustrate my ignorance of the OpenGL API.
This converts a CompoundObject representing a whole block of attributes directly into an IECoreGL::State object. Its current intended use is in Gaffer, where it will allow us to implement a faster Gaffer->GLScene coupling. This does duplicate some functionality from IECoreGL::Renderer, but we're justifying it by the Gaffer refactor being an important step towards a GL scene graph without an awkward Renderer interface in the way.
This allows intrusive_ptr to be used in tbb concurrent unordered containers.
1fb97e5
to
bb94632
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
These are miscellaneous improvements to IECoreGL to support an improved Viewer in Gaffer. They do break Cortex compatibility, so once merged we can't do a Cortex install until Gaffer is updated too (I believe Gaffer is the only client for the changed API). Once this is merged, I'll need to roll out a new set of prebuilt binary dependencies for Gaffer, so the Travis tests can pass when I make the corresponding Gaffer pull request.