History log of /haiku/src/apps/mandelbrot/FractalEngine.cpp
Revision Date Author Comments
# a7cda277 09-Jan-2019 kerwizzy <kerwizzy@gmail.com>

Mandelbrot: Implement fullscreen and saving

* Fullscreen view without window border or deskbar
* Save current view as .png

Change-Id: I8abbc7c5dc0af06ee26aa29afdef79a41944438c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/867
Reviewed-by: humdinger <humdingerb@gmail.com>
Reviewed-by: Ryan Leavengood <leavengood@gmail.com>


# 931aec2b 21-Sep-2019 Murai Takashi <tmurai01@gmail.com>

Mandelbrot: Fix 'new[]' array freed with 'delete'

fRenderBuffer is allocated by new[] in MessageReceived(),
buf freed by delete.
Pointed out by LGTM.

Change-Id: I06efc1c8075a421e7f2983e8a0d817a1bf43b026
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1880
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>


# 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>


# cc15132c 09-Jan-2019 kerwizzy <kerwizzy@gmail.com>

Mandelbrot: Clean up thread handling code.

* Style fixes
* Delete semaphores in destructor

Change-Id: Ia293d3f4096e2ef1305398356f3e263a8a263d78
Reviewed-on: https://review.haiku-os.org/c/866
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.)


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

Mandelbrot: More coding style fixes.


# 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.


# 3cf08d8f 17-Jun-2016 Augustin Cavalier <waddlesplash@gmail.com>

Mandelbrot: Fix the last warnings, enable -Werror.


# 366c1832 17-Jun-2016 Augustin Cavalier <waddlesplash@gmail.com>

Mandelbrot: Style fixes.


# 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.