I have multiple textures that are registered using OpenGL interop. I’m rendering to them using CUDA (for context - I’m doing volume rendering using raytracing). Each my OpenGL texture is in different OpenGL context.
The question is - how should I do selection of current OpenGL contexts?
Currently I do like this:
- When I register or unregister texture in OpenGL interop - I select appropriate OpenGL context (the context that texture belongs to).
- When I map, unmap, access the registered resource - I do not select the appropriate OpenGL context (there is some context active, but not neccessary the same as the context that texture belongs to).
This works. But, I have some very strange bugs, and this pushes me to think of possible problems relative to this.
[b]For those who will get similar question. I have found problem in different place. And regardless the context selection it seems to:
- You must select appropriate context when registering/unregistering OpenGL resource.
- This is not neccessary to select appropriate context when mapping/unmapping this resource.[/b]