digital home of MacSlow

cairo-clock…

Posted by in Uncategorized

… yes that venerable old desktop-toy from years ago, has finally found a new permanent repository-home again… after enough people poked me about it. I also updated the related project-page on launchpad. In the early days it used to live on people.freedesktop.org/~macslow/cairo-clock (or something like that). Thanks to the wonders of git the whole commit-history is still intact. Looking at that code-base makes me want to redo it all… or update the build-system (CMake or Meson) and move to gtk+ 3.x at least. But maybe someone beats me to it…read more

3

Updates to ToyShader

Posted by in Uncategorized

Over the last few weeks, I’ve added new shaders to ToyShader. Among the most impressive ones is an interactive 3D-fractal. This shader implements the typical iterative term z = z² + c, but with quaternions instead of the usual complex numbers. Since quaternions are 4-dimensional vectors, one has to cut a 3D-“slice” out of the 4D-body in order to get something meaningful to the screen. Tweak the components of c and you will get different 3D-slices. That’s what’s making this funky animation possible… apart from moving the camera around with…read more

2

Creative coding

Posted by in Uncategorized

Despite all the trouble on this planet no matter where you turn, there is also some time for the nice things in life… like artful and creative coding. Some recent experiments I did you can find below. Enjoy the eye-candy… Small things that go boom… Click here for a full page view Let the computer paint random stuff… Click here for a full page view A bunch of creative coding cannot go without some WebGL… Share and enjoy! All these should run on pretty much every modern browser/device/OS.

0

More WebGL

Posted by in Uncategorized

One of the latest experiments with WebGL… Click here for a full page view This WebGL-program does not do any typical lighting calculations for the surface-shading, but instead uses spherical environment-mapping. This variation of environment-mapping is often being used in 3D-applications like blender, Modo, Zbrush etc. to allow very fast shading of the edited scene/object. This technique is beneficial for investigating the surface-features and overall shape quickly, without having to trigger the lighting-simulation offered by a ray-tracer, since it fakes the specular term in a convincing way. In order to…read more

0

A small test…

Posted by in Uncategorized

… for a friend of mine. SVG does work without a hitch in WordPress, when you invest a little effort and do not give up on the first sign of resistance.

0

Terrorism is a joke…

Posted by in Uncategorized

… especially as a justification for signing off laws cutting down civil liberties. The true origin of terrorism is not some religious belief – although often the executing pawns are staffed with individuals, who fell victim to such beliefs – but government-funded violence against its own or a foreign civil population. If directed against the own population, it is meant to urge them to “beg” the government for “stronger” laws. When the violence is targeting a foreign population, the motivation is usually to overthrow the government of that country in…read more

0

US elections 2016 viewed as an outsider

Posted by in Uncategorized

As somebody living very far away from the USA – but still being exposed to its foreign policy through cold-war relics like NATO, innocently watched by NSA and threated by TTIP (Transatlantic Trade and Investment Partnership) – the current presidential primaries of the republican and democratic parties are a sight to behold and without comparison here in Germany. The efforts of independents (well with one exception) and libertarians are not worth mentioning really. Following this spectacle for about eight months now, I learned some interesting facts and feel more sorry…read more

1

noise is good

Posted by in Uncategorized

I’ve added a new example to ToyShader, which does three-dimensional perlin-noise distortions of signed distance-fields (SDF). These SDF are used to model objects when doing rendering with the ray-marching approach. Also thanks to this noise-function, applying procedural textures becomes feasible. The whole scene is just described by a single GLSL-fragment-shader. External resources are not needed. As cool as the distortion and bending of these SDF is, it tends to cause discontinuties, which in turn lead to artefacts in the shadow-calculation and the rendering around object-silhouettes. To fight this I’ve decreased…read more

0

simple physics studies in blender

Posted by in Uncategorized

Having a full-featured 3D-suite like blender available and not knowing how to make use of its myriad of capabilities, always felt like a splinter in my eye… especially if you are very keen on all things computer-graphics and 3D. Since nothing ever happens by wishful thinking alone, you have to dive into it yourself in order to get rid of that splinter. So serving myself small helpings of written and recorded tutorials every evening, I am now able to wield some of blender’s more interesting tools at a basic level….read more

0

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