User:Owen Burgoyne/POV-Ray Tutorial
The purpose of this guide is to take an already-built LDraw model and then render it in POV-Ray to create a near-realistic image. The guide itself will not necessarily give you all the answers on how to create exactly what you want, but will hopefully get you started in the right direction and perhaps even lead you on to investigating and mastering certain rendering techniques.
For the purposes of this guide I have used the following:
- The LDraw library
- MLCad 3.40
- LDView 4.2 beta 1
- The LGEO library and my own LGEO Parts Pack (zip file)
- POV-Ray 3.7 RC6
The first four can all be obtained directly from the LDraw All-In-One-Installer (AIOI), although my LGEO parts pack requires manual installation.
The LDraw AIOI currently contains POV-Ray 3.6, but I recommend uninstalling this if you already have it and installing POV-Ray 3.7. Although still currently in beta, I have had no issues using it and it contains the ability to use more than one CPU, allowing for much faster rendering when using a multi-core system.
The guide also assumes that you are running the above on Windows. (I have no Mac or Linux experience, so would not able to advise on the correct file paths for installation.)
Installation and setup
Although the AIOI can automate a lot of the installation, there are still a few tweaks that need to be made to the default installation to optimise the setup.
The LGEO library
If you've installed the LGEO library from the AIOI to the default location, then it should be located at C:\Program Files\LDraw\LGEO.
Although updated by Lutz Uhlmann in 2008, there are still a few errors in the library, some of which are simply compatibility issues with any version of POV-Ray higher than 3.1. Where possible, I have fixed any files that I have come across, as well as create some new files, which can be found in the LGEO Parts Pack listed above.
The file itself mainly contains LGEO files (marked with lg_ at the beginning of the file) which can simply be copied to LGEO's C:\Program Files\LDraw\LGEO\lg folder.
It also contains a file called LGEO.xml which must be copied to the LDView installation folder.
To function properly with the LGEO library, POV-Ray needs to be told where to find the library files, and this is done via the povray.ini file. To edit this, within the POV-Ray menu go to Tools > Edit master POVRAY.INI. This will open the file as a text file, and give you some basic explanation on how to add or modify settings within this file.
You need to ensure that library paths are included in the file, pointing to the installation folder for LGEO. If using the AIOI, this is installed by default to the C:\Program Files\LDraw folder, so the following lines would need to be added to the end of the file:
Library_Path="C:\Program Files\LDraw\LGEO" Library_Path="C:\Program Files\LDraw\LGEO\ar" Library_Path="C:\Program Files\LDraw\LGEO\lg"
If you're using a 64-bit version of Windows, then you may need to change Program Files to Program Files (x86).
POV-Ray includes its own resolution definitions, stored in a file called quickres.ini, which allows you to quickly set your desired image output size. These are accessed via a drop-down box shown at the top left of the POV-Ray window, but the available options are fairly limited.
To alter these settings, within the POV-Ray menu go to Tools > Edit resolution INI file and the file should then open up as a text file. You should see a number of different resolutions, mainly set to the 4:3 ratio (640x480, 800x600, etc.), along with anti-alias switches. For example:
[800x600, No AA] Width=800 Height=600 Antialias=Off
[800x600, AA 0.3] Width=800 Height=600 Antialias=On Antialias_Threshold=0.3
This rather limits the available ratios, such as 16:9 (widescreen) or 2.35:1 (anamorphic widescreen). Therefore you need to specify your own. To make it easier to pick out which aspect ratio I need, I often specify this in the preset, as in the below example:
[800x340 2.35:1, No AA] Width=800 Height=340 Antialias=Off [800x450 16:9, No AA] Width=800 Height=450 Antialias=Off
You can also specify further sizes by adding variations on the above, and add anti-aliasing to each resolution by changing Antialias=Off to: