Ranger
"Ranger's Best Friend" by 'jute'

Simple Campfire.

Prev - Index - Next ]
Long Description

Fire is ...

Fire is many things. A source of light and warmth, it's one of the first tools mankind learned to utilize. It's easy to imagine that our civilization was practically created around campfires, with early humans watching into the gentle licks of the flames, staring at the slow dissipation of material from the wood -- and later conversing of what they had seen and what they thought it meant. Looking into the fire easily creates a kind of trance, and the constant stimulation of vision by the comforting, rhythmic flickering of the flames echoes in the wandering mind of a fire-gazer. We begin to see our inner visions reflected in the forms revealed by the by-passing flames, and sometimes we also see new and unexpected things in the burning material or in the fire itself.

This entry displays a computer model of a simple campfire, frozen in time. But like all truly 'simple' things, this campfire is also a well of complexity. All geometry and texturing can be randomly varied, which means that it is possible to render a virtual infinity of campfires (and campsites) from the single model description attached (I actually didn't include the framework for a 'total random control' yet, but experiened POVers can find the entry points for theirselves). On the other hand, there are a number of parameters that mainly affect the rendering quality of the image, and by changing them one can easily get lost in a jungle of different versions of essentially one version of the campfire (I did). The model also is based almost solely on the relatively new options of POV-Ray and ray tracing in general, namely isosurfaces, volumetric media and global illumination / radiosity lighting, which, while not necessarily complex as such, are generally considered to be 'advanced' features of POV-Ray and can be somewhat difficult to control precisely.

While unable to shed any substantial light or useful warmth, I welcome any- and everyone for a bit of contemplation by this completely artificial fire.

Making Of

Last spring, I was rendering a lot of fire as part of a 3D course. Mostly isosurface landscapes, but there was fire. And a couple of months earlier I'd cooked up a particle system. So now that I was playing with fire, I naturally had to connect the particle system with the media. Me and my friend got a nice fire going alright, a great magical flame in a weird and forgotten landscape. It was OK, until one evening in the early summer I paid attention to a simple campfire.

FIRE!! My digital flames looked nothing like the real thing, real fire! My flames where like a gasoline explosion, not the gentle licks of real fire. So I thought about the issue and watched many more campfires, but did no testing with POV. It was still summer, and I was busy sailing across the lake where I live when it's summer. The nights started getting colder though, and before soon I'd caught me a little cold. So, forced to rest, nothing to do, oh there's a computer, oh there my old renderings... hmm.

Fire? And what's this about a compo with such prizes that would send sane rendermen tracing forward rays?

I first put my old fire in a concrete brick fireplace and started crafting burning logs. I had paid a lot of attention to those, too, during summer, and after one night's heavy session I had pretty good isosurface logs. I was quite pleased with how all those texturing ideas gained while sitting by real campfires worked out.

With good logs, my fireplace started to seem claustrophobic, so I moved to an outside setting. This immediately raised problems, as I didn't want to model landscapes! During spring I'd worked on three separate projects involving landscapes, and I just didn't want to go there again. An outside setting without *some* kind of landscape basically implies the darkness of night, and surrounded by darkness the logs got another facelift. Then I dropped some isosurface rocks around the logs. In the newsgroups I learned to my delight that emission media can, after all, be used with radiosity to light the surroundings. I had tried it with the magical flamewall, but probably something had been wrong and it didn't work.

Now it worked, and it even brought out completely new sides of the fireplace boulders. So, I had a fireplace, some logs, and a fire. Fire? It was still that 300 particle monster, one that would scare lesser suns. Oh it was OK from a technical point of view, playing with particle systems is good fun, but it rendered slowly and just didn't look right.

So I sat back, and really thought about the campfires I'd seen and the notes-to-self I'd made. I scrapped practically everything from the old fire, except for the color_map. I thought it really worked nice with golden emission. Now I had this nice spherical density that looked a whole lot like a giant, mellow candle flame, but a campfire it was not. Then, on a whim, I went to a party.

In the party, I witnessed several campfires and even a huge bonfire in the darkness of the night. And I paid attention, and thought about patterns and turbulences, and finally made a note-to-self that said "crackle relaxed". Meaning, I saw something cracklish about flame licks, except that most of the crackle patterns I'd used or seen were somehow 'on the edge', punchy, harsh, well, real real good but not exactly what I was looking for. When I got back, I attached a crackle pattern to the campsite model. It worked immediately! There were (still are) obvious mistakes, but after relaxing the crackle a bit (spherical form was a big help) and some refinement I'm willing to say it's ready. And it's actually easier to animate than the particle system, too!

-------------------------------------------------------------------------

That was written in late September. Real life has raised its head since then. I can only laugh now at the sentence -- "it's ready"!

The final week has been full of panic, with yours truly finding nothing but room for improvement in the final renderings. There really were some blatant mistakes in the 'original' image, like a big black unlit face of a rock which I possibly couldn't ignore for so long -- but it did. Then I've struggled with a decision of which version I'd really submit: there's one that uses such low media sampling that it doesn't really stand to close scrutiny, yet it is the most 'artistic' because of a random feature that is completely dependent on the sampling. There's two more with intermediate and good sampling, and the choice between those two gets down to being realistic, or being photorealistic. It so happens that a photograph of a flame usually doesn't look very much like the same flames witnessed with one's own eyes. Photographs are exposed, and the result is that the flames are usually a bit blurred -- like my fire with a good media sampling. I first came up with a nice solution for having the best of both worlds, but unfortunately it turned out the necessary facilities are either not working or haven't been implemented (multiple media in one container are all rendered with a common set of sampling parameters, whereas I would've needed multiple media with a unique sampling set for each, in one container).

I even considered participating with two or even three variations of the same image, but concluded it would be cheesy beyond (my) tolerance. Instead, I half forced a decision of the best overall *picture* and included the others, as well as some developement snapshot reaching all the way to the original magial firewall, in the source .zip for the curious. All this final minute retouching and uncertainty had the unfortunate side-effect of preventing me from using 'all the time in the world' for the final renders -- there remain some rendering artefacts that are not present in some earlier, higher-quality renderings. Even as The Finally Final versions of the scene are still being computed, roughly 24h before the deadline, I'm finding peace with this project. It could be better. Sure. It's still one of my personal best, so I find it difficult to feel unsatisfied with the whole ordeal. And I've had a good time. ----- Unfortunately I haven't had resources for working on this project since the October deadline, so here it is, in the original form.

Tools Used

XEmacs w/ pov-mode.el
POV-Ray v3.50c & v3.6.1

Several CPUs ranging from a 700Mhz Duron to a 1.7GHz Pentium M were utilized during the project. Majority of work was done on my trusty T21 laptop with a P3/800. The final renderings were shared between the T21 and the 1.7G laptop. The rendering times are, of course, heavily dependend on the isosurface, media sampling and radiosity parameters -- I kept varying them until the end, which probably wasn't wise at all, but it's a habit I have with POV-Ray, and I can't seem to get rid of it. The final times on a 1.7G Pentium M are roughly 6 hours for the main image and 3-4 hours for the detail views.

Supplied Files

source.zip (4090 kb)

Detail Images

Detail 1: 1199x1150 @ 375,470

Detail 2: 1198x1150 @ 136,715
Judges Comments

Nice attempt at realistic fire, but not convincing enough.

Prev - Index - Next ]
All entries and comments are copyrighted and the property of the author.
No content on this site may be used without appropriate permission.