Low-level rendering framework in python
MIT License
Low level rendering framework using OpenGL python bindings. For feedback or questions, feel free to join my stream and community at https://www.twitch.tv/nojoule .
Coverage Report FileStmtsMissCoverMissingjoulegl/opengl_helper buffer.py166199%104 frame_buffer.py330100% screenshot.py29673%27–>29, 38–40, 58–61 texture.py46971%37–38, 46–47, 60–62, 65, 74 vertex_data_handler.py650100% joulegl/opengl_helper/base data_set.py410100% shader.py680100% shader_handler.py180100% shader_parser.py520100% joulegl/opengl_helper/compute shader.py360100% shader_handler.py150100% joulegl/opengl_helper/render shader.py250100% shader_handler.py210100% utility.py75883%126–131, 138, 143, 146, 154–155joulegl/processing processor.py90100% joulegl/rendering renderer.py340100% joulegl/utility app.py57297%85–86 camera.py1421490%141–155, 222–225 definitions.py140100% file.py720100% glcontext.py140100% log_handling.py150100% performance.py542159%13–38, 54–55, 62–66, 71–>75 singleton.py100100% window.py1738540%18, 23–26, 35, 39–41, 56, 105–106, 114–116, 119, 122–133, 136–142, 145–148, 151–158, 161–189, 203–209, 217, 230, 232, 236, 243, 249–252, 255–258, 266–>268 window_config.py150100% TOTAL129914686%
Install using pip:
pip install -r requirements.txt
Clone this repo and look in the demo folder for examples.
Showing compute shader applying noise to vertex positions with dynamic use of two different shader for basic triangles or more complex geometry shader.
python demo/balls/balls.py
Showcasing dynamic shader generation.
python demo/block/block.py