Skip to content

OpenGL project using Rust implementing GPU accelerated particles using the Compute and Geometry shaders (school project)

License

Notifications You must be signed in to change notification settings

thetos7/pogla_project_rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

POGLA project

Authors: Ancelin BOUCHET & Thibault AMBROSINO

Particles (round 2!)

This project implements a particle engine using OpenGL's compute and geometry shaders.

Building

This project require that you have the sdl2 development libraries installed, if not you can either:

  • Install them, ubuntu example:
    sudo apt install libsdl2-dev
  • Change project to use the bundled feature, for that modify the Cargo.toml file from
    sdl2 = "versionString"
    to
    sdl2 = { version = "versionString", features = ["bundled"]}

For mor info, check the rust sdl2 crate's readme at https://github.com/Rust-SDL2/rust-sdl2.

To build the program, use the cargo build command, the build result will be situated in the target/debug directory. To build on release mode (added optimisation flags), use the --release flag, build results will be in target/release

cargo build # -> target/debug
cargo build --release # -> target/release

To run the program, you can use cargo run (similarly with the --release flag for release mode). To pass CLI arguments to the program, you need to use -- before the program's arguments.

cargo run # runs in debug mode
cargo run --release # runs in release mode
cargo run -- --arg # passes --arg to the program

Each execution of either cargo build or cargo run will download and build dependencies if needed.

Once you are done, run cargo clean to cleanup.

CLI

You can access the CLI's help by passing the -h or --help argument.

You can set the logging level during execution by setting the LOG_LEVEL environment variable to one of trace, debug, info, warn, error, or off (all case insensitive). More detailed explanations at https://docs.rs/env_logger/latest/env_logger/.

Controls

  • Mouse movements: Look around
  • Z Q S D: Horizontal movement
  • Space: Move up
  • Left Shift: Move down
  • Tab: Toggle cursor capture
  • Left click on window: Enable cursor capture
  • Escape: Close application
  • B: Toggle broken capture fix
  • L: Log debug info

About

OpenGL project using Rust implementing GPU accelerated particles using the Compute and Geometry shaders (school project)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published