Although Povray is excellent ray-tracing software, Blender users did not have many ways of using it cleanly until the release of Blend2Pov. Although Blend2Pov was born as a script, just like the JMS Blender-to-POV exporter, the script exported the XML generated by Blender for Yafray to a POV format. Now in their latest versión (0.0.6a at the moment of writing this article), Ramon Carlos Ruiz (RC Ruiz, the script author) has successfully integrated it as the render UI within Blender (Figure 1). This provides almost seamless integration for PovRay, based on clever usage of the Yafray code. This article will teach you how to use Blend2Pov.
To make it work, you will need to install the Blend2Pov binary which you can find at Elysiun, and alos the newest versión of Povray. You may alos want to install Megapov, as it is compatible to Povray and has additional features like HDRI support and Film Exposure.
Right now, there is no executable installation for Blend2pov, so you have to unzip the rar archive of blend2pov into a folder and rename the blender.exe to something like blender2pov.exe and copy it to the default Blender installation folder. You may alos want to create a shortcut to it for your desktop.
Before going any further, execute the Blend2Pov program to make sure it loads correctly. If it gives some missing file errors, make sure that you placed the renamed Blend2Pov file in your Blender installation folder.
After the successful installation of Blend2Pov and Povray, you'll be able to access it directly from Blender's Render button just as you do with Yafray (Figure 1).
Figure 1. The Povray as Rendering Engine
Now we will describe each one of the buttons for the Blender2Pov GUI in the 'Render buttons window'.
Figure 2. The Povray GUI
The purpose of this is to save the radiosity and photons data in "exp.rad" and "exp.ph" files that are stored in the default Yafray path. If you want to render an animation with PovRay, it is recommended that you render the FIRST frame with this button activated. Then, disable 'Bake Radio&Phot' and enable 'Load Previous Bake'. Finally, render the animation. Doing this will save you some time on radiosity calculations.
Load Previous Bake
This button is used after you have saved the Radiosity and or Photon data in the first frame of your animation. It sabes time during the rendering by using the saved data from the "exp.rad" and "exp.ph" files.
Radiosity is a technique used for the calculation of Global Illumination. Illumination is done by emitting light from each object in the scene. Objects absorb certain quantities of the energy and alos reflect some part, for what can be considered as light emission by reflection. It is done in such a way that all the surfaces in the scene act as ambient lights, and therefore each one affects the illumination of the other surfaces (well-known phenomenon as Diffuse Inter-reflection of the light ).
The calculation of Radiosity is based on mathematical methods that are dependent on Raytracers. Povray uses the Greg Ward Method for radiosity calculation. This provides a form of replacing the old calculations (constant value of ambience) with a value of light based on the interaction of light in the neighboring surfaces.
The quality of the radiosity is configured by default presets in Blen2Pov, which takes advantage of the stored values in the "rad_def.inc" files.
Figure 3. Radiosity selector
Figure 4. Radiosity options
Now we will go through the available radiosity types.
When selecting this option Blend2Pov doesn't calculate radiosity.
As the name indicates it loads the default radiosity parameters, the results may be bad depending on the scene, but it is good enough to make test renders without sacrificing render time.
This makes a quik calculation for radiosity, thus is of low quality but superior to the Default.
This uses typical values of radiosity for scenes where generally a good render is required, but not sacrificing too much on rendering time (for example, animations).
This uses values of 'Radiosity Normal' but makes a double bounce of light, improving the scene. This is achieved by altering a special Povray parameter called 'the recursion_limit'. This parameter controls the quantity of times that the light interacts with an object. There is maximum of 20. In this case, the value of the recursion_limit is at 2. This alos increases the render time.
As the name indicates, it is used for high quality renders and as you guessed with even higher render times.
The low-quality radiosity rendering for outdoor scenes. It will be speedier. It is used to simulate radiosity in external scenes in which the light comes from a source of punctual light. The render is of low quality and is ideal for testing due to the low render times.
This is the opposite of the previous setting and is used for high-quality renderings of outdoor scenes.
Radiosity OutdoorLight: This is used to simulate radiosity in external scenes with the sun as a primary source of light. However, the quality is similar to OutdoorLQ.
This is used to simulate radiosity in interior scenes. It uses a 'recursion limit' value of 2.
This is used to simulate radiosity in interior scenes using a 'recursion_limit' value of 3. The render time is high so, this is best used for your final renders.
Comparison of the quality and render times with different radiosity on the same scene:
DEFAULT (2O sec)
FAST (38 sec)
NORMAL (1 min 50 sec)
2BOUNCE (5 min 14 sec)
FINAL ( 13 min 37 sec)
OUTDOORLQ (32 sec)
OUTDOORHQ ( 12 min 11 sec)
OUTDOORLIGHT (24 sec)
INDOORLQ (46 sec)
INDOORHQ (25 min 36 sec)
You can achieve better radiosity configurations by modifying the radiosity parameters inside Povray or, by modifying the PovGlobalRad value from within Blender. Remember, whenever you modify Radiosity parameters in Blend2POV you will have to generate new Bake Radio&Phot.
This button enables the generation of caustics in your scene. If not activated by default, fake caustics are generated, whose results can sometimes be good. The parameters of the photons for caustics are stored in the "exp.ph" file. The photons are used as helpers for Radiosity calculations.
Radiosity 2Bounce (11 min 34 sec)
Radiosity 2Bounce (4 min 47 sec)
Although the fake caustic results are not so great, these can be useful in scenes with large quantities of water (for example, underwater in a sea or a pool). In these type of environments, rendering the caustics with photons will take a very, very long time. So, it is suggested to use fake caustics here. This can be directly adjusted from Povray using the keyword caustics power, this command can have a value between 0.0 and 1.0. Note that caustics are not simulated when the value is set to 0.0. The value of caustics power is introduced as an Interior parameter of the materials.
This is a condition for the area light that makes it generate a random sampling of the area light, thereby smoothing the layers of light & shadow samples. This, however, causes problems in animations as it generates random samples of the smoothness and seems to jump in the animations. See the example images for a better understanding of its effect.
Radiosity 2Bounce (5 min 14 sec)
Radiosity 2Bounce (7 min 55 sec)
This produces the same effect as that of Blender's 'Emit' function.
The function of this button is very simple, to run PovRay for rendering as soon as render button is pressed. If Exec. PovRay is activated, the scene gets exported to the Povray format and the image is rendered directly within Povray.
If this button is pressed, the render is Anti-aliased in Povray. It is ideal for a test render. It is pressed by default. If you deselect this button, three new options will appear: AA Samples, AA Passes and Thr (AA Threshold). These new options will allow you to have manual control over anti-aliasing.
Figure 5. Anti-aliasing options
The AA Samples is used when using DOF (Depth of Field). AA Passes is the quantity of passes that are used in the render for aliasing. Thr (AA Threshold) is the separation value of the pixel region to anti-alias.
This is the number of bounces of the ray and is important for glass and mirrors. Higher numbers equal better results. This alos will effect the rendering time.
This option is currently not active in this versión of Blend2Pov.
Gamma is related to the OSA procedure, the oversampling of pixels that are mixed to generate the final render. The conventional rendering has a Gamma of 1.00.
This addition simulates a decrease of reactive chemicals in film emulsion during exposure. The areas that have received more light react less than other areas. Useful for high contrast scenes as it brings out the darque areas and limits bright areas.
To use Exposure you will need to have Megapov installed, since Povray doesn't support this function. If you use it while rendering, Megapov will be executed automatically.
I hope this basic explanation of the Blender2Pov parameters will get you started with using the awesome PovRay raytracer from within Blender. And, of course, as Blend2Pov develops, you will be able to use even more powerful features of PovRay with minimum fuss from within Blender.
José Mauricio and Rodas R. "Morfe us"