Revision 857241

Go back to digest for 7th September 2008

Features in KDE Base

Benoît Jacob committed changes in /trunk/playground/base/plasma:

New plasma wallpaper plugin: Mandelbrot fractal viewer.
Like your usual fractal wallpaper except it's live ;)

Important: this is a minimalistic implementation, only 360 lines of code, leveraging Plasma, Qt, Eigen. Not intended to compare to Fraqtive which is much more serious.

Still has nice features:
- uses as many cpu cores as you have
- non-blocking rendering, in separate thread(s)
- uses vectorization instructions (sse, altivec) if available
- switches automatically between single and double precision as needed
- tiled rendering, prioritizing tiles near the mouse event, so the user can browse very fast as the tiles he's most interested in are rendered first.
- no-frills monochrome gradient directly from divergence data:
let's not corrupt natural beauty with kitsch gradients.

caveats:
- SSE2 required for now (but fixing that is just a matter of adding platform-detection logic).
- doesn't save/restore the view
- triggers a number of plasma bugs.

Most importantly: for now, use it in the Dashboard view, otherwise there are repainting glitches.

File Changes

Added 14 files
  • /trunk/playground/base/plasma/wallpapers
  •   /CMakeLists.txt
  •   /mandelbrot
  •   /mandelbrot/CMakeLists.txt
  •   /mandelbrot/config.ui
  •   /mandelbrot/mandelbrot.cpp
  •   /mandelbrot/mandelbrot.h
  •   /mandelbrot/Messages.sh
  •   /mandelbrot/plasma-wallpaper-mandelbrot.desktop
  •   /mandelbrot/render.h
  •   /mandelbrot/render_impl.cpp
  •   /mandelbrot/render_impl.h
  •   /mandelbrot/render_with_vectorization.cpp
  •   /mandelbrot/render_without_vectorization.cpp
Modified 1 files
  • /trunk/playground/base/plasma/CMakeLists.txt
15 files changed in total