Archived
1
Fork 0
3D game engine focusing on real-time graphics
This repository has been archived on 2025-04-12. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Joshua Goins 94b83f4996 Remove duplicate std::filesystem::path hash function
Recent c++ std implementations now provide this (like they should've
from the beginning...)
2022-05-21 16:27:07 -04:00
.github/workflows Final attempt to appease MSVC 2022-03-07 09:49:31 -05:00
addon Add initial files 2020-08-11 12:07:21 -04:00
cmake Remove some unnecessary cmake logging 2022-04-07 11:16:15 -04:00
engine Remove duplicate std::filesystem::path hash function 2022-05-21 16:27:07 -04:00
example Revert "Next big changes to make WebGPU work" 2022-03-10 10:20:50 -05:00
extern Give up and pull glslang from master 2022-04-04 07:58:35 -04:00
misc Update PCSS and Sponza screenshots 2020-08-19 22:33:35 -04:00
platforms Don't use a dummy vulkan window when initializing SDL backend 2022-04-04 09:36:11 -04:00
tools Goodbye, WebGPU 2022-03-10 10:26:59 -05:00
.clang-format Add a .clang-format 2022-02-20 23:28:06 -05:00
.gitignore Add KDE directory files to gitignore 2022-03-06 19:17:56 -05:00
CMakeLists.txt Goodbye, WebGPU 2022-03-10 10:26:59 -05:00
LICENSE Update license year 2022-02-28 21:31:14 -05:00
README.md Add mirror links 2022-03-22 10:13:25 -04:00

Prism

sourcehut GitHub
mirror ryne.moe
mirror

A cross-platform engine providing real-time physically based rendering. This is the culmination of several years of my own graphics programming work :-)

Here is a selection of screenshots that provides a good sense of the graphical capabilities of Prism:

pcss sponza

buddha custom models

The sibenik, sponza and buddha models shown are from the McGuire Computer Graphics Archive, any other models shown are created by me.

Features

You can view a more comprehensive list of features here.

Building

There are instructions for Windows, Linux, and macOS targets in the wiki.

There is an example app provided in example/. If you want to build the tooling or the example, use the CMake options BUILD_EXAMPLE and BUILD_TOOLS respectively.

Usage

The ideal way to use it is by letting prism take over your main() and implementing an app_main() instead, (and using add_platform_executable in CMake) but I'm working on letting developers use the engine as a regular library too.