| Crates.io | map_renderer |
| lib.rs | map_renderer |
| version | 0.1.0 |
| created_at | 2025-10-19 13:23:35.659586+00 |
| updated_at | 2025-10-19 13:23:35.659586+00 |
| description | A very barebones Isometric renderer for raylib. |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1890416 |
| size | 19,510 |
The map_renderer crate provides a Data Driven method to rendering isometric tiles and entities using raylib_rs.
cargo add simple_iso_renderer
The crate works using five different structs:
assets/blocks.json) that contains the definitions and descriptions of all the blocks in the world.get and get_texture to use.name, texture_path, collider, walkable, and shaderx, y, and z coordinatesMap::new(settings: BlockSettings, registry_path: String) to create.load_blocks(&mut self, path: &str) to load a json file of the map.y_sort(&mut self) to Y-sort.cargo run --example full
Json files must be formatted as follows: File for Block Definitions
{
"blocks": [
{
"name": "grass",
"texture_path": "assets/blocks/grass.png",
"walkable": true,
"collider": true
},
{
"name": "dirt",
"texture_path": "assets/blocks/dirt.png",
"walkable": true,
"collider": true
},
{
"name": "stone",
"texture_path": "assets/blocks/stone.png",
"walkable": false,
"collider": false
}
]
}
File for Map Layout
[
{ "name": "grass", "x": 0, "y": 0, "z": 0 },
{ "name": "dirt", "x": 1, "y": 0, "z": 0 },
{ "name": "stone", "x": 2, "y": 0, "z": 0 }
]