+
Skip to content

tcoppex/aer

Repository files navigation

language: c++20 api: vulkan1.3 api: openxr1.1 api: android32 License: MIT

aer

A real-time 3d rendering framework, inspired by WebGPU and vk_minimal_latest.

Runs on GNU/Linux, Windows 11 and Android 12L (Meta Quest 3). See BUILD.md for detailed build instructions.

Quick start & run!
# [Optional] Retrieve system build dependencies with Synaptic.
# sudo apt install git git-lfs build-essential cmake vulkan-sdk

# [Optionnal] Specify the ANDROID_SDK path to create Android targets.
# export ANDROID_SDK=~/Android/Sdk

# Clone the repository.
git clone https://github.com/tcoppex/aer
cd aer

# Build.
cmake . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release

# Run the first sample.
./bin/00_hello

# [Optionnal] Build & Run an Android sample on a connected device.
# cmake --build build --target run_aloha

Samples

  • 00_hello: Display a surface and clear its color (Device, Swapchain, dynamic rendering).
  • 01_triangle: Display a simple triangle (Shader, Graphics Pipeline, Vertex Buffer, Commands).
  • 02_push_constant: Update per-frame values via push constants and dynamic states (Push Constant).
  • 03_descriptor_set: Initialize & update a descriptor set on a single uniform buffer (Descriptor Set).
  • 04_texturing: Display a textured cube with a linear sampler (Image, Sampler).
  • 05_stencil_op: Stencil operations and instancing through a multi-passes portal effect (Stencil, instancing).
  • 06_blend_op: Fast & simple billboarded GPU particles with additive blending (Blending).
  • 07_compute: Waves simulation with sorted alpha-blended particles (Compute Pipeline, Buffer Barriers).
  • 08_hdr_envmap: Compute Image-Based Lighting from a HDR environment map (Texture Barriers).
  • 09_post_process: Screen-space contour effect via a post-processing pipeline (Render Target, Blit).
  • 10_material: Showcase the internal PBR material system with scene graph ordering (Pipeline Cache, Specialization Constants).
  • 11_raytracing: Simple path tracer on a Cornell box via hardware-accelerated ray tracing (Acceleration Structure, Ray Tracing Pipeline, Buffer Device Address).

Acknowledgement

This project was inspired by the expressiveness of WebGPU and the work of NVIDIA DesignWorks Samples, in particular the vk_minimal_latest project.

License

This project is released under the MIT License.

🍃

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载