A homebrew 3D game engine, written in C++. Scalable multithreading, modular, data-driven, Lua scripting, deferred rendering, multithreaded observer messaging, PBR, CSM, SSAO, HBAO, FXAA, POM, ECS, and many more features.
www.pauldev.org/project-praxis3d.html
#engine #gamedev #cpp #c++ #game-engine #opengl #3d
|
|
9 kuukautta sitten | |
|---|---|---|
| .vs | 4 vuotta sitten | |
| Builds | 9 kuukautta sitten | |
| Dependencies | 9 kuukautta sitten | |
| Praxis3D | 9 kuukautta sitten | |
| .gitignore | 9 kuukautta sitten | |
| LICENSE.md | 1 vuosi sitten | |
| Praxis3D.sln | 4 vuotta sitten | |
| Praxis3D_icon.ico | 9 kuukautta sitten | |
| README.md | 1 vuosi sitten |
A work-in-progress 3D game engine. Its purpose is to serve as a testbed for new ideas and implementations. My aim is to improve my skills and learn everything I can by exposing myself to every part of a game engine. I have been working on it during my free time for quite a while, motivated only by my passion for programming and problem-solving.
Written in C++/20, using OpenGL graphics API. Shaders are coded in GLSL and gameplay scripts in LUA. Scene files are saved in a modified JSON format.
More information and media can be found at the project page.
Project is self-contained - all dependencies are included (with the exception of FMOD, as its license prohibits redistribution) and all settings within the Visual Studio project files are configured for an out of the box compilation in Visual Studio 2022. Windows OS and Visual Studio IDE only.
If you want to try out running the engine, but don't want to build it yourself, the compiled binaries of some of the versions are going to be uploaded as releases. They will contain all the required DLLs and minimal assets to run a demo map.
Libraries used in this project:
Fonts:
Their individual licenses can be found in LICENSE.md file.
The software is licensed under the MIT License:
Copyright © 2023 Paulius Akulavicius
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Ways to reach me can be found at my website.