All posts by Mikael Hvidtfeldt Christensen

Are Boxes too Square for Sunflow?

Structure Synth is now able to export boxes to Sunflow. That was actually a lot harder than spheres.

Boxicity (Sunflow render)

Boxicity (Sunflow render).

Sunflow has some amazing global illumination lightning, but why doesn’t it have a ‘box’ primitive in its scene graph language? I mean, it has Banchoff Surfaces, tori and teapots, but not a simple box?

By the way, for those who really dig boxes, check out the Flickr Boxclub (a few Structure Synth creations may also be spotted there).

Structure Synth Rendering Templates

Creating a reasonable way of exporting Structure Synth objects to other renderers, like Sunflow and POV-Ray turned out to be more difficult than I expected. Not because they have complicated scene description languages – they don’t – but because there are a lot of settings and parameters, and I do not want to wrap and support every single one of them.

Sunflow export

Example Sunflow rendering with Global Illuminated Ambient Occlusion.

The approach I came up with is quite simple – it is now possible to define a number of rendering templates which are XML-files containing a number of text fragments, one for each of the primitives (box, sphere, …) and a ‘start’ and ‘end’ fragment.

For instance, a fragment (for a Sunflow exporter) for the ‘sphere’ primitive could look like this:

object {
  shader "s05"
  type sphere
  c {cx} {cy} {cz}
  r {rad}

where the center and radius parameters would be substituted for each instance of the primitive.

Underground code

The Demo Scene never cease to amaze me. The technical quality of these demos is amazing – complex 3D scenes rendered real-time, procedural textures, real-time sound synthesis, and incredible low foot-prints.

Recently I stumbled upon which features recorded videos (flash video) of many of the best demos. Of course part of the fun is actually running these demos, to be amazed that they are indeed real-time, but sadly my laptop is not geared towards neither CPU or GPU intensive activities.

A few selected demos:

fr-041: debris by Farbrausch

Lifeforce by andromeda software development

Sampling the past

The Fairlight Computer Musical Instrument was the first digital sampler ever created. This ~£20000 synthesizer revolutionized the digital music scene (at least for the few artists who could afford it at the time).

This YouTube video (from 1983) shows Herbie Hancock jamming away on his Fairlight CMI (probably a Series IIx, because of the page-R pattern sequencer). Notice the light-pen driven GUI on the monochrome monitor!

Jan Hammer was also a Fairlight devotee – this early and incredible corny music video (featuring the Miami Vice Theme, of course) actually shows several screenshots from the Fairlight GUI.

Structure Synth v0.7 (“Nostromo”) released

I am pleased to announce that a new version of Structure Synth – Version 0.7 (“Nostromo”) – has been released.

Available as Windows binaries or Linux source.

Structure Synth V0.7 (Nostromo)

Structure Synth V0.7 (Nostromo)

New Features:

  • The GUI has tabs now.
  • Syntax highlighting.
  • Better Linux support, fewer compile warnings.
  • Screenshot support.
  • The tokenizer/parser has been improved.
  • Very preliminary and experimental POVRay support.
  • Bug fixes.

Assorted stats:

So far 95 hours of work has been put into Structure Synth, with 2/3 of the time spent coding, the rest of the time spent on design and web site creation.

Structure Synth is currently 4788 lines of C++ code (.h and .cpp files)