https://github.com/ben-ph/shader_brot
A glsl/shader/game-engine/rust learning project. Takes the form of an interactive fractal explorer.
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.3%) to scientific vocabulary
Repository
A glsl/shader/game-engine/rust learning project. Takes the form of an interactive fractal explorer.
Basic Info
- Host: GitHub
- Owner: Ben-PH
- License: mpl-2.0
- Language: Rust
- Default Branch: master
- Size: 46.9 KB
Statistics
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 13
- Releases: 0
Metadata Files
README.md
Fancy title
Thanks for having a look at this side-project of mine. It's the first thing I've made that I'm proud, and excited, to share.
Youtube playlist of demos here
If you're interested, I'm currently looking for mentors in Rust, game-dev, and writing and using shaders (or any combination of those). I can't guarantee anything in return beyond gratitude, but I love to teach and mentor, so maybe we can find something.
To me, this is a significant accomplishment. At the start, I knew: * Relatively little Rust * Nothing about shaders - what they are, how they are used, how they are coded, etc. * Very little about running something outside the terminal * How to use a game engine
I have made significant progress on all of these, and I don't plan to stop.
Installation
Build tools
This builds with rust. If you don't have rust you can find instructions here. If you don't have them already, you'll need curl and git most likely
Also need the dev-tools for the game engine. See reference if needed
Linux dev-tools
substitute apt for your platforms package manage
apt install libasound2-dev libudev-dev pkg-config
Mac and Windows dev tools
Should work out of the box.
S H A D E R P O W E R
Current shader assumes a reletively recent card/on-board graphics. See issue
Running
Assuming no curve-balls in the process, all you need to do to run this is to clone it, then cargo run in the project root directory. Any technical, TODO-list, or documentation suggestions to make this process easier for you is highly-welcomed.
For added effect
Have this audio playing in the background. I do not take any responsibility for resulting desires to join the hypno-cult.
Controls
- E to zoom in
- D to zoom out
- arrow-keys to move around
- q to quit, with the bonus of
MainStatestruct details printed to stdout - TAB to switch between Julia set, MandelBrot set, and hybrid.
- S to decrease detail (Increases performance)
- W to increase detail (decreases performance)
Overview
Why doesn't it do thing? That would be awesome!
Probably! feel free to add an issue, but I have another side-project that I'm working on. I'll always put aside some time to look at a pull-request, though, and help get it in if it fits the project :D
What's going on?
At time of writing, it's a real-time, shader-powered fractal renderer with exploration. It currently supports the MandelBrot set, and some related interactive fractals.
Why can I not zoom infinately? Shouldn't fractals do that?
The system currently calculates to 64-bit precision, which is not infinately precise. When things get zoomed in deep enough, the lack of infinate precision means that we eventually cannot have a value for a pixels actual location, and so we must round it out. There are ways around this, but implementing it is beyond the scope of my current interests.
Owner
- Name: Ben
- Login: Ben-PH
- Kind: user
- Location: Cornus, France
- Repositories: 2
- Profile: https://github.com/Ben-PH
A budding developer coming into early middle ages, a career change and new passions is what drives me.
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 14
- Total pull requests: 2
- Average time to close issues: 8 days
- Average time to close pull requests: 1 day
- Total issue authors: 2
- Total pull request authors: 2
- Average comments per issue: 0.14
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- Ben-PH (13)
- TAbdiukov (1)
Pull Request Authors
- Ben-PH (1)
- TAbdiukov (1)