{"repo":"markusmoenig/Rusterix","free":true,"listed":false,"github":"https://github.com/markusmoenig/Rusterix","clone":"git clone https://github.com/markusmoenig/Rusterix.git","description":"Rusterix is a fast software renderer and a retro game engine with support for procedural content.","language":"Rust","stars":16,"topics":["2d-graphics","3d-graphics","game-engine","software-rendering"],"license":"Apache-2.0","category":"game-templates","readme_excerpt":"Rusterix is a fast software renderer and a retro game engine with support for procedural content. --- How it works Rusterix uses a multi-threaded, tile-based renderer and organizes 2D and 3D meshes into batches. It precomputes the bounding boxes and triangle edges for each batch during projection. The main goal is to achieve a single rendering pass to maximize parallelization. The batching system makes this possible while also enabling grouping and optimizations for individual objects and content. Because of these optimizations, Rusterix is not a general-purpose abstraction of a hardware rendering pipeline (for that, consider using the excellent euc). Instead, it features a custom pipeline specifically optimized for software rendering and operates within a fixed color space. Rendering a rectangle and a 3D cube is as easy as: Rusterix as a Game Engine (WiP) Rusterix has built in procedural map generation and entity management. The map for the above screenshot was built with the following script in the minigame folder. The game engine is not yet fully functional and is under development. Documentation for Rusterix will be provided soon at Rusterix.com. Goals and Status Once finished, you will be able to use Rusterix in several different ways: As a library to rasterize 2D and 3D meshes, WIP. See the Cube and Obj examples. As a retro game engine with text driven content, like Doom style map generation using Python based scripts. My goals for both of these use cases: Fast software","default_branch":null,"files":null,"tree":[],"storefront":"/r/markusmoenig","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/markusmoenig/Rusterix/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}