wglChAoS.P v.1.7 (beta) notes:
wglChAoS.P v.1.7 (beta) Full Rendering Mode does NOT currently support still mobile devices
Parameters:
- Particles max: pre-allocated GPU buffer
This is the maximum number of particles that you can view during the session
- Low precision: Uses 16bit floating point ( frameBuffers, colorMaps, dotTexture )
speeds up about 30% 3D rendering (not CPU calculation to fill buffer), but the colors have less shades.
recommended for slow speed GPU
- Intermediate buffer size: CPU attractors/fractals calculation buffer
- Lower size allow for smoother 3D rendering when/until emitter is ON, but needs more time to fill GPU buffer (lower is recommended for slow CPU)
- Higher size fill the GPU buffer in less time, but the 3D rendering can go slightly jerky when/until emitter is ON
The desktop version does not suffer from this problem because use separate threads and direct video memory access.
- Glow effect OFF: Disable initial glow effect, if present, that requires expensive calculations in terms of performance: it is anyway selectable later, inside program
GUI.
- Light GUI: uses light graphic interface, instead dark one.
- Tablet mode: autodetect / overridable
Uses touch screen events instead mouse ones: for tablet/smartphone:
- Tap & Move -> rotate object
- doubleTap & Move -> Pan camera (move)
- Pinching -> Dolly camera (zoom)
- doubleTap on canvas borders -> toggle (show/hide) GUI
Sets also optimal values (parameters overridable after check selected)
Moreover higher text contras, larger scrollbars, font size slightly bigger
Hardware/Software required:
The wgl version uses WebGL 2.0 and WebAssembly, so need a browser that have these features
Currently only FireFox or Chromium based browser (Chrome, Opera, Vivaldi, etc) supports it, in case of problems check for latest version or download a portable version.
You can test the WebGL capabilities of your browser at the following link: WebGL 2 Report
Cautions:
- This is an experimental and "light" version of glChAoS.P, not an alternative to desktop ones.
- Currently the WebGL program don't load and save anything (fractals, colormaps, configs etc.) only default ones are available, so if you want explore new attractors/fractal consider to download the desktop version: It's between 4 and 7 times faster (you can really interactively to explore the objects) and with many more options.
- I rewrite: Pay attention the WebGL Program don't save the fractals, if you explore a new beautiful object: you lose it. - do not say I didn't warn you ;-)
- If have a slow connection, please be patient: there are about 9MB of data between program and accessories (fonts/colormaps/fractals formula)
The WebGL version use a single thread to draw and to calculate attractors and fractals, so when/until the particles emitter is active (ON) also the rendering suffers the consequences: the FPS are lower and even can go slightly jerky on slower CPU.
This because the GPU waits for the CPU to fill the buffer and after copy it in video memory: try difference turning emitter ON/OFF
This does not happen on desktop version that use separate threads and direct video memory access.
Glow effects, mostly with sigma > 5, requires expensive calculations in terms of performance
If you have slow performance try, in this order:
- Disable GlowEffects (recommended on Intel or slow GPU)
- Use low precision
- Decrease canvas size
- Decrease number of particles buffer < 3000
- Decrease point size (if you can)
- try squared power of 2 canvas size: power of 2 are faster on some GPU.
Known Issues
- The program must (should) work, but can have different behavior displaying the particles
- If your browser has a "olden" WebGL debugger extension installed, like Insight or Inspector, please disable it: can create problems in recognizing WebGL 2 capabilities.
Tested browsers/O.S./drivers and behavior:
- Windows 10 - NVidia/AMD/Intel GPUs:
- FireFox OK
- Chromium based, less shade of color on NVidia GPU (read notes below)
- Linux Fedora 28 - NVidia GPU:
- FireFox OK, but needs settings (read Linux notes below)
- Chrome/Vivaldi/Opera OK
- Linux Ubuntu 18.04/16.04 - AMD GPU:
- FireFox OK, but needs settings (read Linux notes below)
- Chrome/Vivaldi/Opera OK
- OS X 10.14.1 - AMD GPU:
- All seems to work fine
Notes
- Windows 10 - NVidia + Chromium based browsers: from version 63 of chromium/chrome, I can't run WebGL with ANGLE in D3D11. It starts in D3D9 legacy mode.
In D3D9 mode I have a lower float precision, and consequently minor shades of colors with a little "toons" effect on darker tones.
It happens only with NVidia GPU, AMD/Intel works fine (need to investigate if a my or general issue)
You can test the ANGLE capabilities of your browser form the following link: WebGL 2 Report
Workarounds:
- Use FireFox
- If you have a solution or if it works for you, leave me a private message , also on github/issues, if preferred.
- Linux: by default, FireFox presents artifacts in dark zones.
Need to enable OPENGL_COMPOSITING/HW_COMPOSITING that is blocked by platform, by default
You can do this from about:config setting layers.acceleration.force-enabled to true
If you have a problem leave me a message on github/issues
Mouse and keyboard shortcuts
- Taps / Tablet mode (wgl only):
- - Tap & Move -> rotate object
- - doubleTap & Move -> Pan camera / move object
- - Pinching -> Dolly camera (zoom)
- - doubleTap on canvas borders -> toggle (show/hide) GUI
- Mouse left button:
- - Double click -> toggle fullscreen/windowed (only desktop)
- - Drag -> rotate object
- - Shift & Drag -> rotate on X
- - Ctrl & Drag -> rotate on Y
- - Alt & Drag -> rotate on Z
- - Super & Drag -> rotate on Z
- Mouse right button:
- - Drag vertical -> Dolly camera (zoom)
- - Ctrl & Drag -> Pan camera / move object
- - Shift & Drag -> Pan camera / move object
- Keys
- - Esc -> show/hide GUI
- - F11 -> toggle fullscreen/windowed (only desktopb>)
- - Space -> Restart attractor (like button)
- - i|I -> invert parameters Billboard/Pointsprite
- (in WGL version -> toggle alternative settings)
- - d|D|DownArrow -> next attractor from main formulas
- - u|U|UpArrow -> previous attractor from main formulas
- - r|R|RightArrow -> next attractor from QuickViewDir
- - l|L|LeftArrow -> previous attractor from QuickViewDir
- - SHIFT+PrtSc -> Screenshot silently (w/o GUI)
- - CTRL+PrtSc -> Screenshot with prompt filename (w/o GUI)
- - ALT|SUPER+PrtSc -> Capture screen with GUI
- screenshots are available only in desktop version
- GUI interface
- The values in many controls can be changed via mouse drag, in this case you can associate also key modifier as helper:
- - ALT & Drag -> value increment/decrement slower
- - Shift & Drag -> value incremnt/decrement faster
- - Ctrl + Click or Double Click -> enter to edit value
Difference and limitations between versions
Desktop version is about 4/7 times faster: It uses 4.5 OpenGL AZDO (Approaching Zero Driver Overhead), direct VRAM memory buffers, and separate threads
Respect the desktop version only this options are present (for limited webGL resources):
- 100 Million of particles in minus of 1.6 GByte of VRAMs>
- limited at max 50 Million of particles, selectable (default: 10 million)
- Pointsprite and billboard particles type
- 3D blended/solid/lighted particles
- Distance and alpha attenuation
- Full customizable colors, with several color palettes
- Customizable glow effects: threshold/gaussian/gaussian+threshold
- Customizable FXAA filter
- Motion blur
- Post processing image correction:
gamma - exposure - brightness - contrast - toneMapping
With desktop version you can save new explored attractors/fractals, personalize and save visual configurations and program settings: currently the wgl version don't load and save anything (fractals, colormaps, configs etc.) only default ones are available.
Then consider using (also) the desktop version.