diff --git a/content/_index.md b/content/_index.md index 4fd49f4..8bdccfe 100644 --- a/content/_index.md +++ b/content/_index.md @@ -328,11 +328,11 @@ a.p-community-icon {
Zero system dependencies to slow you down; only zig is needed, we build and package the few relevant dependencies on our own.
To run on your machine:
$ git clone https://github.com/hexops/mach-core
-$ cd mach-core/
-$ zig build run-textured-cube
+$ git clone https://github.com/hexops/mach
+$ cd mach/
+$ zig build run-core-textured-cube
- Requires this Zig nightly version | known issues
+ Requires this nominated Zig version | known issues
Dynamic lighting using deferred rendering techniques.
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-deferred-rendering
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-deferred-rendering
Physically based rendering (PBR) materials
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-pbr-basic
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-pbr-basic
Generates a brick texture at comptime, uses Blinn-Phong lighting, and several pipelines. Move camera with arrow keys / WASD.
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-gen-texture-light
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-gen-texture-light
Procedurally generated geometry, implements a few different shapes (use arrow keys to switch between them.)
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-procedural-primitives
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-procedural-primitives
A post-processing effect which pixelates the entire screen.
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-pixel-post-process
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-pixel-post-process
Loads a JSON file which describes a spritesheet, and renders sprites to the screen.
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-sprite2d
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-sprite2d
Cube-inception! Renders the scene to a texture, which is then rendered on the rotating cube itself as a texture!
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-fractal-cube
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-fractal-cube
Renders a cubemap / skybox. Nothing fancy, but these are instrumental as backgrounds in games.
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-cubemap
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-cubemap
Loads a PNG image and uploads the texture to the GPU. Renders it on a 3D cube.
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-textured-cube
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-textured-cube
Leverages a compute shader to blur an image, then renders it. Don't worry if the details are a bit fuzzy!
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-image-blur
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-image-blur
Uses a GPU compute shader to run calculations / simulate flocking behaviour of birds.
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-boids
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-boids
Once you've learned how to render one cube, two is just 30 lines of code more!
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-two-cubes
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-two-cubes
EVEN MORE CUBES! Instancing lets you duplicate an object & render it in multiple places with different parameters.
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-instanced-cube
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-instanced-cube
Uploads a basic 3D cube to the GPU and renders it. Demonstrates how to use vertex buffers to transfer a model from the CPU to GPU, how to use vertex attributes & more.
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-rotating-cube
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-rotating-cube
Remember that triangle from before? If we turn on MSAA (Multi-Sample Anti Aliasing) the edges will become smooooth.
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-triangle-msaa
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-triangle-msaa
This is where you should start learning. It tells the GPU to render 3 vertices (but doesn't transfer them using a vertex buffer or anything! The vertex positions are hard-coded in the shader.)
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-triangle
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-triangle
Some of the best examples have no graphics. This one shows how to transfer data to the GPU, perform computations on that data using the GPU's parallel processing capabilities, and get results back on the CPU. If you're interested in GPU compute, this is the place to start!
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-map-async
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-map-async
As simple as it gets: a blue screen of doom
-git clone https://github.com/hexops/mach-core
-cd mach-core/
-zig build run-clear-color
+git clone https://github.com/hexops/mach
+cd mach/
+zig build run-core-clear-color