A cross-platform engine that integrates a real-time physically based renderer and makes it easy to get started writing games or other graphical applications in C++!
The sibenik, sponza and buddha models shown are from the [McGuire Computer Graphics Archive](https://casual-effects.com/data/), any other models shown are created by me.
## Development
Prism is still a heavy work in progress, and stuff is expected to break. I don't work full time on Prism, so updates are expected to be erratic.
Submitting bug reports and showing stuff you made in Prism is always appreciated! However, if you're submitting a feature request, please look at the [Wiki](https://github.com/redstrate/prism/wiki), [Issues](https://github.com/redstrate/prism/issues) and [Projects](https://github.com/redstrate/prism/projects) first to see my current development plans.
If you're building content for Prism, there is a Blender addon in `addon/` that integrates a content pipeline for easy exporting without leaving Blender!
Using C++, you can easily build graphically powered applications that is expected to work consistently regardless of the platform used. There is a PBR renderer included in the repository, but anything can built on top of the GFX api and other platform abstractions.
If you're building a game, there is Input, UI and a basic Audio system available to use. There is also a lot of tools in `tools/` that allow you to curate content using the built-in Prism systems such as scenes, cutscenes and materials.
If you're building a tool, [ImGui](https://github.com/ocornut/imgui) is available to use and uses the docking branch. See `tools/` in the repository for examples, most of them is actually built on top of Prism.
There are instructions for Windows, Linux, and macOS targets in the [wiki](https://github.com/redstrate/prism/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.