Thank you for considering contributing to this project! This document provides guidelines for contributing.
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.
Before creating a bug report, check the issue list to avoid duplicates.
When filing a bug report, include:
- Clear, descriptive title
- Exact steps to reproduce
- Specific examples
- Current behavior vs. expected behavior
- Environment (OS, compiler, OpenGL version)
- Relevant code or screenshots
Enhancement suggestions are tracked as GitHub issues.
Before creating an enhancement suggestion, check:
- If it's already been suggested
- If it aligns with project scope
Enhancement suggestions should include:
- Clear, descriptive title
- Detailed description of proposed enhancement
- Current behavior vs. desired behavior
- Implementation approach (if applicable)
Process:
- Fork the repository
- Create a branch (
git checkout -b feature/descriptive-name) - Make your changes with clear, documented code
- Test thoroughly
- Commit with clear messages
- Push to your fork
- Submit a pull request
PR Requirements:
- Clear description of changes
- Reference related issues
- Updated documentation if needed
- Code comments for complex logic
- Consistent formatting with existing code
# Clone your fork
git clone https://github.com/YOUR_USERNAME/Computer_Graphics.git
cd Computer_Graphics
# Create a development branch
git checkout -b develop
# Make your changes
# Test locally
# Commit and push- Language: C++11/14 standard
- Style: Follow existing code patterns
- Comments: Write clear, meaningful comments
- Naming: Use descriptive variable/function names
- Functions: Keep functions focused and modular
- Test your code locally before submitting
- Ensure existing programs still compile and run
- Add test cases for new features
- Update README if adding new algorithms
- Document algorithm complexity and approach
- Add inline comments for complex logic
- Include usage examples
Use clear, descriptive commit messages:
fix(bresenham): correct circle rendering at edges
feat(clipping): add Cohen-Sutherland line clipping
docs(readme): add algorithm explanation section
refactor(dda): optimize floating point calculations
- At least one maintainer review required
- Feedback will be provided constructively
- Changes may be requested before merging
- All tests must pass
Contributors will be recognized in the project documentation.
Thank you for contributing!