|
1 |
| -_I would really love to write a nice proper CONTRIBUTING.md, so excuse me for what you are about to see._ |
| 1 | +# Contributing to Nabla Engine |
2 | 2 |
|
| 3 | +Thank you for your interest in contributing to the Nabla Engine! Nabla is a high-performance rendering framework that leverages Vulkan, OptiX, and CUDA. This document provides guidelines to help you contribute effectively. |
3 | 4 |
|
4 |
| -We would really love for you to tackle one of our burning issues, which you can view by clicking this link: |
| 5 | +## Table of Contents |
5 | 6 |
|
6 |
| -https://github.com/buildaworldnet/IrrlichtBAW/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc |
| 7 | +- [How Can I Contribute?](#how-can-i-contribute) |
| 8 | + - [Reporting Bugs](#reporting-bugs) |
| 9 | + - [Suggesting Enhancements](#suggesting-enhancements) |
| 10 | + - [Implementing Features](#implementing-features) |
| 11 | + - [Free Tasks to Take](#free-tasks-to-take) |
| 12 | +- [Pull Request Process](#pull-request-process) |
| 13 | +- [Connect with Other Project Contributors](#connect-with-other-project-contributors) |
| 14 | +- [License](#license) |
7 | 15 |
|
8 |
| -(sorted by the most recently updated) |
| 16 | +## How Can I Contribute? |
| 17 | + |
| 18 | +### Reporting Bugs |
| 19 | + |
| 20 | +If you find a bug, please report it by opening an issue [here](https://github.com/Devsh-Graphics-Programming/Nabla/issues). Include details such as: |
| 21 | + |
| 22 | +- A clear and descriptive title |
| 23 | +- Steps to reproduce the issue |
| 24 | +- Expected and actual results |
| 25 | +- Any relevant logs or screenshots |
| 26 | + |
| 27 | +### Suggesting Enhancements |
| 28 | + |
| 29 | +If you have ideas for enhancements, please submit them as issues [here](https://github.com/Devsh-Graphics-Programming/Nabla/issues). Describe: |
| 30 | + |
| 31 | +- The feature you would like to see |
| 32 | +- Why it would be beneficial |
| 33 | +- Any relevant examples or mockups |
| 34 | + |
| 35 | +### Implementing Features |
| 36 | + |
| 37 | +We welcome pull requests for new features! See the [Free Tasks to Take](#free-tasks-to-take) section for a list of ideas. When submitting a pull request: |
| 38 | + |
| 39 | +- Ensure your code compiles |
| 40 | +- Ensure it runs without issues at runtime |
| 41 | +- Update documentation as necessary |
| 42 | + |
| 43 | +### Free Tasks to Take, DO ANY - WE CAN HIRE YOU :) |
| 44 | + |
| 45 | +Below are some tasks that are open for contribution. If you start working on a task, please open an issue to let us know. *We can hire contributors if a pull request for the task is opened and merged by us*. Follow [Pull Request Process](#pull-request-process) if you decide to contribute. The list may get updated, new tasks may be added and already completed deleted, so before you start working on any please make sure it's still free. |
| 46 | + |
| 47 | +- Extend `nbl::system` to download textures and meshes over HTTP/URL |
| 48 | +- Mesh Shader Pipeline implementation and demo |
| 49 | +- Raytracing Pipeline implementation and demo |
| 50 | +- Perfect Hashing implementation |
| 51 | +- Compute Frustum Culling in HLSL with Nabla Chad Append |
| 52 | +- Merge Sort (Vulkan Compute) |
| 53 | +- Radix Sort (Vulkan Compute) |
| 54 | +- Bitonic Sort (Vulkan Compute) |
| 55 | +- Merge Path (Vulkan Compute) |
| 56 | +- [GPU flip fluid simulation task idea](https://www.youtube.com/watch?v=okQzAJM7LcE) -> discord [thread](https://discord.com/channels/318590007881236480/374061825454768129/1257988553112027186) for more info |
| 57 | +- [Exact Distance Transform on a GPU](https://docs.google.com/document/d/1iUF0ilFbWVWr5JfPtR8D8z7OdmbhUJXK-eoR_7u4-50/edit) |
| 58 | +- [Light Scattering Effects Using Epipolar Sampling and 1D Min/Max Binary Trees](https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2013/slides/822368Yusov_Egor_Practical_Implementation_of_Light.pdf) |
| 59 | +- [Cone Map Generation](https://github.com/Bundas102/falcor-conemap/) |
| 60 | + |
| 61 | + **[Issues](https://github.com/Devsh-Graphics-Programming/Nabla/issues) also count as free tasks.** We also have old issues from previous generation **[here](https://github.com/buildaworldnet/IrrlichtBAW/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc)**. |
| 62 | + |
| 63 | +If you have questions about the list, you can ask directly on our [Discord server](https://discord.gg/SsJzqS23) or open an issue [here](https://github.com/Devsh-Graphics-Programming/Nabla/issues). |
| 64 | + |
| 65 | +## Pull Request Process |
9 | 66 |
|
10 |
| -In order to contribute: |
11 | 67 | 1. **Do not** open pull requests which "fix" code formatting, the use of `NULL`, C-style casts, C++11, exceptions, or directory structure. This is a "DO NOT WANT"(TM) ESPECIALLY for your first pull requests. If your need to do this is so burning, then provide us with a pull request containing a script to do this instead.
|
12 |
| -2. Split your larger contributions into as many separate independent features as practical. |
13 |
| -3. Fork from the master branch or the last stable tag (with exceptions for some features) |
14 |
| -4. Develop your contribution in your fork or a separate branch. |
15 |
| -5. Comment your code, even just a tiny bit. |
16 |
| -6. Supply an example which also serves as a test to the examples_test folder so that we can see how to use your contribution and that it works. |
17 |
| -7. Open a pull request with just the code relevant to that one feature. |
18 |
| -8. Engage in discussion in the pull request and polish your submission while taking some really minor and mild constructive criticism |
19 |
| -9. Get your pull request merged |
20 |
| -10. If in doubt, look at point 1 |
21 |
| - |
22 |
| -Happy coding! |
| 68 | +2. Ensure you follow our [Implementing Features](#implementing-features) standards. |
| 69 | +3. Split your larger contributions into as many separate independent features as practical. |
| 70 | +4. Fork from the `master` branch or the last stable tag (with exceptions for some features). |
| 71 | +5. Develop your contribution in your fork or a separate branch. |
| 72 | +6. Comment your code, even just a tiny bit. |
| 73 | +7. Supply an example which also serves as a test to the `examples_test` folder so that we can see how to use your contribution and that it works. |
| 74 | +8. Open a pull request with just the code relevant to that one feature. |
| 75 | +9. Engage in discussion in the pull request and polish your submission while taking some really minor and mild constructive criticism. |
| 76 | +10. Get your pull request merged. |
| 77 | +11. If in doubt, look at point 1. |
| 78 | + |
| 79 | +## Connect with Other Project Contributors |
| 80 | + |
| 81 | +Join our [Discord server](https://discord.gg/SsJzqS23) to connect with other contributors. It's the first place to go for questions and discussions about the project. |
| 82 | + |
| 83 | +## License |
| 84 | + |
| 85 | +By contributing, you agree that your contributions will be licensed under the [Apache 2.0 License](LICENSE). |
0 commit comments