Skip to content

lexfn/demos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

164 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

Graphics demos I made for playing around and learning. The code is (hopefully) clean and self-documented, most dependencies are included or downloaded automatically for easier building.

There are no complex abstractions aka "engine", however a small library of shared code is still used. The goal is to keep things easy to understand while taking away some of the boilerplate.

The demos have been tested on Windows. On macOS the OpenGL demos might still work, but have not been tested properly. Vulkan demos work only on Windows.

Check also https://github.com/0xc0dec/demo-rs - an alternative experiment in Rust.

Building and running

Windows

  • Install Microsoft Visual Studio, make sure the C++ compiler is included in the installation. The project was last tested with MSVS 2022.
  • Install Vulkan SDK. Make sure the VULKAN_SDK environment variable is set.
  • cd build.
  • cmake -A x64 ...
  • Build the ALL BUILD target in MSVS.
  • Run demos from the project root, e.g.: ./build/bin/<Debug|Release>/<executable>.

macOS

  • cd build.
  • cmake ...
  • make
  • Run demos from the project root, e.g.: ./build/bin/<executable>.

Controls

Some demos use first person camera. Use WASDQE keys to move around and hold right mouse button to rotate.

Demos

ImGui [VK/GL]

Basic ImGui integration example.

Image

Object transform hierarchies and (first person) camera via reusable Transform and Camera classes and a helper spectator function.

Image

Skybox [GL]

Skybox rendering on a single quad mesh using a bit of shader magic.

Image

TrueType font rendering using stb_truetype library.

Image

To be continued?...

Dependencies

  • stb_truetype
  • stb_image
  • SDL
  • GLEW
  • glm
  • ImGui
  • Vulkan
  • OpenGL

About

Simple OpenGL and Vulkan graphics demos in C++

Topics

Resources

Stars

Watchers

Forks

Contributors