A brief update on one particular thing cooking in my laboratory at the moment… I’m taking a break from offline 3D-graphics (my path-tracer BeamRacer) to implement my own version of cubical marching squares (aka: CMS) for a stand-alone visualization library, which has to be named still. The versions of marching-somethings I’ve seen outside of academic-paper implementations – in commercial applications in particular – are not very pleasant to look at. Only the games-industry manages to produce clean and elegant visuals, but lacks data-visualization details and precision on the other hand…read more
… 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
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
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.
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
… 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.
… 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
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
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
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