Breathtaking Star Connections, No GUI Required.
Table of Contents
StarNodeAnimator is an open-source software project that uses OpenGL through Pygame to generate visually engaging star animations. Its core functionalities include creating random stars with adjustable size and node generation chances, rendering them into frames, merging the frames into an MP4 video, and offering both GUI and command-line interfaces for users convenience. By providing features like user-defined screen dimensions, colors, and a Star class for generating and connecting star nodes, this project offers an immersive and versatile solution for creating captivating star animation videos.
Feature | Description | |
---|---|---|
📄 | Documentation | Each module has a brief description, while functions and classes are documented. The README file contains instructions for installation, and usage |
⚡️ | Performance | Optimized through efficient OpenGL rendering, Pygame handling, and resource management, creating animations efficiently with minimal resource usage. |
📦 | Dependencies | The project depends on Python (3.7+) and Pygame library for GUI and OpenGL rendering. |
└── StarNodeAnimator/
├── LICENSE
├── README.md
├── cooker-gui-v1.py
├── cooker-opengl.py
└── main.py
.
File | Summary |
---|---|
cooker-opengl.py | Create visually stunning star animations by running this script, cooker-opengl.py. It sets up an OpenGL environment using Pygame, generates random stars with variable sizes and nodes creation chances, renders stars, captures frames, saves them as PNGs, merges them into an MP4 video, and cleans up the frames directory. This is purely visual. |
cooker-gui-v1.py | Pygame initiates a graphical user interface, initializing screen dimensions and defining colors. Stars are created with random coordinates, sizes, speeds, and a chance to generate nodes. Connections form between qualifying star pairs. Animation frames are captured, saved, and compiled into an MP4 video.. |
main.py | Initiates an animation project, setting up Pygame environment with defined screen dimensions, colors, and a Star class for creating stars. Randomly generates 200 stars, moves them within the screen boundaries, and draws circles on the screen. Stars that meet a certain criterion create lines connecting them. The loop continually redraws the screen based on user events and frame rate. This is purely visual. This is a good example of the non-opengl animation loop. |
System Requirements:
- Python:
version x.y.z
- Clone the StarNodeAnimator repository:
$ git clone https://github.com/KillaMeep/StarNodeAnimator.git
- Change to the project directory:
$ cd StarNodeAnimator
- Install the dependencies:
$ pip install -r requirements.txt
Run StarNodeAnimator using the command below:
$ python coooker-gui-v1.py
Contributions are welcome! Here are several ways you can contribute:
- Report Issues: Submit bugs found or log feature requests for the
StarNodeAnimator
project. - Submit Pull Requests: Review open PRs, and submit your own PRs.
- Join the Discussions: Share your insights, provide feedback, or ask questions.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/KillaMeep/StarNodeAnimator.git
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!