This is the prototype engine of my own.
Have fun exploring it, catch some nice snippets (or bugs) if that's your jam.
It's just an attempt to build a 3d engine, don't use this for production or anything like that.
This could be good for anyone who wants to get started.
I am adding more things to this repository bit by bit when I feel like they're good to go.
This is a toy project, nothing here is to be taken seriously.
link https://www.youtube.com/watch?v=rLb0LGupltw
✔ = Yes
🚧 = Yes but not provided in this repository
Rendering | Support status |
---|---|
Metal 3 | 🚧 |
OpenGL 4.1 | ✔ |
OpenGL ES 3.0 | 🚧 |
Vulkan | ✔ |
WebGpu | 🚧 |
Physics | Support status |
---|---|
Nvidia's PhysX 4.1 | ✔ |
Bullet Physics | 🚧 |
Platform | Support status |
---|---|
macOS | 🚧 |
Windows | ✔ |
Linux | 🚧 |
Emscripten | 🚧 |
Thanks for all maintainers of the following repositories
- assimp
- Bullet Physics
- catch2
- fmt
- glfw
- glm
- imgui
- ImGuizmo
- imgui-node-editor
- ImGuiColorTextEdit
- implot
- jinja2cpp
- nlohmann's json
- opencv
- Nvidia's PhysX
- sds
- stb
- tinygltf
- Use it in your browser without installing anything
- Use the Windows 10 pre-built binaries directly without compiling anything
- Download latest release
- Compile it from source
- See the build from source instructions below
⚠️ TAKES { TIME + DISK SPACE } (~ 70 GB) TO CLONE AND BUILD ⚠️
-
Download and install Visual Studio 19
C++ compiler with C++17 standard
-
Download and install CMake
-
Download and install the following and add them to user path
- Rust
- Python3
- Vulkan SDK
-
Clone and Build LLVM 12 from source inside
PrototypeCompiler/
directorycd PrototypeCompiler/ git clone --depth 1 --single-branch -b release/12.x https://github.com/llvm/llvm-project.git cd llvm-project mkdir build cd build cmake -DLLVM_ENABLE_PROJECTS=clang -Thost=x64 ../llvm cmake --build . --config Release
-
Clone all dependencies in
PrototypeDependencies/
directory -
Build all dependencies
cd PrototypeDependencies/ .\clean.cmd .\build.cmd
-
Build the prototype engine and application
mkdir build cmake -S . --preset=x64-Release cmake --build . --target PrototypeApplication --config Release
Copyright 2021 Omar Sherif Fathy
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.