joulegl

Low-level rendering framework in python

MIT License

Downloads
127
Stars
3

JouleGL

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 .

Test Coverage

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% 

Installation

Install using pip:

pip install -r requirements.txt

Usage

Clone this repo and look in the demo folder for examples.

Demo: Balls

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

Demo: Block

Showcasing dynamic shader generation.

python demo/block/block.py