globjects
globjects copied to clipboard
C++ library strictly wrapping OpenGL objects.
See https://www.khronos.org/opengl/wiki/Shader_Subroutine `glUniformSubroutinesuiv` must be called after every call to `glUseProgram` to (re-)activate subroutines. Since subroutines have not much in common with normal uniforms, I suggest a special integration: store...
In my program I'm trying to store a map of "global uniforms" where drawn meshes can optionally override these with their own internal maps of uniforms. I am really struggling...
Hello. I suggest to make new binding system. I suggest to add binding objects. ```C++ auto BufferBinding = new BufferBaseBinding(0, GL_SHADER_STORAGE_BUFFER); BufferBinding.setBuffer(SomeBufferObject); BufferBinding.apply(); // or Context.apply(); ``` After will possible...
OpenGL registry entries: * https://khronos.org/registry/OpenGL/extensions/EXT/EXT_external_objects.txt * https://khronos.org/registry/OpenGL/extensions/EXT/EXT_external_objects_fd.txt * https://khronos.org/registry/OpenGL/extensions/EXT/EXT_external_objects_win32.txt * https://khronos.org/registry/OpenGL/extensions/EXT/EXT_win32_keyed_mutex.txt
On the main page, the documentation talk about using `ref_ptr` for memory management, but none of the code does that. It's not clear what is the current memory model expectation...
When I'm trying to compile a project in Visual Studio 2017 I getting an warning "founded .netmodule MSIL or module, compiled with parameter /GL, restarting a linkage with parameter /LTCG"...
I've a shader whose source is a `File` (obtained via `Shader::sourceFromFile`). If I want to update it, I'm calling `File::reload`. This does not work. The sequence of operation that this...
I've finally updated my code to the current master. I've removed all `ref_ptr` in my code, and instead used `std::unique_ptr` and some custom `ScopedPointer` elsewhere or plain instance. However, when...
I suggest some semantics: 1. Uniform equal operator ``` uniform = glm::vec3(0.0f); //also updates shaders ``` 2. Attribute restrict types ``` vao.format(bindingID, /* may have additional settings */); ``` 3....
This code: ``` auto currentState = globjects::State::currentState(); [...] // No state related code here // Then change some state globjects::ref_ptr state = new globjects::State(globjects::State::ImmediateMode); // Apply immediately all changes state->pixelStore(gl::GL_UNPACK_ALIGNMENT,...