digital home of MacSlow

Anti-aliasing in raymarcher

Posted by in Uncategorized

The addition of anti-aliasing to my GLSL-based raymarcher (part of ToyShader) does result in cleaner visuals as expected (see image-sequence below), but the performance-hit is considerable (especially on my laptop’s intel HD4000 GPU). Before this can be enabled by default, I need to implement over-relaxation of the raymarching-steps. This allows to traverse the view-ray for each (sub-) pixel in larger steps – compared to classic raymarching/sphere-tracing – resulting in a considerable speed-up. The paper “Enhanced Sphere Tracing ” by Keinert et al. introduces this improvement among other enhancements with regards…read more

0

Zoom baby, zoom!

Posted by in Uncategorized

Zoom baby, zoom! When doing shader-programming a “Hello, world!”-equivalent I always considered to be an implementation of a zoom into a mandelbrot-set. And so I did… and for “just because I can”-reasons, I also wrote a GLSL-environment very much like the WebGL-based ShaderToy.com, so I can also have these as local and native shader-hacks on my desktop. Getting the browser out of the equation saves about 15% of system-load. Here is the example as WebGL-version on ShaderToy and you’ll be able to get the same on your desktop as a…read more

0

Time-killer WebGL

Posted by in Uncategorized

Time-killer WebGL There are a lot of shader-playgrounds for WebGL scattered around the net. A few of the better known ones are… Shadertoy GLSLsandbox Shdr WebGLPlayground GLSLbin Some let you mess around with the fragment-shaders only, while others expose vertex- and fragment-shaders. The great advantage you get with these WebGL-environments is the fact, that they eliminate the need for setting up your OpenGL-context using the native toolkit of your OS, though this is only mildly painful these days thanks to SDL, Qt and gtk. Thus you can concentrate on the…read more

2