Manual:Creating renderings

From FreeCAD Documentation
Jump to navigation Jump to search

In computer speak, the word rendering is used to describe a nice image produced from a 3D model. Of course, we could say that what we see in the FreeCAD 3D view is already nice. However, anybody who has seen a recent Hollywood movie, knows that it is possible to produce images with a computer that are almost indistinguishable from a photograph.

Of course, producing photo-realistic images requires a lot of work, in addition to a 3D application that offers specific tools for that purpose, such as precise controls for materials and lighting. Because FreeCAD is an application geared more towards technical modelling, it does not feature any advanced rendering tools.

+Fortunately, the open source world offers many applications to produce realistic images. The most famous one is probably Blender, which is very popular, and widely used in the film and gaming industries. 3D models can very easily and faithfully be exported from FreeCAD and imported into Blender, where you can add realistic materials and illumination, and produce the final images or even animations.

Some other open source rendering tools are made to be used inside other applications, and will take care of doing the complex calculations to produce realistic images. Through its Raytracing Workbench, FreeCAD can use two of these rendering tools: POV-Ray and Luxrender. POV-Ray is a very old project, and is considered a classical raytracing engine, while Luxrender is much newer, and is categorized as an unbiased renderer. Both have their strengths and weaknesses, depending on the type of image one wants to render. The best way to know is to look at examples on each engine's website.


Before being able to use the Raytracing Workbench in FreeCAD, one of these two rendering applications needs to be installed on your system. This is usually very straightforward. They both provide installers for many platforms or are usually included in the software repositories of most Linux distributions.

Once POV-Ray or Luxrender is installed, we need to set the path to their main executable in the FreeCAD preferences. This is usually only required on Windows and Mac. On Linux, FreeCAD will pick it from the standard locations. The location of the povray or luxrender executables can be found by searching your system for files named povray (or povray.exe on Windows) and luxrender (or luxrender.exe on Windows).

Exercise raytracing 01.jpg

In this preferences screen we can also set the desired image size we want to produce.

Rendering with PovRay

We will use the table we have been modelling in the traditional modeling chapter to produce renderings with PovRay and Luxrender.

  • Start by loading the table.FCStd file that we modelled earlier or from the link at the bottom of this chapter.
  • Press the small down arrow next to the Raytrace New.svg New Povray project button, and choose the RadiosityNormal template
  • A warning message might appear telling you that the current 3D view is not in perspective mode and the rendering will therefore differ. Correct this by choosing No, choosing menu View->Perspective view and choosing the RadiosityNormal template again.
  • You can also try other templates after you create a new project, simply by editing its Template property.
  • A new project has now been created:

Exercise raytracing 02.jpg

  • The new project has adopted the point of view of the 3D view as it was at the moment we pressed the button. We can change the view, and update the view position stored in the Povray project anytime, by pressing the Raytrace ResetCamera.svg Reset camera button.
  • The Raytracing Workbench works the same way as the Drawing Workbench: Once a project folder is created, we must add Views of our objects to it. We can now do that by selecting all the objects that compose the table, and press the Raytrace NewPartSegment.svg Insert part button:

Exercise raytracing 03.jpg

  • The views have taken the color and transparency values from their original parts, but you can change that in the properties of each individual view if you wish.
  • We are now ready to produce our first Povray render. Press the Raytrace Render.svg Render button.
  • Note for windows users: when receiving (in Povray) a warning saying "I/O restrictions prohibit write access ..."
    • open Povray
    • choose "Options > Script I/O Restrictions" and make sure it is set to "No Restrictions"
    • retry render
  • You will be asked to give a file name and path for the .png image that will be saved by Povray.
  • Povray will then open and calculate the image.
  • When this is done, click the image to close the Povray window. The resulting image will be loaded in FreeCAD:

Exercise raytracing 04.jpg

Rendering with LuxRender

  • Rendering with Luxrender works almost the same way. We can leave our file open and create a new Luxrender project in the same file, or reload it to start from scratch.
  • Press the little down arrow next to the Raytrace Lux.svg New Luxrender project button and choose the LuxOutdoor template.
  • Select all the components of the table. If you still have the Povray project in your document, be sure to also select the Luxrender project itself, so the views created in the next step won't go in the wrong project by mistake.
  • Press the Raytrace NewPartSegment.svg Insert part button.
  • Select the Luxrender project, and press the Raytrace Render.svg Render button.
  • Luxrender works differently to Povray. When you start the render, the Luxrender application will open and immediately start rendering:

Exercise raytracing 05.jpg

  • If you leave that window open, Luxrender will continue calculating and rendering forever, progressively refining the image. It is up to you to decide when the image has reached a sufficient quality for your needs, and stop the render.
  • There are also many controls to play with, on the left panel. All these controls will change the aspect of the image being rendered on the fly, without stopping the rendering.
  • When you feel the quality is good enough, press Render->stop, and then File->Export to image->Tonemapped low dynamic range to save the rendered image to a png file.

You can greatly extend the rendering possibilities of FreeCAD by creating new templates for Povray or Luxrender. This is explained in the Raytracing Workbench documentation.


Read more