Syl3D is a basic 3D engine made using C++ and OpenGL 3.
Report Bug
·
Request Feature
Syl3D so far supports meshes, textures, terrain (procedural and using heightmaps), lighting, basic camera movement, mouse picking using ray intersections. There are a lot more things that could be added.
Syl3D uses Dear ImGui for the GUI. Objects can be selected and moved around using the GUI, new objects can be added through the GUI as well. Terrain generator, texture manager and many other gui windows are being developed.
Shown terrains were generated using WorldMachine and then loaded into Syl3D.
To get a local copy up and running follow these simple steps.
You need the following to build and run the project successfully.
-
Clone the repo
git clone https://github.com/Jedi18/Syl3D.git
-
Compile GLFW from the source code or use the pre-compiled binaries from https://www.glfw.org/download.html . Use this page for help.
-
Use GLAD's web service to get the desired files. Use this page for help.
-
Compile or use pre-compiled binaries for Assimp . Use this page for help.
-
Add the relevant files for GLFW, GLAD and Assimp to the project's include and linker dependencies in the project settings. Add the folder paths to the additional include directories under C/C++ and the lib files in Linker->Input.
-
Run the application!
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Akhil J Nair - Jedi18 - [email protected]
Project Link: https://github.com/Jedi18/Syl3D