Git Product home page Git Product logo

fatou's People

Contributors

agapanthus avatar moerlin avatar

Stargazers

 avatar

Watchers

 avatar  avatar

fatou's Issues

Add support for Progressive Rendering.

The renderer should asynchronously generate and compose several approximative renderings to one preview or final result. The current preview will be shown by the GUI-thread, so that you see how the image quality improves over time.

64-bit shaders

Several reasons to use them:
-> greater zooming
-> lower bias
-> higher image quality, less floating-point-artifacts

Use another internal representation!

The fractal must be stored as abstract algorithm, so that fatou can...

  • generate (and optimize) fragment shaders with arbitrary precision
  • draw trace-lines (for escape time algorithms) on the CPU
  • fatou can automatically export modifiable parameters
  • the user can manipulate and create fractals
  • apply different colouring and shading algorithms on the fractal algorithm
  • can easily save, export and share fractals

Create optimized shaders for different fractals

For example, a generic Newton-Fractal shader will calculate exponentials by multiplying repeatedly. But for example x^201-x^7+4*x2-1 could be strongly optimized using Binomial theorem. Therefore, we need runtime-created shaders hardcoding some parameters and using optimized algorithms.

Performance improvements for FBOs

tRenderer and pRenderer are slowed down by bad use of FBOs.
It would be better packing Array Textures inside one FBO and only rarely switching the FBO.

Improve Samples per Second

When rendering at, lets say, 25 FPS, then the samples per second value is about 2k. But when changing to 5 FPS, it becomes 60k! Therefore, the GPU is most of the time busy doing something else. It is necessary, to find out, what it is doing and making it faster, that also at moderate Framerates the samples per second value becomes high!

import / export settings

We want the feature to export all settings and especially the fractal so that you can save, load and share your results.

tiles do not complete to full frames when using density < 1.0f

When using density < 1.0f and presenting using GL_NEAREST with tRenderer, there will sometimes (quite rarely) appear blue / magenta lines between the tiles (tested with 3x3, usually just vertical or horizontal lines, never both).
This bug is not important, because you can simply switch to tiles = (1,1) when using density < 1.0f.

Toolbar with images and places to go

You have a large toolbar in the left, where you can click "add" and it will add the current position of the current fractal as a small thumbnail with a short text.
If you click the on of those, it will fly there with a nice animation.

Orbit Traps

We want orbit traps. Geometric ones and images.
By the way, we also need different coloring functions and modes...

Smooth navigation

The conservative zooming algorithm has quite a lot bugs at this point...
Therefor, navigation in a heavy fractal is not smooth, but it jumps around and shows wrong frames.
It should be completely rewritten!

Arbitrary precision shaders

We can't just use 64 bits! That by far not anough!
Although, fatou should automatically select the right precision at any time.
Can we somehow detect problems or at least - can we reliable estimate the point, where you need to increase precision by 64 bits?

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.