Hello, Vulkan
Starting from zero is not the efficient path. It is also the one I keep choosing.
Most people reach for an existing engine. There are good reasons for this — they handle windowing, input, audio, asset pipelines, and the thousand other things that aren't the interesting part. But they also make decisions for you, and I wanted to understand those decisions by making them myself.
So: Vulkan, Rust, and a blank main.rs.
Why Vulkan
Vulkan is explicit. It does not try to guess what you mean. You allocate memory, you manage synchronization, you describe every render pass in detail. This is a lot of work, but it means the gap between what you write and what the GPU executes is narrow and visible.
For learning, explicit is better than magical.
Why Rust
Ownership makes GPU resource lifetimes tractable. Vulkan objects have strict rules about when they can be destroyed — Rust lets you express those rules in the type system rather than in comments and hope.
The compile times are not ideal. Everything else is.
What I'm building
A renderer, and eventually a game. The renderer comes first. I want to understand how light moves before I write the game that uses it.
This site will document the process. No promises on schedule.
fn main() {
println!("step one");
}