Archived
1
Fork 0
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.
prism/README.md

39 lines
2.7 KiB
Markdown
Raw Normal View History

2020-08-11 12:07:21 -04:00
# Prism
2021-02-08 20:25:29 -05:00
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++!
2020-08-11 12:07:21 -04:00
2021-02-04 10:06:57 -05:00
Here are a couple of screenshots that provide a sense of the graphical capabilities of Prism:
2020-08-11 12:07:21 -04:00
2020-08-11 12:41:19 -04:00
![pcss](https://github.com/redstrate/prism/blob/master/misc/pcss.png?raw=true)
![sponza](https://github.com/redstrate/prism/blob/master/misc/sponza.png?raw=true)
![buddha](https://github.com/redstrate/prism/blob/master/misc/buddha.png?raw=true)
![custom models](https://github.com/redstrate/prism/blob/master/misc/custom%20models.png?raw=true)
These are screenshots taken on macOS, using the old _Metal_ backend.
2021-02-04 10:06:57 -05:00
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!
2020-08-11 12:41:19 -04:00
2020-08-11 12:07:21 -04:00
## Features
2021-02-04 10:06:57 -05:00
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.
2020-08-11 12:07:21 -04:00
2021-02-04 10:06:57 -05:00
You can view a more comprehensive list of features [here](https://github.com/redstrate/prism/wiki/List-of-Features).
2020-08-11 12:07:21 -04:00
## Usage
### Requirements
* CMake
2021-02-04 10:06:57 -05:00
* C++ compiler that _fully_ supports C++17
* (2019) MSVC, Clang, and GCC have been tested
2020-08-11 12:07:21 -04:00
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.