Building a custom engine for games
https://barink.dev
nigel
d9f0f40ad9
* Added vert-count and draw call count * extracted performance function to seperate header as inline functions |
||
---|---|---|
.vscode | ||
BarinkEngine | ||
libs | ||
SandboxApplication | ||
Screenshots | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
premake5.lua | ||
README.md | ||
TODO.md |
BarinkEngine
,---,. ,-. ,---,.
,' .' \ ,--, ,--/ /| ,' .' | ,--,
,---.' .' | __ ,-,--.'| ,---,,--. :/ |,---.' | ,---, ,--.'| ,---,
| | |: | ,' ,'/ /| |, ,-+-. / : : ' / | | .' ,-+-. / | ,----._,| |, ,-+-. / |
: : : / ,--.--. ' | |' `--'_ ,--.'|' | ' / : : |-,,--.'|' |/ / ' `--'_ ,--.'|' | ,---.
: | ; / \| | ,,' ,'| | | ,"' ' | : : | ;/| | ,"' | : ,' ,'| | | ,"' | / \
| : .--. .-. ' : / ' | | | | / | | | \ | : .| | / | | | .\ ' | | | | / | |/ / |
| | . |\__\/: . | | ' | | : | | | | ' : |. \| | |-| | | | . ; '; | | : | | | | . ' / |
' : '; |," .--.; ; : | ' : |__| | | |/| | ' \ ' : ;/| | | |/' . . ' : |__| | | |/' ; /|
| | | ;/ / ,. | , ; | | '.'| | |--' ' : |--'| | | | |--' `---`-'| | | '.'| | |--' ' | / |
| : /; : .' ---' ; : | |/ ; |,' | : .| |/ .'__/\_: ; : | |/ | : |
| | ,' | , .-./ | , /'---' '--' | | ,' '---' | : | , /'---' \ \ /
`----' `--`---' ---`-' `----' \ \ / ---`-' `----'
`--`-'
Features
NOTE Not in any particular order
-
Rendering
- OpenGL
- Vulkan
-
Logging
- Different for debug and release
- Different per OS
-
Physics
- PhysX
- Alternative for non-nvidia stuff?!
-
Basic Entity Component system
-
Graphical scripting ??
-
Scripting support ( idk what language)
- LUA
-
Configuration options
- JSON
- LUA
- others ?!?!?
Screenshots
Planning
see TODO
NOTE:
The planning is moving away from markdown in favor of gitea Projects. New planning will be visible on this page.
Requirements
Software
- Premake
- Git
- C++ Compiler
Windows development workflow
User premake to generate project files for the approperiate build method. On Windows I assume you'll build with visual studio
User:~$ premake vs2022
Linux development workflow
Use premake to generate project files for the approperiate build method. On Linux I assume you'll build with something like make.
User@Machine:~$ premake gmake2