History log of /haiku/src/apps/mandelbrot/FractalEngine.h
Revision Date Author Comments
# b318ff2a 05-Jun-2019 kerwizzy <kerwizzy@gmail.com>

Mandelbrot: Fix race conditions and missing initializations.

Change-Id: I64e7bb68631320a7f8d80be25b4011a0332e0348
Reviewed-on: https://review.haiku-os.org/c/1480
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 675e5dfc 12-Dec-2018 Augustin Cavalier <waddlesplash@gmail.com>

Mandelbrot: GCC2 fix.


# e5aeaa8d 25-Nov-2018 kerwizzy <kerwizzy@gmail.com>

Mandelbrot: Implement subsampling

* Added subsampling. This makes the render look less noisy and generally nicer.

Change-Id: I1dd667c8799bd97fb84e1401976da12ecf74ea8c
Reviewed-on: https://review.haiku-os.org/732
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# e920ab3c 25-Nov-2018 kerwizzy <kerwizzy@gmail.com>

Mandelbrot: Improve thread handling code.

* Application is now much more stable and less likely to crash
* Almost all communication to render threads is done through semaphores.

Change-Id: I7858cdb4a2b83ef4bfe44588cebef01bd3304346
Reviewed-on: https://review.haiku-os.org/730
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 1c2518b4 18-Aug-2018 kerwizzy <kerwizzy@gmail.com>

Mandelbrot: Implement incremental rendering and other improvements.

* Incremental rendering allows the user to see how the render is progressing.
* Can move to a new location before the render finishes. Render will automatically restart at the new location.
* Multi-threaded rendering now renders from a horizontal line in the center, giving a better experience.
* Improved behavior for scrollwheel zooming. Now zooms with the mouse as the origin, as is the standard behavior in other applications such as map viewers.
* Added lots of TRACE statements internally, which can be turned on in the code for debugging.

Change-Id: I1ad39a262ebe5c1b51d46b8cc09fb4de5113b9de
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# ee9b1015 18-Jun-2016 Augustin Cavalier <waddlesplash@gmail.com>

Mandelbrot: Implement trivial multithreading.

Does not do "incremental render" (displays progress as it's rendering.)


# c80973eb 18-Jun-2016 Augustin Cavalier <waddlesplash@gmail.com>

Mandelbrot: Add 'Iterations' menu.


# 84b9e766 18-Jun-2016 Augustin Cavalier <waddlesplash@gmail.com>

Mandelbrot: Rename the last global constants and remove some unused ones.


# 54e2ef84 17-Jun-2016 Augustin Cavalier <waddlesplash@gmail.com>

Mandelbrot: Get rid of RenderPixelSmooth.


# 29781d26 27-May-2016 Augustin Cavalier <waddlesplash@gmail.com>

Mandelbrot: Implement changing sets.


# d25186e7 27-May-2016 Augustin Cavalier <waddlesplash@gmail.com>

Mandelbrot: Implement palette switching.


# 35e590e3 27-May-2016 Augustin Cavalier <waddlesplash@gmail.com>

Mandelbrot: Set the pixels in the Render functions.


# 9daf130b 27-May-2016 Augustin Cavalier <waddlesplash@gmail.com>

Move the FractalEngine to its own thread.


# 86370d7b 15-May-2016 Augustin Cavalier <waddlesplash@gmail.com>

Mandelbrot: Scrap the old app, initial workings of a new one.

Based upon a HTML5 fractal engine by @kerwizzy (relicensed as MIT and copyright
assigned to Haiku, Inc. with permission from the author). Hacky and a mess,
but it works, and has the potentiality to be much nicer than the previous
Mandelbrot app.

Already supports rendering & zooming in, but has hacks all over the place.