2 unstable releases
0.2.0 | Aug 5, 2024 |
---|---|
0.1.0 | Mar 19, 2024 |
#323 in Graphics APIs
145KB
3.5K
SLoC
Jandering engine
This is a simple rendering engine I made as both a learning project and hopefully something I can use for all my further graphics programming endeavors. I want the engine to be super bare bones, as to not limit me when I want to do something obscure, but still simple enough where it doesnt take more than a few lines of code to get a pleasing result.
I want to include things that may not necerssarily fall under a rendering engine such as object loading, ui, and various other utilities. They may be implemented as separate crates tho.
Things to check out
- instancing example -> example using lots of instances, feel free to increase the number to the millions :P
- ray marching example -> example ray marching following this tutorial
- wasm template -> template for creating wasm projects
- wgsltoy -> real time wgsl shader editor like Shader Toy
- dashy geometry(geometry dash clone) -> geometry dash with map editing and bloom
Syntax
This isnt the current syntax but I'd love to get it to this stage some day:
renderer.new_pass(shader).bind(bind_group_1).bind(bind_group_2).with_instances(instances).draw(object);
Checklist
- rendering a simple triangle
- instancing
- custom shaders
- custom cameras
- proper bind groups
- model loading
- UI
- PBR (deffered with forward transparency?)
- skybox
- wasm support (check out wasm branch)
- textures
License
Published under the MPL 2.0 license.
Dependencies
~166MB
~3M SLoC