Comments (5)
two things i might add:
- Although objects don't usually have id 0, it is still a valid binding value, for instance one can always call glBindVertexArray(0), which just "unbinds" any currently bound VAO.
- Speaking of VAOs, it would be good to have some "stable" interface for the state object, that would allow user to set bindings he likes, right now VAO bind functions are part of Mesh class, as if the user is not supposed to have his own VAOs apart from the Mesh class
If you implement the reset function, consider to allow to specify which parts of the state tracker need to be reset.
from magnum.
- Yes,
0
is valid binding value. I thought about using0xFFFFFFFFu
as disengaged binding value. As far as I know the drivers start with1
for object IDs and not from the other end of the range. - What do you mean, exactly? The Mesh and MeshView classes should provide everything needed for drawing (when I implement all the missing multi/indirect/instanced/transform feedback functionality).
Partial state reset is a very good idea, thank you.
from magnum.
in 2: you have then to be somewhat sure in that you cover all possible use cases, even rare ones.
from magnum.
Yep, that's the plan (supporting everything what's possible with core GL, except maybe for client-side data).
from magnum.
Done (for all currently tracked state) in 4e50aee, more will come when state tracking is implemented for Renderer and other classes.
from magnum.
Related Issues (20)
- Update vcpkg packages to include EmscriptenApplication on Emscripten HOT 2
- Failing to link Magnum::Math? HOT 3
- few compile warnings HOT 1
- How to point to a local installation of `corrade` without using the bootstrap project? HOT 3
- undefined symbol: flextGLInit HOT 4
- Image rendered in gray since 1847c72 HOT 18
- Emscripten 3.1.21+ crashes EmscriptenApplication: "AsciiToString is not defined" HOT 4
- How to build from source on MSYS2 MINGW64? HOT 1
- keyReleaseEvent not triggered after printscreen on OSX HOT 6
- Conversion from CubicHermite to Bezier is wrong
- Mixing with raw openGL calls and Context::current().resetState() HOT 3
- C Bindings HOT 5
- WebGPU backend HOT 2
- Parallel rendering with glb files HOT 5
- Conflict with near and far Macros When Including WinSock2.h After Matrix4.h HOT 2
- emsdk compile error: typedef redefinition with different types HOT 4
- Memory leak when destroying GL::Mesh HOT 3
- Linking in Emscripten >= 3.1.52 doesn't work HOT 4
- Some trouble with LineGL3D shader when camera is close HOT 1
- Segmentation fault with nullptr instruction in AbstractShaderProgram at Cross-Compile HOT 21
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from magnum.