- Fork this repository.
- Create a new branch with any of the following naming conventions:
- topic-something E.g.
topic-renderer. - feature-something E.g.
feature-my_new_cool_thingie. - fix-something E.g.
fix-broken_thing. - Feel free to reference to an issue. I.e.
fix-issue-123.
- topic-something E.g.
- Commit changes.
- Send pull request at Github.
- Use 4 spaces for indention.
- Put curly braces on their own line.
- Class and function names are written in PascalCase, e.g.
class Object. - Prefix template argument types with T and use PascalCase for the rest, e.g.
template<typename TMyArg>. - Prefix template argument values with V and use PascalCase for the rest, e.g.
template<size_t VMySize>. - Public class variables and local variables are written in camelCase, e.g.
int32_t localVar = 0;. - Private class variables are prefixed with "m_", followed with camelCase names, e.g.
float m_var;. - Do not use global variables, other than constants, i.e.
constexprorstatic const. - Put output reference arguments at the beginning of any function's argument list.
- Use fixed width integer types, e.g.
uint8_t,int32_t,uint32_t. - Document public members of classes.
Make sure to add new unit tests for new classes, functions or features. Unit tests are written using the googletest framework, which is available as a submodule.
This project is licensed under MIT license. Put license notice on top of all header and source files.