Crates.io | cube3d |
lib.rs | cube3d |
version | 0.5.5 |
source | src |
created_at | 2024-08-31 03:12:05.638892 |
updated_at | 2024-10-21 22:57:51.794292 |
description | A GUI-based 3D cube rotation demo |
homepage | |
repository | https://github.com/drewwalton19216801/cube3d |
max_upload_size | |
id | 1358539 |
size | 78,528 |
A 3D cube renderer with per-pixel lighting using Rust and the Druid GUI framework.
cube3d
is a Rust application that renders a rotating 3D cube with per-pixel lighting for accurate shading effects. It demonstrates fundamental 3D graphics concepts such as transformation matrices, rasterization, depth buffering, and lighting calculations without relying on a dedicated graphics library like OpenGL or Vulkan.
Clone the repository and navigate to the project directory:
git clone https://github.com/drewwalton19216801/cube3d.git
cd cube3d
Build the project using Cargo:
cargo build --release
This will compile the project in release mode for optimal performance.
Run the application with Cargo:
cargo run --release
To enable debug mode and display additional information, press the d
key during program operation.
To pause/resume the program, press the p
key during program operation.
To reset the cube's position and zoom level to their defaults, press the r
key during program operation.
To quit the program, press the q
key during program operation.
The project uses the following crates:
druid
: A data-first Rust-native UI design toolkit.These dependencies are specified in Cargo.toml
and will be automatically fetched when you build the project.
Contributions are welcome! Feel free to submit a pull request or open an issue for suggestions and improvements.
This project is licensed under the MIT License. See the License file for details.