Giter Site home page Giter Site logo

0xadriatorralba / yafe Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 158.03 MB

YAFE: Yet Another Fractal Explorer. Repository implementing the visualisation of the Mandelbrot, Multibrot and Julia sets over the Complex Plane, as well as, a generalisation of them into the 3D space. It also implements the visualisation of some IFS Fractals.

License: GNU General Public License v3.0

C# 66.05% HLSL 2.46% ShaderLab 20.18% GLSL 2.66% Objective-C++ 7.68% JavaScript 0.97%
fractals fractals-juliaset gpu-computing mandelbrot-fractal shaders unity3d visualization

yafe's Introduction

YAFE: Yet Another Fractal Explorer

This is my Final Degree Project made at Universitat de Barcelona for the Double degree in Mathematics and Computer Science!

This is an application that allows you to explore the fractals from Mandelbrot (and Multibrot) sets and Julia sets as well as some 3D fractals such as the Mandelbulb or some IFS fractals directly on a website!

In addition, you can find on releases the binaries for MacOS (both compiled for Intel and Apple Silicon), Windows and Linux.

Might consider building and adapting this app to a mobile version (iOS and Android) if there are interest on something like that.

Find the Final Degree Project memory here

Differences between WebGL (Website) version and Desktop version

When I built this project (back in 2019), there was no support for threading on the CPU using WebGL, so the website version have the multithreading rendering on the CPU tab disabled, whereas the compiled desktop binaries have this feature enabled by default.

Unity claimed that they would be adding support for multithreading on WebGL compilations. Further research is needed.

Screenshots of the application

Main page

Imgur

2D Fractals rendered by CPU

Imgur

More options

Imgur

Imgur

Imgur

Imgur

2D Fractals rendered by GPU

Imgur

Imgur

3D Fractals rendered by GPU

Imgur

Imgur

Imgur

Imgur

Development setup

The simplest way to setup the project is to download YAFE.unitypackage, create an empty 3D project on Unity and import the downloaded file there.

Additionally, it should work aswell if you clone this repository and recompile and reimport the assets on your local editor.

yafe's People

Contributors

0xadriatorralba avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.