-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[WIP] New renderer #287
[WIP] New renderer #287
Conversation
can I request a |
Maybe we should move all program logic (including the main loop) outside Thread #0 (the thread that owns the OpenGL context and provides input), and have all other threads make synchronous calls into Thread #0? |
My plan was to create a queue structure for all tasks to be rendered. Things to be drawn (textures, texts, geometries, whatever) would be added/registered to a queue and the renderer, when it's ready for the next call, fetches all those instructions, reorders them and then renders them to the framebuffer. The registering/adding can be done from any thread, the renderer will either fetch the instructions itself or the instructions are converted/processed upon enqueuing, i haven't decided on that yet. Basically all other subsystems will get backend-independent handles for all the render calls, so opengl or vulcan or maybe html5 someday can do the actual rendering then. |
e1b912a
to
9f214c7
Compare
ad93ccc
to
5fce7a9
Compare
The thread-independent texture ( |
also beautified header and purged namespace redundancy.
Continued in #850 :) |
This is basically a totally new graphics engine, designed for our needs.
constexpr
key-value mapimplements #34, #286 and ideas from #153
closes #264 (file watching subsystem).
will do #149 (terrain blending in shader), #158 / #154 (blending cache), #141 (terrain perspective adjustments), #359 (outlines), #368 (unit selection box), #374 (texture clipping incorrect).
If you wanna work on this as well, submit pull requests to my branch please!