{"id":20399566,"url":"https://github.com/garfield1002/mandelbrot_explorer","last_synced_at":"2026-04-15T20:31:35.307Z","repository":{"id":47637273,"uuid":"398085522","full_name":"Garfield1002/mandelbrot_explorer","owner":"Garfield1002","description":"A Mandelbrot fractal viewer, built using OpenGL shaders","archived":false,"fork":false,"pushed_at":"2022-02-09T07:59:26.000Z","size":6208,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-05T01:27:24.919Z","etag":null,"topics":["cpp","glsl","mandelbrot","opengl","shader"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Garfield1002.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-19T22:04:14.000Z","updated_at":"2022-02-09T07:59:29.000Z","dependencies_parsed_at":"2022-09-15T22:10:30.522Z","dependency_job_id":null,"html_url":"https://github.com/Garfield1002/mandelbrot_explorer","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Garfield1002/mandelbrot_explorer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Garfield1002%2Fmandelbrot_explorer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Garfield1002%2Fmandelbrot_explorer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Garfield1002%2Fmandelbrot_explorer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Garfield1002%2Fmandelbrot_explorer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Garfield1002","download_url":"https://codeload.github.com/Garfield1002/mandelbrot_explorer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Garfield1002%2Fmandelbrot_explorer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31859205,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","glsl","mandelbrot","opengl","shader"],"created_at":"2024-11-15T04:29:55.441Z","updated_at":"2026-04-15T20:31:35.291Z","avatar_url":"https://github.com/Garfield1002.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mandelbrot Fractal Viewer with OpenGL Shaders\n\nA C++ implementation of a Mandelbrot explorer built using OpenGL Shaders.\n \n## 🖼 Example results\n\n![Screenshot_0](https://raw.githubusercontent.com/Garfield1002/Fractal/master/res/screenshot_0.png)\n![Screenshot_1](https://raw.githubusercontent.com/Garfield1002/Fractal/master/res/screenshot_1.png)\n![Screenshot_2](https://raw.githubusercontent.com/Garfield1002/Fractal/master/res/screenshot_2.png)\n\n## 🎮 Controls\n\n| Key | Action |\n| :-: | :----:             |\n| `⬆` | Move the camera up |\n| `➡` | Move the camera right |\n| `⬇` | Move the camera down |\n| `⬅` | Move the camera left |\n| `W` | Zoom in |\n| `S` | Zoom out |\n| `ESC` | Exit the application |\n\n## 💡 What I learned\n\n### C++\n\nThis was one of my first C++ and OpenGL projects, so quite a lot.\n\n### CMake\n\nTheir was an attempt at using CMake, maybe in a future project.\n\n### Mandelbrot\n\nI had to read through a couple wikipedia articles to learn about implementing the mandelbrot fractal.\nI used their _\"smoothing function\"_: \n\n```glsl\nfloat log_zn = log(Z.x*Z.x + Z.y*Z.y) / 2.0;\n\nfloat nu = log(log_zn / log(2.0)) / log(2.0);\n\niteration += 1.0 - nu;\n\ncolor = vec4(mix(colormap[int(floor(iteration)) % 17], colormap[(int(floor(iteration)) + 1) % 17], fract(iteration)), 1.0);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarfield1002%2Fmandelbrot_explorer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgarfield1002%2Fmandelbrot_explorer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarfield1002%2Fmandelbrot_explorer/lists"}