Archived
1
Fork 0

Update README to add missing features

This commit is contained in:
redstrate 2020-09-22 22:16:45 -04:00
parent f10b5fd62b
commit df0d5d1ad4

View file

@ -18,38 +18,43 @@ Here is a list of some of the notable features of Prism:
* Cross platform graphics API is used for rendering * Cross platform graphics API is used for rendering
* Vulkan and Metal backends available * Vulkan and Metal backends available
* Shaders are written in GLSL, and compiled to SPIR-V or MSL offline and at runtime using SPIRV-Cross. * Shaders are written in GLSL, and compiled to SPIR-V or MSL offline and at runtime using SPIRV-Cross and glslang.
* Windowing and System abstraction * Windowing and System abstraction
* main() and other platform-specific tidbits are abstracted as well, for easy support on non-desktop platforms. * main() and other platform-specific tidbits are abstracted as well, for easy support on non-desktop platforms.
* HiDPI is also supported! * HiDPI is also supported!
* If available, support for multiple windows as well. * If available on the platform, multiple windows are supported as well.
* Support for querying whether or not the platform is in light/dark mode (where supported). Currently, this only switches between the light/dark dear imgui themes.
* Dear ImGui used for debug/editor UIs * Dear ImGui used for debug/editor UIs
* Includes the new docking/viewport branch! * Uses the new docking/viewport branch!
* Automatic DPI scaling on fonts for crisp rendering when the window is in a HiDPI environment. * Automatic DPI scaling on fonts for crisp rendering when the window is in a HiDPI environment.
* Custom backend built on top the GFX api and other platform agnostic systems. * Custom backend built on top the GFX api and other platform agnostic systems.
* Plenty of custom widgets available for easy debug tooling, see [imgui_stdlib.h](https://github.com/redstrate/prism/blob/master/extern/imgui/include/imgui_stdlib.h) and [imgui_utility.hpp](https://github.com/redstrate/prism/blob/master/engine/core/include/imgui_utility.hpp)! * Plenty of custom widgets available for easily creating debug tools, see [imgui_stdlib.h](https://github.com/redstrate/prism/blob/master/extern/imgui/include/imgui_stdlib.h) and [imgui_utility.hpp](https://github.com/redstrate/prism/blob/master/engine/core/include/imgui_utility.hpp)!
* Entity-Component system for scene authoring * Entity-Component system for scene authoring
* No runtime polymorphism is involved and leverages the native C++ type system. [Components are simple structs](https://github.com/redstrate/prism/blob/master/engine/core/include/components.hpp). * No runtime polymorphism is involved and leverages the native C++ type system. [Components are kept as simple structs](https://github.com/redstrate/prism/blob/master/engine/core/include/components.hpp).
* Asset management * Asset management
* Custom model pipeline allowing for blazingly fast model loading and authoring. * Custom model pipeline allowing for super fast model loading and easy authoring.
* Includes a custom blender addon for easy export! * Includes a custom blender addon for easy export!
* Assets are referenced from disk, and only loaded once - unloaded once they are no longer referenced. * Assets are referenced from disk, and only loaded once - unloaded once they are no longer referenced.
* Thumbnails are created by the editor and stored on disk until further use. * Thumbnails are created by the editor and stored on disk until further use.
* Custom UI system for easy authoring * Custom UI system for easy authoring
* UIs are declared in JSON, and there is a graphical editor available as well. * UIs are declared in JSON, and there is a graphical editor available as well.
* They can even be placed in the world with the UI component! * They can even be placed in the world with a UI component!
* Custom math library * Custom math library
* Quaternions, matrices, vectors, rays, and more are available! * Quaternions, matrices, vectors, rays, and more are available!
* Infinite perspective matrices are created by default. * Infinite perspective matrices are also available and used by default.
* Advanced rendering techniques * Advanced rendering techniques
* Rendering is consistent regardless of platform or API used! * Rendering is consistent regardless of platform or API used!
* Where older or underperforming GPUs are supported (for example, an Apple TV 4K, or a Thinkpad X230), the engine supports disabling expensive features like IBL or point light shadows along with other scalability options. * Where older or underperforming GPUs are supported (for example, an Apple TV 4K, or a Thinkpad X230), the engine supports disabling expensive features like IBL or point light shadows and has other scalability options.
* Real-time physically based rendering including scene probes used for image-based lighting. * Real-time physically based rendering including using scene probes for image-based lighting.
* Material node editor for easy and fast material authoring. * Node-based material editor for easy authoring within the engine.
* Skinned mesh support with animation. * Skinned mesh support with animation.
* PCSS for soft shadows, supported on every type of light. * PCSS for soft shadows, supported on every type of light.
* Experimental depth of field, which looks better than a cheap gaussian blur by rendering seperate near/far fields.
* Experimental dynamic resolution.
* Automatic eye adapation using compute kernels.
* Editors supporting scene, cutscene, material authoring * Editors supporting scene, cutscene, material authoring
* Multidocument workflow similar to UE4. * Multidocument workflow similar to UE4.
* Undo/redo system.
* Transform handles for easy object manipulation. * Transform handles for easy object manipulation.
## Usage ## Usage