So you want to contribute to this project ? That's great ! But we have to get the boring stuff done first.
If want to write an issue we have got some recommendations on how to write a pull request so we can make a fix:
- Tell us about what happened.
- Tell us a little bit about your environment so we can replicate the bug (OS, Build, IDE etc.)
- In the end you should tell us what you expected what should happen
- Then we are going to help you out as best as we can !
Tell us about your suggestion. Dont shy away from the technical details.
Before you send us Pull Request be sure that it meets following requriments:
-
Is your Pull request tested (doesn't have bugs) ?
-
Does the Project build properly ?
-
Is your Pull request able on run on different platforms and devices ?
-
Does it change the coding style of the API or function names call orders etc. ? -> If so tell us about it and we will change it in the wiki
-
You should also tell us, if you change something like dependencies or core structures
-
Be sure to document your changes and tell what you have changed exactly
-
Your Pull request should only be for a specific segment (Graphics, GUI, Window, Util...)
-
Please make sure that you make your pull request for the community branch
It's important to keep the code in a consistent style so we came up with some requriments here.
- Every call that is avaiable to the user should be callable from the zap namespace. Please be sure to use no other namespaces on top of it so the user doesn't have to call a endless list of namespaces.
- If you include new headers be sure to include them in the segments binding header
- Be always sure to use relative paths when including other headers.
- External dependencies like libraries should be included with <>
- Use include guards in your headers
- Every callable function for users of this software should be in capital letters. ex.: void MyFunction()
- If possible try to avoid using global variables (exept for API states)
- This library focuses on controllability, customizability and performance. Please consider these goals when you design your classes.. etc.
(You don't need to be a contributor to make a pull request)
If you want to be a contributor you should meet following requirements:
- You must have a good understanding of the C++ programming language and OOP
- You need to know OpenGL and it's fundamental concepts
- You need to have a consinstent motivation to contribute to this project
- You should be able to adapt to new challenges and learn new frameworks
- You'll need a discord account.
We will check if this is true. So be sure to prove that you are capable of doing this with a project or something.
Step 1 - Contact us on our discord server and tell us that you want to become a contributor.
Step 2 - We will then assign you a new role name applicant. So you can enter the applicant chat. There we'll just look at your example project. (Don't worry it won't be like a job interview :) )
Step 3 - We will tell you if you're a contributor then. If you're not you can stay applicant and try again later on.