From f50af9637e31595f49f21df3384224e40b5487fa Mon Sep 17 00:00:00 2001 From: TheCherno Date: Wed, 11 Sep 2019 19:26:17 +1000 Subject: [PATCH] Updated readme and added logo --- README.md | 29 +++++++++++++++++- .../Branding/Hazel_Logo_Text_Light_Square.png | Bin 0 -> 48755 bytes 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 Resources/Branding/Hazel_Logo_Text_Light_Square.png diff --git a/README.md b/README.md index 2ffd824ac..dafba01af 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,29 @@ # Hazel -Hazel Engine + +![Hazel](/Resources/Branding/Hazel_Logo_Text_Light_Square.png?raw=true "Hazel") + +Hazel is primarily an early-stage interactive application and rendering engine for Windows. Currently not much is implemented, however (almost) everything inside this repository is being created within YouTube videos, found at [thecherno.com/engine](https://thecherno.com/engine). + +## Getting Started +Visual Studio 2017 or 2019 is recommended, Hazel is officially untested on other development environments whilst we focus on a Windows build. + +You can clone the repository to a local destination using git: + +`git clone --recursive https://github.com/TheCherno/Hazel` + +Make sure that you do a `--recursive` clone to fetch all of the submodules! + +## The Plan +The plan for Hazel is two-fold: to create a powerful 3D engine, but also to serve as an education tool for teaching game engine design and architecture. Because of this the development inside this repository is rather slow, since everything has to be taught and implemented on-camera. There is a much more advanced version of the engine in a private repository called `Hazel-dev`, accessible to supporters on [Patreon](https://patreon.com/thecherno). The plan for this project is to mostly take already implemented code from the `Hazel-dev` repository and integrate it into this one, done within videos and supported by explanations. + +### Main features to come: +- Fast 2D rendering (UI, particles, sprites, etc.) +- High-fidelity Physically-Based 3D rendering (this will be expanded later, 2D to come first) +- Support for Mac, Linux, Android and iOS + - Native rendering API support (DirectX, Vulkan, Metal) +- Fully featured viewer and editor applications +- Fully scripted interaction and behavior +- Integrated 3rd party 2D and 3D physics engine +- Procedural terrain and world generation +- Artificial Intelligence +- Audio system \ No newline at end of file diff --git a/Resources/Branding/Hazel_Logo_Text_Light_Square.png b/Resources/Branding/Hazel_Logo_Text_Light_Square.png new file mode 100644 index 0000000000000000000000000000000000000000..1c99ed3b5b69b2b86f6071eb764003882c1d128b GIT binary patch literal 48755 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 AO8@`> literal 0 HcmV?d00001