Skip to content

abstraction layer the render with either qopengl or qtquick scene graph

License

Notifications You must be signed in to change notification settings

m0dB/rendergraph

Repository files navigation

NOTE: THIS IS NOW FURTHER DEVELOPED IN mixxxdj/mixxx#13599

rendergraph is an abstraction layer that can be compiled to be used with QtQuick scene graph classes
or with QOpenGL classes. The objective is to use the same Vulkan-style GLSL shader code for both.
The QSGMateriaShader uses the qsb files, QOpenGLShader uses the OpenGL shader code generated by qsb.

The classes use the same overal design as QtQuick scene graph, with Material, Geometry and Nodes.
The scenegraph implementation maps these rendergraph classes to their QSG... counterparts, the
OpenGL implementation mimics their implementation. Only a submit of all scene graph functionaly
is available, but will be enough to render with custom shaders.

The common code is in library rendergraph, src/rendergraph

The scene graph implementation is in library rendergraph_sg, src/scenegraph

The OpenGL implementation is in library rendergraph_gl, src/opengl

Example shader and nodes are in library rendergraph_examples, in src/examples. Note that this code is
agnostic of the layer that is will be linked against!

Example applications are in gl_example and sg_example, which each link with rendergraph_examples and respectively with rendergraph_gl and rendergraph_sg.

This is still very much work in progress!

Next step: add a shader that uses a texture.

About

abstraction layer the render with either qopengl or qtquick scene graph

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published