Skip to content

devodev/toy-engine

Repository files navigation

Toy Engine

sandbox1

Table of contents

Overview

This project is a playground for me to learn Graphics Programming, and in particular the Vulkan Graphics API.

We will be using Rust as the programming language and the following libraries:

Dependencies

Setup using MSVC on Windows

  1. Install rust: https://www.rust-lang.org/tools/install.
  2. Set the default Rust toolchain to msvc: rustup default nightly-x86_64-pc-windows-msvc.
    1. We are using nightly so that we can benefit from latest features.
  3. Use rustfmt nightly: cargo +nightly fmt.
  4. Install LunarG Vulkan SDK: https://www.lunarg.com/vulkan-sdk/

Development

Debug Graphics

https://renderdoc.org/

We can use RenderDoc, an open-source Graphics debugger, to obtain quick and easy single-frame capture and detailed introspection of ourt application.

  1. Open RenderDoc and select the Launch Application tab.
  2. Set Executable Path to toy_engine/target/debug/sandbox.exe.
  3. Click Launch. The Sandbox app should start, and a new sandbox [PID XXXXX] tab should appear.
  4. Update Tools attributes as needed, and then click Capture Frame(s) Immediately to capture frames.
  5. Enjoy all the debugging features that RenderDoc has to offer!

Benchmarks

Benchmarks powered by Criterion are available under benches.

Getting Started

https://crates.io/crates/cargo-criterion

Install Criterion by running the following command:

cargo install cargo-criterion

Run Benchmarks

To run all benchmarks, navigate to the root of the repo and run the following command:

cargo criterion

Or run a specific bench:

cargo criterion bench_quad_batcher_add_quad_100

About

Learning playground for the Vulkan Graphics API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published