Tutorials

Quick View Other Tutorials   

Firefly Rendering Tips

For use with Poser 5 and Poser 6

The Firefly render engine, introduced in Poser 5, provides Poser users with a high-quality micropolygon rendering engine capable of extremely accurate, photorealistic output. Firefly is a sensitive beast, however, and its many settings and options can be somewhat daunting to the beginning user. In this tutorial I'll explain how to get high-quality results from Firefly without "stress-testing" it; often, turning the settings all the way up to the maximum uses system resources with no improvement in image quality.The Firefly render engine, introduced in Poser 5, provides Poser users with a high-quality micropolygon rendering engine capable of extremely accurate, photorealistic output. Firefly is a sensitive beast, however, and its many settings and options can be somewhat daunting to the beginning user. In this tutorial I'll explain how to get high-quality results from Firefly without "stress-testing" it; often, turning the settings all the way up to the maximum uses system resources with no improvement in image quality.

Automatic vs. Manual Settings

Poser's default render settings provide a good range of options, and many people will find them sufficient for their rendering needs. A few tips are appropriate here. First, for test and draft renders done to check overall scene composition, camera angles and basic lighting, use the lowest default setting to save time. To make things go even faster, use the render size pull-down menu to set the size of the test render to half or 1/4 of the final size- see below.

As you refine your scene, you can increase the render settings to utilize various features of the render engine. Most scenes will not, however, benefit from setting the render presets to their maximum levels, as most scenes do not fully take advantage of the particular features that are activated in these settings. Unless the particular scene requires texture filtering, for example, or a large number of raytrace bounces, the only thing that using the maximum settings will do is to increase the load on the system and increase render times without improving quality. The third-to-last setting should be more than sufficient for final renders of the vast majority of Poser scenes.

Now, if you need to go beyond the presets, you can delve into the manual settings and achieve a high degree of control over exactly which options are active and to what degree- which can allow you to produce a very high-quality render without wasted time, or to check particular features of your scene with a quick render.

Scene Settings and Specifics

When you set up your scene, there are several factors which will affect the rendering speed and quality. First, think about the lighting in your scene. For each light in the scene that is set to cast shadows, Firefly has to create a shadow map- or ray-trace the shadows. This takes time and adds to memory usage; you can speed up your renders and improve stability by turning off shadow-casting on fill lights and lights used for edge highlights. For quicker test renders, turn off shadows in the Render Options dialog.

If your scene has no reflective surfaces in it, you can turn on the Hide Backfacing Polygons option; this will allow Poser to ignore polygons that won't be displayed in the rendered image, reducing the load on the render engine.

The Smooth Polygons setting tells Firefly to round the edges between polygons, to give a smoother, more natural look. This can cause problems with objects that are supposed to have sharp angles, and in some cases polygon smoothing can cause objects to "balloon" alarmingly. Fortunately, polygon smoothing can be turned on or off for each object in the scene, by using the Properties palette. Turning Smooth Polygons off globally and on for each object that needs it is a good way to avoid "ballooning" and conserve memory and time.

Texture Filtering is used mostly to reduce moiré patterns when a texture repeats and scales (imagine a checkerboard-patterned floor receding into the distance); it can give good results but can also use additional system resources. For example, a single 4000x4000-pixel texture, without texture filtering, uses 64Mb of RAM (which is itself a good argument for reducing maximum texture size- see below) while with texture filtering on, that same texture takes 192Mb- more than twice the RAM for the same texture file.

Setting the maximum texture size as mentioned above can make a huge difference in memory usage without impacting image quality, provided you do it right. Use a texture size appropriate to the scene that you're rendering- if you're doing a big render, 2K-3K pixels on a side, then you should set your maximum texture size to a fairly high number- at most, about as big as the vertical dimension of your rendered image (but see the note below.) Similarly, if you're rendering something smaller, a 640x480 image for the Web, for example, then setting the max texture size smaller (4-500 pixels) will save memory and time when you render, as it'll force Firefly to subsample the texture before it loads it. The critical limit should be the size in the rendered image of the figure to which the texture is being applied. If the largest figure in your scene is only 500 pixels high, then using a 1024-pixel texture is wasteful. Additionally, many figures ship with high- and low-resolution textures; it's usually quite sufficient to use the low-resolution texture when you set up the scene, unless you're producing a large close-up rendering. Similarly, when setting up the scene it will save considerable system resources to use lower-polygon figures in crowds or for figures who will not be seen close up.

The minimum shading rate tells Firefly how fine a level of detail to render for each sample- higher numbers give a "coarser" render that proceeds faster, while lower numbers give a finer render but take longer. A good setting for a draft render might be 4-8, while a really high-quality production render might use 0.3 or even 0.1 if there are fine surface details like fur to resolve.

The bucket size tells Firefly how many pixels to render at once- bucket settings have no impact on quality but will affect the speed of rendering, with high bucket numbers giving faster renders that take more memory and low bucket numbers allowing a render in low memory situations that will take longer. While minimum shading rate trades resources for quality (with an impact on speed), bucket size trades resources for speed with no impact on quality.

Happy Rendering!