Difference between revisions of "HowTo:Use POV-Ray with Blender"
m |
|||
(144 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | {{MoreDetails|Features| | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | {{ | ||
Some key features of the exporter include: | Some key features of the exporter include: | ||
* Geometry import and export with their modifiers, keyed and physics animation | * Geometry import and export with their modifiers, keyed and physics animation | ||
Line 35: | Line 17: | ||
POV-Ray 3.7 features | POV-Ray 3.7 features | ||
− | volumetrics and media (scattering/absorbing), blurry reflections(uberpov), ghosting for motion blur(uberpov), micropoly displacement (HGPOV) etc. | + | volumetrics and media (scattering/absorbing), blurry reflections(uberpov), ghosting for motion blur(uberpov), micropoly displacement (HGPOV) etc. |
}} | }} | ||
− | |||
− | = POV-Ray 3.7 Exporter for Blender 2.8x = | + | <!--<wikinav>---> |
− | POV-Ray is an an SDL based (Scene Description Language) rendering engine with a long history that makes it very stable and feature rich. The latest version of POV-Ray 3.7 can be found at: | + | <br> |
− | See the [[ | + | <table width=100% border=0 cellspacing=0 cellpadding=5 style="text-align:center;"> |
+ | <tr><td width=33% bgcolor=#EEEEEF> | ||
+ | <font size="+2">[[HowTo:Use_POV-Ray_with_Blender|User's page]]</font size="+2"></td> | ||
+ | <td width=33% align=center>[[File:POVExporterLogo.png|center|200px|link=https://povconverter.wordpress.com]]</td> | ||
+ | <td width=33% bgcolor=#EEEEEF align=center> | ||
+ | <font size="+2">[[HowTo:Use_POV-Ray_with_Blender/Developers_page|Developer's page]]</font size="+2"></td></tr> | ||
+ | </table> | ||
+ | <!--</wikinav>---> | ||
+ | |||
+ | <div style="column-count:3;-moz-column-count:3;-webkit-column-count:3" align=center> | ||
+ | *[http://povray.org POV-Ray Site] | ||
+ | *[[HowTo:Use_POV-Ray_with_Blender#Quick_Start|Exporter Quick Start]] | ||
+ | *[http://povray.org/documentation/3.7.0/ POV-Ray Documentation] | ||
+ | *[[HowTo:Use_POV-Ray_with_Blender/Sample_Materials| Sample Materials]] | ||
+ | *[[Media:POV_WORKSPACE_1.blend|POV-Ray centric default workspace]] | ||
+ | *--- | ||
+ | *--- | ||
+ | *--- | ||
+ | *--- | ||
+ | *--- | ||
+ | *--- | ||
+ | *--- | ||
+ | *--- | ||
+ | *design ideas | ||
+ | *[[Media:regression_and_test_blendfiles.zip|regression files]] | ||
+ | </div> | ||
+ | |||
+ | <br> | ||
+ | <div class="clearBoth"></div> | ||
+ | <div style="text-align:center; border-top: grey solid 1px;"> | ||
+ | <ul style="font-size:1.1em; list-style-type:none;"><li><font size="+2">[http://developer.blender.org/diffusion/BA/history/master/render_povray/ Latest News]</font size="+2"></li> | ||
+ | <li>[irc://irc.freenode.org/blenderpovray Chat room, IRC: #blenderpovray at freenode]</li> | ||
+ | <li>[http://git.blender.org/gitweb/gitweb.cgi/blender-addons.git/atom/refs/heads/master?f=render_povray RSS feed]</li> | ||
+ | <li>[http://blenderartists.org/forum/group.php?groupid=79 Forum Group]</li></ul> | ||
+ | </div> | ||
+ | |||
+ | |||
+ | |||
+ | [[HowTo:Use_POV-Ray_with_Blender#Standard_Script_Information|Standard Script Information]] at the bottom of this page. | ||
+ | |||
+ | = POV-Ray 3.7 Exporter for Blender 2.8x/4.1x = | ||
+ | POV-Ray is an an SDL based (Scene Description Language) rendering engine with a long history that makes it very stable and feature rich. The latest version of POV-Ray 3.7 can be found at: http://www.povray.org/download/<br/> | ||
+ | Though this exporter is currently shipped with any official Blender builds, the POV-Ray 3.7 renderer itself is not included in Blender like some other renderers are (Cycles or Freestyle for instance). Instead, users are just expected to download and install it for themselves: See the [[HowTo:Install_POV|Installation]] page for platform specific details on how to get, install or build POV-Ray. | ||
=Download= | =Download= | ||
− | *Of course, don't forget to [ | + | *Of course, don't forget to [http://www.povray.org/download/ download and install POV-Ray] itself ! |
The POV-Ray exporter is shipped with every official Blender release, so you can start using it directly. | The POV-Ray exporter is shipped with every official Blender release, so you can start using it directly. | ||
− | However, after checking the logs of [ | + | However, after checking the logs of [http://developer.blender.org/diffusion/BA/history/master/render_povray/ every commit to the source] of the script for new features or bug fixes, if you find out you need an update, |
− | |||
− | |||
− | |||
− | |||
− | * | + | *You can download all the script at once by clicking ''<u>snapshot</u>'' |
+ | [http://git.blender.org/gitweb/gitweb.cgi/blender-addons.git/tree/refs/heads/master:/render_povray on this page]. | ||
− | [ | + | *or download a fresh blender build including scripts from generally a few days before |
+ | [http://builder.blender.org/download here]. | ||
= Usage = | = Usage = | ||
Line 63: | Line 84: | ||
{| width=100% | {| width=100% | ||
− | | valign=top | '''1.''' Go to the menu {{Menu| | + | | valign=top | '''1.''' Go to the menu {{Menu|Edit}} |
− | | [[File:Pov_start01.png|thumb| | + | |
+ | {{Submenu|<u>P</u>references...}} | ||
+ | Choose the {{Menu|Add-Ons}} tab and check {{Button|Persistence of Vision}} down the list of render Add-Ons. | ||
+ | | [[File:Pov_start01.png|thumb|500px|1]] | ||
|- | |- | ||
− | | valign=top | '''2.''' Choose | + | | valign=top | '''2.''' Choose {{Menu|<u>P</u>ersistence of Vision}} from renderer choices. |
− | | [[File:Pov_start02.png|thumb| | + | | [[File:Pov_start02.png|thumb|500px|2]] |
|- | |- | ||
− | | valign=top | '''3.''' | + | | valign=top | '''3.''' Then you can render as usual with the {{Submenu|<u>R</u>ender Image}} render menu or its shortcut ({{Shortcut/Keypress|F12}} in default keymap) |
− | | [[File:Pov_start03.png|thumb| | + | | [[File:Pov_start03.png|thumb|500px|3]] |
|} | |} | ||
Line 76: | Line 100: | ||
| valign=top | The image will be rendered according to parameters set in the ''Properties Window''. | | valign=top | The image will be rendered according to parameters set in the ''Properties Window''. | ||
− | Main global render settings for instance can be changed in the {{Menu|Render}} tab. | + | Main global render settings for instance can be changed in the {{Menu|Render}} tab of properties window. |
− | But there are also properties for environment, material (textures), object, etc. all accessible in | + | But there are also properties for environment, material (textures), object, etc. all accessible in neighboring tabs contextually depending on selected object (geometry, camera, light...) |
− | | [[File:Pov_render_tab_01.png|thumb| | + | | [[File:Pov_render_tab_01.png|thumb|500px|4]] |
|} | |} | ||
− | =POV | + | =POV compatible forks= |
− | Below is a comparison of some features of the two engines available to this exporter: | + | Below is a comparison of some features of the two engines available to this exporter to help picking a branch: |
+ | |||
+ | {|class="mw-collapsible mw-collapsed" style="border-spacing:0;" data-expandtext="{{int:show}}" data-collapsetext="{{int:hide}}" | ||
− | + | |- | |
Line 371: | Line 397: | ||
|} | |} | ||
− | {{ | + | {{MoreDetails|Activating UberPOV| |
+ | |||
[[File:UberPOV.png|left|64px]] | [[File:UberPOV.png|left|64px]] | ||
− | + | [http://github.com/UberPOV/UberPOV UberPOV] is a development branch of POV-Ray. Just like MegaPOV used to be in the old days. | |
− | [ | + | [http://github.com/UberPOV/UberPOV/releases HERE] you can download a standalone installer that will not interfere with a standard POV-Ray installation and [http://github.com/UberPOV/UberPOV/releases/tag/v1.37.1.0-beta.10 HERE] is an update to the main binary. |
− | |||
− | + | Choose the feature set and just point the renderer path in {{Menu|Edit}}{{Submenu|<u>P</u>references}} to the location of the engine you choose to use and you're good to go. | |
− | Choose the feature set and just point the renderer path in {{Menu| | ||
[[File:RendererPath.png|thumb|600px]] | [[File:RendererPath.png|thumb|600px]] | ||
− | Note that ''Feature Set'' is what features get written in the POV file and the ''Binary Location'' path points Blender at the binary to actually render it with. Whithout any ''Binary Location'' path, Blender will use the environment variables and try to find the most feature rich binary available in that directory. So if you installed UberPOV it's most probably being used for rendering, but you still need to enable its feature set to enjoy specific features, like blurry reflections. And if you want to be sure to use the plain official POV-Ray 3.7 engine instead, just explicitly point the ''Binary Location'' path to it. | + | Note that ''Feature Set'' is what features get written in the POV file and the ''Binary Location'' path points Blender at the binary to actually render it with. Whithout any ''Binary Location'' path, Blender will use the environment variables and try to find the most feature rich binary available in that directory. So if you installed UberPOV it's most probably being used for rendering, but you still need to enable its feature set to enjoy specific features, like blurry reflections. And if you want to be sure to use the plain official POV-Ray 3.7 engine instead, just explicitly point the ''Binary Location'' path to it. |
}} | }} | ||
Line 392: | Line 417: | ||
[[File:RadiosityPresets.png|thumb]] | [[File:RadiosityPresets.png|thumb]] | ||
− | ===Radiosity=== | + | ===[http://wiki.povray.org/content/HowTo:Use_radiosity Radiosity]=== |
In POV-Ray, ''Radiosity'' is diffuse inter-reflection which has nothing to do with vertex color based radiosity. In fact, it is more similar to final gathering of irradiance samples and provides a noise free indirect light. | In POV-Ray, ''Radiosity'' is diffuse inter-reflection which has nothing to do with vertex color based radiosity. In fact, it is more similar to final gathering of irradiance samples and provides a noise free indirect light. | ||
− | <br /> | + | <br/> |
Some presets to radiosity are included, their names and settings are those of the rad_def include file shipped with POV-Ray, they set up the properties so you don't need to include the rad_def.inc in the exported pov, it's one of the many examples of what an interface like blender can bring to all POV-Ray users who are not used to have one. | Some presets to radiosity are included, their names and settings are those of the rad_def include file shipped with POV-Ray, they set up the properties so you don't need to include the rad_def.inc in the exported pov, it's one of the many examples of what an interface like blender can bring to all POV-Ray users who are not used to have one. | ||
− | |||
− | ===Anti-aliasing=== | + | |
+ | ===[http://wiki.povray.org/content/Reference:Tracing_Options#Anti-Aliasing_Options Anti-aliasing]=== | ||
Three sampling methods are supported: | Three sampling methods are supported: | ||
* non-recursive | * non-recursive | ||
Line 413: | Line 438: | ||
In the simple, non-recursive method, POV-Ray initially traces one ray per pixel. If the color of a pixel differs from its neighbours (to the left or above) by at least the set threshold value, then the pixel is super-sampled by shooting a given, fixed number of additional rays. The default threshold is 0.3 but it may be changed using this Antialias_Threshold=n.n option. | In the simple, non-recursive method, POV-Ray initially traces one ray per pixel. If the color of a pixel differs from its neighbours (to the left or above) by at least the set threshold value, then the pixel is super-sampled by shooting a given, fixed number of additional rays. The default threshold is 0.3 but it may be changed using this Antialias_Threshold=n.n option. | ||
− | + | {{NiceTip|Depth of Field Without Anti-Aliasing |Using no anti aliasing when camera Depth of field is on will speed up rendering and often provide decent enough images.}}<br/> | |
− | {{NiceTip|Depth of Field Without Anti-Aliasing |Using no anti aliasing when camera Depth of field is on will speed up rendering and often provide decent enough images.}}<br /> | + | <br/> |
− | <br /> | ||
− | ===Bounding method=== | + | ===[http://wiki.povray.org/content/Reference:Tracing_Options#BSP_Bounding Bounding method]=== |
Also called acceleration, it is set to automatic BSP (Binary space partitioning) by the exporter as it's generally the most efficient(POV-Ray 3.7 only) but other acceleration methods are available in POV-Ray. | Also called acceleration, it is set to automatic BSP (Binary space partitioning) by the exporter as it's generally the most efficient(POV-Ray 3.7 only) but other acceleration methods are available in POV-Ray. | ||
− | + | ||
− | ===Command line switches=== | + | ===[http://wiki.povray.org/content/Category:Command-Line_and_INI-File_Options Command line switches]=== |
Some command line arguments can be passed to POV-Ray. Arguments are separated by spaces. Command line switches consist of a / (Slash), + (plus) or - (minus) sign, followed by one or more alphabetic characters and possibly a numeric value. | Some command line arguments can be passed to POV-Ray. Arguments are separated by spaces. Command line switches consist of a / (Slash), + (plus) or - (minus) sign, followed by one or more alphabetic characters and possibly a numeric value. | ||
− | + | <br/> | |
− | |||
− | <br /> | ||
{| {{Css/prettytable}} | {| {{Css/prettytable}} | ||
|+ ''Some Commonly Used Commands'' | |+ ''Some Commonly Used Commands'' | ||
|- | |- | ||
− | |'''-D'''||'''Hide image while rendering'''<br /> | + | |'''-D'''||'''Hide image while rendering'''<br/> |
− | Use the command line switch '''-D''' to not show the rendered image in POV-Ray (slightly faster and lighter on memory). The image will be sent back to Blender after completion (on Linux this is a hidden default switch to avoid OS specific editor problems).<br /> | + | Use the command line switch '''-D''' to not show the rendered image in POV-Ray (slightly faster and lighter on memory). The image will be sent back to Blender after completion (on Linux this is a hidden default switch to avoid OS specific editor problems).<br/> |
|- | |- | ||
− | |'''+WT'''||'''Limit the number of threads used'''<br /> | + | |'''+WT'''||'''Limit the number of threads used'''<br/> |
− | '''+WT1''' limits POV-Ray to using only one single render thread. (Likewise, +WT2 would instruct POV-Ray to use two render threads.)<br /> | + | '''+WT1''' limits POV-Ray to using only one single render thread. (Likewise, +WT2 would instruct POV-Ray to use two render threads.)<br/> |
|- | |- | ||
− | |'''+C'''||'''Continue an interrupted render'''<br /> | + | |'''+C'''||'''Continue an interrupted render'''<br/> |
− | '''+C''' for "Continue trace" is able to recover the point at which your last render stopped and continue it from there (even if you switched off your computer)<br /> | + | '''+C''' for "Continue trace" is able to recover the point at which your last render stopped and continue it from there (even if you switched off your computer)<br/> |
|- | |- | ||
− | |'''/EXIT'''||'''Close POV-Ray after rendering the image'''<br /> | + | |'''/EXIT'''||'''Close POV-Ray after rendering the image'''<br/> |
There is also an option in POV-Ray for windows interface to do the same: | There is also an option in POV-Ray for windows interface to do the same: | ||
The "On Completion" option to "Exit POV-Ray for Windows" (in the '''Render Menu'''). | The "On Completion" option to "Exit POV-Ray for Windows" (in the '''Render Menu'''). | ||
− | <br /> | + | <br/> |
|} | |} | ||
− | <br /> | + | <br/> |
− | {{NiceTip|Fast Preview Renders |When first setting up your scene, and for fast preview rendering, turn off anti aliasing, depth of field, photons, Radiosity, expensive material features, and in the scene Shading panel, turn off shadows. (other features might get turned off from this panel in future versions of the exporter) | + | {{NiceTip|Fast Preview Renders |When first setting up your scene, and for fast preview rendering, turn off anti aliasing, depth of field, photons, Radiosity, expensive material features, and in the scene Shading panel, turn off shadows. |
− | Alternatively, use the | + | (other features might get turned off from this panel in future versions of the exporter) Alternatively, use the [Reference:Tracing_Options#Quality_Settings "quality" command line switches] '''+q1''' to '''+q11'''. |
− | <br /> | + | These allow you to easily disable most of the CPU-intensive features.}}<br/> |
+ | <br/> | ||
===Formatting=== | ===Formatting=== | ||
Line 456: | Line 479: | ||
*Option to add comments to POV-Ray file. | *Option to add comments to POV-Ray file. | ||
*Option to write long lists of coordinates in one line for easier browsing of the POV file (and slightly faster parsing by the renderer) | *Option to write long lists of coordinates in one line for easier browsing of the POV file (and slightly faster parsing by the renderer) | ||
− | + | *Choice of [[Reference:Global_Settings#Charset|character encoding]] is automatic for versions above 3.8 | |
== Scene Properties == | == Scene Properties == | ||
− | ===Color Management=== | + | ===[http://wiki.povray.org/content/Reference:Color_Expressions#Common_Color_Pitfalls Color Management]=== |
− | sRGB is supposed to be always used currently (except for world colors which seem to still be linear in Blender Internal). | + | [[Reference:Color_Expressions#sRGB_Colors|sRGB]] is supposed to be always used currently (except for world colors which seem to still be linear in Blender Internal). |
== World Properties == | == World Properties == | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |[[File:TerranPOV.png|480px|]] | + | |[[File:TerranPOV.png|left|480px|]] |
− | ===Background=== | + | ===[http://wiki.povray.org/content/Reference:Background Background]=== |
Blender '''World''' gets exported | Blender '''World''' gets exported | ||
− | *As POV-Ray | + | *As POV-Ray ''[[Reference:Background|background{}]]'' if flat colored |
− | * | + | *As a POV-Ray ''[[Reference:Sky_Sphere|sky_sphere{}]]'' when using Blender's '''Blend Sky''' option |
+ | (sky texture currently appears a little different because of its mapping). | ||
+ | |} | ||
+ | |||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |[[File:POV_ClearBlueSky.png| | + | |[[File:POV_ClearBlueSky.png|left|480px|]] |
Using a World Preset such as '''Clear Blue Sky''' can also setup scattering media to a natural looking atmosphere. | Using a World Preset such as '''Clear Blue Sky''' can also setup scattering media to a natural looking atmosphere. | ||
|} | |} | ||
− | + | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |[[File:PovStair.png| | + | |[[File:PovStair.png|left|480px|]] |
− | ===Atmospheric Media=== | + | ===[http://wiki.povray.org/content/Reference:Atmospheric_Media Atmospheric Media]=== |
− | (to create volume lights):<br /> | + | (to create volume lights):<br/> |
− | *Number of samples for media calculation<br /> | + | *Number of samples for media calculation<br/> |
− | *Atmospheric media color<br /> | + | *Atmospheric media color<br/> |
|} | |} | ||
− | <br /> | + | <br/> |
== Object Properties == | == Object Properties == | ||
− | ===Importance sampling=== | + | ===[http://wiki.povray.org/content/Reference:Radiosity#Importance Importance sampling]=== |
It is a priority value between 0 and 1 that can be set per object in the '''Object''' properties tab | It is a priority value between 0 and 1 that can be set per object in the '''Object''' properties tab | ||
for Radiosity to shoot more rays at object that require them most. | for Radiosity to shoot more rays at object that require them most. | ||
Line 494: | Line 520: | ||
The script exports Sky, Lights, Hair particles, Smoke, fluids, Meshes, Blobs (MetaBalls). | The script exports Sky, Lights, Hair particles, Smoke, fluids, Meshes, Blobs (MetaBalls). | ||
− | ===Camera=== | + | ===[http://wiki.povray.org/content/Reference:Camera Camera]=== |
− | ====Depth of Field==== | + | {| style="width:100%" border="0" |
+ | |[[File:postJhu.jpg|left|480px|]] | ||
+ | ====[http://wiki.povray.org/content/Reference:Camera#Focal_Blur Depth of Field]==== | ||
It has to be enabled for below property to act: | It has to be enabled for below property to act: | ||
The focal point of depth of field is based on Blender UI ''Distance'' field, or object field. | The focal point of depth of field is based on Blender UI ''Distance'' field, or object field. | ||
− | |||
− | |||
=====Aperture===== | =====Aperture===== | ||
sets the blur amount. (increase to get more) | sets the blur amount. (increase to get more) | ||
|} | |} | ||
− | <br /> | + | <br/> |
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |[[File:povNormalPerturbation.png| | + | |[[File:povNormalPerturbation.png|left|480px|]] |
− | ====Perturbation==== | + | ====[http://wiki.povray.org/content/Reference:Camera#Camera_Ray_Perturbation Perturbation]==== |
Normal map for camera plane, native POV procedural patterns can be used with variable | Normal map for camera plane, native POV procedural patterns can be used with variable | ||
Line 519: | Line 545: | ||
*''scale'' | *''scale'' | ||
|} | |} | ||
− | <br /> | + | <br/> |
− | === | + | ===Light=== |
*No Shadows toggle button can be used to deactivate tracing of shadows for specific lamps only | *No Shadows toggle button can be used to deactivate tracing of shadows for specific lamps only | ||
− | {{NiceTip|For Realistic Light Attenuation|Use Inverse square falloff, and a small falloff distance value with a higher light intensity will give the best results with Povray's implementation of inverse square law. See [ | + | {{NiceTip|For Realistic Light Attenuation|Use Inverse square falloff, and a small falloff distance value with a higher light intensity will give the best results with Povray's implementation of inverse square law. See [http://news.povray.org/povray.general/thread/%3Cweb.4d77b443f36cbfe281c811d20%40news.povray.org%3E/ this discussion]}}<br/> |
− | }}<br /> | + | <br/> |
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |[[File:BlenderToPovraySmoke.gif| | + | |[[File:BlenderToPovraySmoke.gif|left|480px|]] |
===Smoke=== | ===Smoke=== | ||
*A DF3 file (POV-Ray voxel format) is exported and used with a POV-Ray media container with the same dimension and resolution as Blender smoke Domain | *A DF3 file (POV-Ray voxel format) is exported and used with a POV-Ray media container with the same dimension and resolution as Blender smoke Domain | ||
|} | |} | ||
− | <br /> | + | <br/> |
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |[[File:BlenderToPovrayHair.png| | + | |[[File:BlenderToPovrayHair.png|left|480px|]] |
===Hair=== | ===Hair=== | ||
*A union of POV-Ray sphere_sweep is exported and used for each strand. | *A union of POV-Ray sphere_sweep is exported and used for each strand. | ||
Line 543: | Line 569: | ||
*and shape of sphere sweep tries to emulate shape of strands. | *and shape of sphere sweep tries to emulate shape of strands. | ||
|} | |} | ||
− | <br /> | + | <br/> |
== Material Properties == | == Material Properties == | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |[[File:Handle_Lamp_POV-Ray.png| | + | |[[File:Handle_Lamp_POV-Ray.png|left|480px|]] |
===Emission=== | ===Emission=== | ||
− | {{NiceTip|Mesh Lights |When used together with Radiosity, Emit property will allow you to create light bulbs or any luminous form that really illuminates other objects.}}<br /> | + | {{NiceTip|Mesh Lights |When used together with Radiosity, Emit property will allow you to create light bulbs or any luminous form that really illuminates other objects.}}<br/> |
− | <br /> | + | <br/> |
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |[[File:stylizedLevi_POV-Ray.png| | + | |[[File:stylizedLevi_POV-Ray.png|left|480px|]] |
− | ===SSS / SSLT=== | + | ===[http://wiki.povray.org/content/Reference:Finish#Subsurface_Light_Transport SSS / SSLT]=== |
Note that SSS in POV-Ray (called SSLT) is very sensitive and will give different results if the mesh normals are smooth shaded or flat. | Note that SSS in POV-Ray (called SSLT) is very sensitive and will give different results if the mesh normals are smooth shaded or flat. | ||
− | |||
− | |||
− | [ | + | ===[http://wiki.povray.org/content/Reference:Finish#Diffuse Translucency]=== |
+ | Illumination from the back of a surface is considered as a second and optional '''diffuse''' argument in POV-Ray. | ||
+ | |||
===IOR Mirror=== | ===IOR Mirror=== | ||
− | This option is for using one consistent IOR for raytrace reflection and refraction and not breaking the law of conservation of energy between the two. | + | This option is for using one consistent IOR for raytrace reflection and refraction and not breaking the law of [[Reference:Finish#Conserve_Energy_for_Reflection|conservation of energy]] between the two. |
− | ===Iridescence=== | + | ===[http://wiki.povray.org/content/Reference:Finish#Iridescence Iridescence]=== |
(Newton's thin film coating) | (Newton's thin film coating) | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |[[File:Caustics.png| | + | |[[File:Caustics.png|left|480px|]] |
===Caustics=== | ===Caustics=== | ||
− | *Chromatic dispersion for refractive caustics<br /> | + | *Chromatic dispersion for refractive caustics<br/> |
− | *Fast fake caustics (somewhat like Blender Raytransp)<br /> | + | *Fast fake caustics (somewhat like Blender Raytransp)<br/> |
− | *Refractive caustics using photons<br /> | + | *Refractive caustics using photons<br/> |
− | *Reflective caustics using photons (high IOR or no mirror IOR for easier effect.)<br /> | + | *Reflective caustics using photons (high IOR or no mirror IOR for easier effect.)<br/> |
|} | |} | ||
− | <br /> | + | <br/> |
− | {{NiceTip|Faster Photons |To set up some caustics, try moving from the smallest photon depth value to a minimum at which you start to see the effect you are after. Check off the ''Receive Photons'' object property for any object that does not really need it. (A glass object casting caustics often doesn't need to receive any itself.) Then you can balance other parameters to tune photons distribution and smoothing (gathering). Don't set the global spacing too fine in scene settings, because then you can still make it finer on each object using its spacing multiplier. If your system has several threads, they can be used in the photons stage: one thread per light, so you can then complexify your scene lighting without overhead.}}<br /> | + | {{NiceTip|Faster Photons |To set up some caustics, try moving from the smallest photon depth value to a minimum at which you start to see the effect you are after. |
− | <br /> | + | Check off the ''Receive Photons'' object property for any object that does not really need it.(A glass object casting caustics often doesn't need to receive any itself.) |
+ | Then you can balance other parameters to tune photons distribution and smoothing (gathering). | ||
+ | Don't set the global spacing too fine in scene settings, because then you can still make it finer on each object using its spacing multiplier. | ||
+ | If your system has several threads, they can be used in the photons stage: one thread per light, so you can then complexify your scene lighting without overhead.}}<br/> | ||
+ | <br/> | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
===shaders=== | ===shaders=== | ||
− | Emulation is attempted from blender for:<br /> | + | Emulation is attempted from blender for:<br/> |
− | *Specular and diffuse toon (no edges yet)<br /> | + | *Specular and diffuse toon (no edges yet)<br/> |
− | *Phong and Cook Torrence (both the same)<br /> | + | *Phong and Cook Torrence (both the same)<br/> |
− | *Blinn (not perfectly matched)<br /> | + | *Blinn (not perfectly matched)<br/> |
− | *WardIso<br /> | + | *WardIso<br/> |
− | *Fresnel and Minnaert, started but not finished yet<br /> | + | *Fresnel and Minnaert, started but not finished yet<br/> |
|} | |} | ||
− | <br /> | + | <br/> |
− | {{NiceTip|Glass Like Materials |When trying to achieve some glass like material, keep low diffuse value, dark or totally black to avoid dull surface and keep clear transparency.}}<br /> | + | {{NiceTip|Glass Like Materials |When trying to achieve some glass like material, keep low diffuse value, dark or totally black to avoid dull surface and keep clear transparency.}}<br/> |
− | <br /> | + | <br/> |
== Texture Properties == | == Texture Properties == | ||
Line 609: | Line 639: | ||
--(No other channel because of POV-Ray non uniform syntax for them) | --(No other channel because of POV-Ray non uniform syntax for them) | ||
− | ===Custom gamma=== | + | ===[http://wiki.povray.org/content/Documentation:Tutorial_Section_3.3#Gamma_Handling Custom gamma]=== |
For image textures (read POV-Ray 3.7 doc before using since it generally needs not be used.) | For image textures (read POV-Ray 3.7 doc before using since it generally needs not be used.) | ||
− | |||
− | |||
− | |||
{{Template:MoreDetails|Using Image Sequences| | {{Template:MoreDetails|Using Image Sequences| | ||
− | [ | + | [http://koti.mbnet.fi/mmyllyma/image_sequence.html Link to the original Tutorial by Markku Myllymäki] |
Note to the reader: this functionality works in Blender Internal, Cycles (see the end this document) and now it works with POV-Ray render (little change in POV-Ray exporter). For Blender itself it is old feature. | Note to the reader: this functionality works in Blender Internal, Cycles (see the end this document) and now it works with POV-Ray render (little change in POV-Ray exporter). For Blender itself it is old feature. | ||
Line 705: | Line 732: | ||
<br/> | <br/> | ||
{|width="100%" | {|width="100%" | ||
− | | | + | |left|<youtube>https://www.youtube.com/watch?v=PD4PmGLMyys</youtube> |
|} | |} | ||
Line 716: | Line 743: | ||
Though you can directly specify a texture {} block in POV-Ray files, the #declare directive allows to assign it to a variable and reuse it more easily. The exporter makes use of this feature by default, so you won't be able to use your custom texture, unless you declare it. Here is an example: | Though you can directly specify a texture {} block in POV-Ray files, the #declare directive allows to assign it to a variable and reuse it more easily. The exporter makes use of this feature by default, so you won't be able to use your custom texture, unless you declare it. Here is an example: | ||
− | <source lang=pov"> | + | <source lang="pov"> |
#declare MyTexture = | #declare MyTexture = | ||
texture{ | texture{ | ||
Line 733: | Line 760: | ||
{| width=100% | {| width=100% | ||
− | | valign=top | '''1.''' Navigate the text window menu to display the text properties {{Menu|View| | + | | valign=top | '''1.''' Navigate the text window menu to display the text properties {{Menu|View}}{{Submenu|Sidebar}} or use the {{Shortcut/Keypress|⌘ Ctrl}}{{Shortcut/Keypress|T}} shortcut |
| [[File:Pov_ReplaceWith01.png|thumb|400px|1]] | | [[File:Pov_ReplaceWith01.png|thumb|400px|1]] | ||
|- | |- | ||
| valign=top | '''2.''' In the text view properties option, you can chose to render 3d view and/or text. Enable ''Both''. | | valign=top | '''2.''' In the text view properties option, you can chose to render 3d view and/or text. Enable ''Both''. | ||
− | |||
|- | |- | ||
− | | valign=top | '''3.''' Syntax highlight detects pov | + | | valign=top | '''3.''' Syntax highlight detects the following file extensions: |
+ | <source lang="bat"> | ||
+ | *.pov | ||
+ | *.inc | ||
+ | *.mcr | ||
+ | *.ini | ||
+ | </source> | ||
+ | |||
| [[File:povSyntaxHighlight.png|thumb|400px|3]] | | [[File:povSyntaxHighlight.png|thumb|400px|3]] | ||
|- | |- | ||
− | | valign=top | '''4.''' Some complete POV-Ray scenes are available to Templates menu from the text header. | + | | valign=top | '''4.''' Some complete POV-Ray scenes are available to {{Menu|Templates}} menu from the text header. |
| [[File:povTemplatesMenu.png|thumb|400px|4]] | | [[File:povTemplatesMenu.png|thumb|400px|4]] | ||
|- | |- | ||
− | | valign=top | '''5.''' And an Insert Menu to add just some pov code snippets at cursor's location. | + | | valign=top | '''5.''' And an {{Menu|Insert}} Menu to add just some pov code snippets at cursor's location. |
| [[File:povInsertMenu.png|thumb|400px|5]] | | [[File:povInsertMenu.png|thumb|400px|5]] | ||
|- | |- | ||
Line 752: | Line 785: | ||
|} | |} | ||
− | <br /> | + | <br/> |
Blender and POV-Ray do not have the same coordinates systems: POV is Y up while Blender is Z up, so it is to be expected that text generated content is not turned the same as exported UI items since the exporter adds a transform matrix to all exported entities. So if you want to specify orientations more intuitively by looking at the interface, some transforms have to be specified at the end of your custom blocks, for instance as follows : | Blender and POV-Ray do not have the same coordinates systems: POV is Y up while Blender is Z up, so it is to be expected that text generated content is not turned the same as exported UI items since the exporter adds a transform matrix to all exported entities. So if you want to specify orientations more intuitively by looking at the interface, some transforms have to be specified at the end of your custom blocks, for instance as follows : | ||
Line 785: | Line 818: | ||
=POV-Ray Primitives= | =POV-Ray Primitives= | ||
− | Pressing {{Shortcut|Shift | + | |
− | + | Pressing {{Shortcut/Keypress|⇧ Shift}}{{Shortcut/Keypress|A}} in the 3D View allows you to add POV-Ray specific objects in addition to native Blender objects. | |
[[File:exporterAddMenu.png]] | [[File:exporterAddMenu.png]] | ||
Line 795: | Line 828: | ||
These objects are the type of objects that get created when you import a POV-Ray file, so that ideally, you could "exchange" data back and forth between POV-Ray and Blender. | These objects are the type of objects that get created when you import a POV-Ray file, so that ideally, you could "exchange" data back and forth between POV-Ray and Blender. | ||
− | ==Infinite Plane== | + | ==[http://wiki.povray.org/content/Reference:Plane Infinite Plane]== |
The rendered plane is actually infinite, but represented by a proxy in the 3D view, which is just very big, but still finite. Please report if you'd rather have a différent default scale. | The rendered plane is actually infinite, but represented by a proxy in the 3D view, which is just very big, but still finite. Please report if you'd rather have a différent default scale. | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |[[File:PovInfinitePlane1.png|400px|]]|[[File:PovInfinitePlane2.png| | + | |[[File:PovInfinitePlane1.png|400px|]]|[[File:PovInfinitePlane2.png|320px|]] |
|} | |} | ||
− | <br /> | + | <br/> |
− | [ | + | |
− | + | ==[http://wiki.povray.org/content/Reference:Box Box]== | |
Based on a mesh cube the object can be transformed using move/rotate/scale | Based on a mesh cube the object can be transformed using move/rotate/scale | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
|[[File:PovBox.png|400px|]] | |[[File:PovBox.png|400px|]] | ||
|} | |} | ||
− | <br /> | + | <br/> |
− | [ | + | |
− | + | ==[http://wiki.povray.org/content/Reference:Sphere Sphere]== | |
The sphere has a radius parameter, a location and a scale. | The sphere has a radius parameter, a location and a scale. | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
|[[File:PovSphere1.png|400px|]]|[[File:PovSphere2.png|400px|]] | |[[File:PovSphere1.png|400px|]]|[[File:PovSphere2.png|400px|]] | ||
|} | |} | ||
− | <br /> | + | <br/> |
− | [ | + | |
− | + | ==[http://wiki.povray.org/content/Reference:Cylinder Cylinder]== | |
In POV-Ray, cylinders are defined by radius, base point and end point. For convenience, move/rotate/escale can be used to the same effect. | In POV-Ray, cylinders are defined by radius, base point and end point. For convenience, move/rotate/escale can be used to the same effect. | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
|[[File:PovCylinder1.png|400px|]]|[[File:PovCylinder2.png|400px|]] | |[[File:PovCylinder1.png|400px|]]|[[File:PovCylinder2.png|400px|]] | ||
|} | |} | ||
− | <br /> | + | <br/> |
− | [ | + | |
− | + | ==[http://wiki.povray.org/content/Reference:Cone Cone]== | |
Cones have a basis radius and end radius | Cones have a basis radius and end radius | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
|[[File:PovCone1.png|400px|]]|[[File:PovCone2.png|400px|]] | |[[File:PovCone1.png|400px|]]|[[File:PovCone2.png|400px|]] | ||
|} | |} | ||
− | <br /> | + | <br/> |
− | [ | + | |
− | + | ==[http://wiki.povray.org/content/Reference:Torus Torus]== | |
Torus has a main radius and a section radius. | Torus has a main radius and a section radius. | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
|[[File:PovTorus1.png|400px|]]|[[File:Torus2.png|400px|]] | |[[File:PovTorus1.png|400px|]]|[[File:Torus2.png|400px|]] | ||
|} | |} | ||
− | <br /> | + | <br/> |
− | [ | + | |
− | + | ==[http://wiki.povray.org/content/Reference:Parametric Parametric]== | |
This is a surface generated from the combination of three mathematical equations | This is a surface generated from the combination of three mathematical equations | ||
− | [ | + | |
− | + | ==[http://wiki.povray.org/content/Reference:Rainbow Rainbow]== | |
The rainbow is a view dependant effect | The rainbow is a view dependant effect | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
|[[File:PovRainbow1.png|400px|]]|[[File:PovRainbow2.png|400px|]] | |[[File:PovRainbow1.png|400px|]]|[[File:PovRainbow2.png|400px|]] | ||
|} | |} | ||
− | <br /> | + | <br/> |
− | [ | + | |
− | + | ==[http://wiki.povray.org/content/Reference:Lathe Lathe]== | |
This object behaves like the Blender screw modifier to create surfaces by revolving a spline except instead of being tesselated beforehand, it follows the mathematical curvature of the spline so you won't see any polygons no matter how close you zoom. | This object behaves like the Blender screw modifier to create surfaces by revolving a spline except instead of being tesselated beforehand, it follows the mathematical curvature of the spline so you won't see any polygons no matter how close you zoom. | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |[[File:PovLathe1.png|400px|]]|[[File:PovLathe2.png|400px|]] | + | |[[File:PovLathe1.png|left|400px|]]|[[File:PovLathe2.png|400px|]] |
|} | |} | ||
− | <br /> | + | <br/> |
− | + | ||
− | ==Prism== | + | ==[http://wiki.povray.org/content/Reference:Prism Prism]== |
This is a POV-Ray primitive that simply extrudes a shape | This is a POV-Ray primitive that simply extrudes a shape | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |[[File:PovPrism.png|400px|]] | + | |[[File:PovPrism.png|left|400px|]] |
|} | |} | ||
− | <br /> | + | <br/> |
− | |||
− | ==Superquadric Ellipsoid== | + | |
+ | ==[http://wiki.povray.org/content/Reference:Superquadric_Ellipsoid Superquadric Ellipsoid]== | ||
A quite versatile tool that can provide quick models for cushion or star shaped objects | A quite versatile tool that can provide quick models for cushion or star shaped objects | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==HeightField== | + | [[File:PovSuperquadricEllipsoid.gif|250px|]][[File:PovSuperquadricEllipsoid2.gif|250px|]] |
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==[http://wiki.povray.org/content/Reference:Height_Field HeightField]== | ||
This is a displacement of a surface following a texture. Tessellation also happens at render time, so you don't need to subdivide anything before. | This is a displacement of a surface following a texture. Tessellation also happens at render time, so you don't need to subdivide anything before. | ||
− | {| style="width:100%" border="0" | + | {|style="width:100%" border="0" |
− | + | [[File:PovHeightField1.png|400px|]]|[[File:PovHeightField2.png|400px|]] | |
|} | |} | ||
− | + | [[HowTo:High_precision_heightfields|Read More]] | |
− | [[ | ||
− | == | + | ==[http://wiki.povray.org/content/Reference:Sphere_Sweep Sphere Sweep]== |
This POV-Ray primitive sweeps a sphere a long as spline to create an interpolated form that can have variations of radius along the spline. | This POV-Ray primitive sweeps a sphere a long as spline to create an interpolated form that can have variations of radius along the spline. | ||
It is also used to export hair strands. | It is also used to export hair strands. | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |[[File:PovSphereSweep1.png|400px|]]|[[File:PovSphereSweep2.png|400px|]] | + | |[[File:PovSphereSweep1.png|left|400px|]]|[[File:PovSphereSweep2.png|400px|]] |
|} | |} | ||
− | <br /> | + | <br/> |
− | |||
− | == | + | |
+ | ==[http://wiki.povray.org/content/Reference:Blob Blob Sphere]== | ||
Like Blender Metaballs | Like Blender Metaballs | ||
Line 897: | Line 927: | ||
|[[File:PovBlob1.png|265px|]]|[[File:PovBlob2.png|265px|]]|[[File:PovBlob3.png|265px|]] | |[[File:PovBlob1.png|265px|]]|[[File:PovBlob2.png|265px|]]|[[File:PovBlob3.png|265px|]] | ||
|} | |} | ||
− | <br /> | + | <br/> |
− | |||
− | ==Isosurfaces== | + | ==[http://wiki.povray.org/content/Reference:Isosurface Isosurfaces]== |
In POV-Ray isosurfaces are objects that can combine and be deformed using pigments or equations | In POV-Ray isosurfaces are objects that can combine and be deformed using pigments or equations | ||
− | |||
− | |||
===Isosurface Box=== | ===Isosurface Box=== | ||
Line 910: | Line 937: | ||
An isosurfacecomponent shaped as a sphere | An isosurfacecomponent shaped as a sphere | ||
===Supertorus=== | ===Supertorus=== | ||
− | An isosurface shaped as a torus with deforming parameters equivalent to those of | + | An isosurface shaped as a torus with deforming parameters equivalent to those of t. |
Parameters (POV-Ray names): | Parameters (POV-Ray names): | ||
+ | |||
*''MajorRadius'', ''MinorRadius'' = Base radii for the torus. | *''MajorRadius'', ''MinorRadius'' = Base radii for the torus. | ||
Line 925: | Line 953: | ||
|[[File:PovPolyToCircle1.png|400px|]]|[[File:PovPolyToCircle2.png|400px|]] | |[[File:PovPolyToCircle1.png|400px|]]|[[File:PovPolyToCircle2.png|400px|]] | ||
|} | |} | ||
− | <br /> | + | <br/> |
*Loft | *Loft | ||
Line 931: | Line 959: | ||
|[[File:PovLoft1.png|400px|]]|[[File:PovLoft2.png|400px|]] | |[[File:PovLoft1.png|400px|]]|[[File:PovLoft2.png|400px|]] | ||
|} | |} | ||
− | <br /> | + | |
+ | ==Parametric surfaces== | ||
+ | The primitive requiring user to activate Add Mesh: Extra Objects addon is Parametric surfaces: that other addon was indeed very well suited to create the 3D view mesh preview, so there was no need to reinvent the wheel. However it is considered bad practice for an addon to enforce activation of another addon so that decision has to be left to the user of activating that other dependency, even though it's still internally shipped with Blender and nothing else has to be done but mere checking of a box at first run (next sessions will remember it). The only consequence is that If you were to enable all addons, Blender would take slightly longer to startup. | ||
+ | |||
+ | *Parametric | ||
+ | {| style="width:100%" border="0" | ||
+ | |[[File:PovParametric1.png|400px|]]|[[File:PovParametric2.png|400px|]] | ||
+ | |} | ||
+ | <br/> | ||
=Importing POV-Ray files= | =Importing POV-Ray files= | ||
{| width=100% | {| width=100% | ||
− | | valign=top | '''1.''' From the same {{Shortcut|Shift | + | | valign=top | '''1.''' From the same {{Shortcut/Keypress|⇧ Shift}}{{Shortcut/Keypress|A}} menu, you can also import povray files |
| [[File:POV_importMenu_01.png|thumb|600px|1]] | | [[File:POV_importMenu_01.png|thumb|600px|1]] | ||
|- | |- | ||
− | | valign=top | '''2.''' Or otherwise, clicking {{Menu|File|Import}} from the main header menu | + | | valign=top | '''2.''' Or otherwise, clicking {{Menu|File}}{{Submenu|Import}} from the main header menu |
| [[File:POV_importMenu_02.png|thumb|600px|2]] | | [[File:POV_importMenu_02.png|thumb|600px|2]] | ||
|- | |- | ||
− | | valign=top | '''3.''' You can then select one or several files (holding {{Shortcut| | + | | valign=top | '''3.''' You can then select one or several files (holding {{Shortcut/Keypress|⇧ Shift}} or pressing {{Shortcut/Keypress|B}} for drag box selection |
| [[File:POV_importMenu_03.png|thumb|600px|3]] | | [[File:POV_importMenu_03.png|thumb|600px|3]] | ||
|} | |} | ||
{{Template:MoreDetails|Merging POV scripted Animations| | {{Template:MoreDetails|Merging POV scripted Animations| | ||
− | [ | + | [http://koti.mbnet.fi/mmyllyma/combine_blender_pov.html link to original tutorial] |
''While Blender is one of the best modelers in existence, it is primarily a polygon modeler. There are some cases when you want to use something like POV-Ray's CSG features, which are very good at pure, mathematical forms. But compositing POV-Ray and Blender output is hard work. However, there is a way to combine animations to one render with Blender's POV-Ray Exporter!'' | ''While Blender is one of the best modelers in existence, it is primarily a polygon modeler. There are some cases when you want to use something like POV-Ray's CSG features, which are very good at pure, mathematical forms. But compositing POV-Ray and Blender output is hard work. However, there is a way to combine animations to one render with Blender's POV-Ray Exporter!'' | ||
Line 952: | Line 988: | ||
Let's make an (very simple) example case: Spaceship flying out of hangar. We wanted to make a dilating door animation in POV-Ray, spaceship animation in Blender and combine them. | Let's make an (very simple) example case: Spaceship flying out of hangar. We wanted to make a dilating door animation in POV-Ray, spaceship animation in Blender and combine them. | ||
− | '''Preliminary | + | '''Preliminary function declaration''' |
<source lang="py"> | <source lang="py"> | ||
Line 1,028: | Line 1,064: | ||
We wrote the POV-Ray animation code. This is the ''animation_include_file.inc'' which was included in Python code. Note, that CURFRAMENUM is used. It is the animations current frame number in Blender! This way we can know what should happen and when in POV-Ray code. | We wrote the POV-Ray animation code. This is the ''animation_include_file.inc'' which was included in Python code. Note, that CURFRAMENUM is used. It is the animations current frame number in Blender! This way we can know what should happen and when in POV-Ray code. | ||
Here is the resulting animation: | Here is the resulting animation: | ||
− | [[File:CompoAnimPreview.png|center|480px|Click image to see the video.|link= | + | [[File:CompoAnimPreview.png|center|480px|Click image to see the video.|link=http://wiki.blender.org/uploads/5/52/Povtut2.mp4]] |
}} | }} | ||
Line 1,036: | Line 1,072: | ||
|tooltip= Renders scenes with POV-Ray 3.7 | |tooltip= Renders scenes with POV-Ray 3.7 | ||
|menu= Renderer rolldown menu | |menu= Renderer rolldown menu | ||
− | |usage= If POV-Ray 3.7 is installed, activate the addon in the menu {{Menu| | + | |usage= If POV-Ray 3.7 is installed, activate the addon in the menu {{Menu|Edit}}{{Submenu|<u>P</u>references}}. Choose it as the renderer and render with {{Shortcut/Keypress|F12}}. |
|version= 0.0.9 | |version= 0.0.9 | ||
|author= Campbell Barton, Silvio Falcinelli, Maurice Raybaud, Constantin Rahn, Bastien Montagne, Leonid Desyatkov | |author= Campbell Barton, Silvio Falcinelli, Maurice Raybaud, Constantin Rahn, Bastien Montagne, Leonid Desyatkov | ||
Line 1,043: | Line 1,079: | ||
|license= GPL | |license= GPL | ||
|distribution= Release | |distribution= Release | ||
− | |note= After May the 10th 2011, some development to the script limited backwards compatibility: If you set up some files prior to that and always use the latest exporter from SVN. It is advised to run the update script and resave your scene with the new version: get to the search bar with {{Shortcut|Space}} and type pov to access this command. | + | |note= After May the 10th 2011, some development to the script limited backwards compatibility: If you set up some files prior to that and always use the latest exporter from SVN. It is advised to run the update script and resave your scene with the new version: get to the search bar with {{Shortcut/Keypress| Space }} and type pov to access this command. |
|exe= (Python script)+ POV-Ray 3.7 | |exe= (Python script)+ POV-Ray 3.7 | ||
|download= | |download= | ||
Here are the logs of every commit to the source: | Here are the logs of every commit to the source: | ||
− | [ | + | [http://developer.blender.org/diffusion/BA/browse/master/render_povray/] |
*You can download all the script at once by clicking ''snapshot'' here: | *You can download all the script at once by clicking ''snapshot'' here: | ||
− | [ | + | [http://git.blender.org/gitweb/gitweb.cgi/blender-addons.git/tree/refs/heads/master:/render_povray] |
*or download a fresh blender build including scripts from generally a few days before here: | *or download a fresh blender build including scripts from generally a few days before here: | ||
− | [ | + | [http://builder.blender.org/download/] |
− | *And of course, don't forget to [ | + | *And of course, don't forget to [http://www.povray.org/download/ download and install POV-Ray] itself ! |
|modules= Used standard Python modules | |modules= Used standard Python modules | ||
− | |deps= {{Warning/Important}}'''Requires versions of POV-Ray after 3.7, it won't work with POV-Ray 3.6''' | + | |deps= {{Warning/Important}}'''Requires versions of POV-Ray after 3.7/3.8, it won't work with POV-Ray 3.6''' |
− | <br /> | + | <br/> |
|data= | |data= | ||
− | |bugtracker= [ | + | |bugtracker= [http://projects.blender.org/tracker/index.php?func=detail&aid=23145] |
|warning= Please report any bug or request! | |warning= Please report any bug or request! | ||
− | |link= | + | |link=http://povray.org/ |
|releaselog= [[Dev:2.5/Py/Scripts/Render/POV-Ray]] | |releaselog= [[Dev:2.5/Py/Scripts/Render/POV-Ray]] | ||
− | |issues= Currently Important: | + | |issues= Currently Important: Many properties have been broken in Blender 2.8... Use 2.79 if you want to be safe |
}} | }} |
Latest revision as of 15:05, 22 November 2024
Features
Some key features of the exporter include:
- Geometry import and export with their modifiers, keyed and physics animation
- Add POV-Ray specific non mesh primitives (never show tesselation)
- Instances
- Hair particles
- Smoke simulations
- Atmospheric media (volume fog)
- HDRI environment mapping
- Aperture depth of field
- Material properties such as filtering, emission, translucency, subsurface scattering, glass fog (tinted absorption), blurry/glossy reflections...
- Procedural textures (emulated from Blender Internal and POV-Ray native)
- Image textures
- Texture influence channels: Alpha ; Diffuse ; Bump ; Specular ; Mirror (uses same channel as specular)
- Global Illumination: Radiosity (Indirect Lighting) ; Photons caustics (reflect/refract); meshlights
- Custom POV-Ray code input giving access to any POV-Ray feature not supported by the exporter.
POV-Ray 3.7 features volumetrics and media (scattering/absorbing), blurry reflections(uberpov), ghosting for motion blur(uberpov), micropoly displacement (HGPOV) etc.
User's page | Developer's page |
- POV-Ray Site
- Exporter Quick Start
- POV-Ray Documentation
- Sample Materials
- POV-Ray centric default workspace
- ---
- ---
- ---
- ---
- ---
- ---
- ---
- ---
- design ideas
- regression files
Standard Script Information at the bottom of this page.
POV-Ray 3.7 Exporter for Blender 2.8x/4.1x
POV-Ray is an an SDL based (Scene Description Language) rendering engine with a long history that makes it very stable and feature rich. The latest version of POV-Ray 3.7 can be found at: http://www.povray.org/download/
Though this exporter is currently shipped with any official Blender builds, the POV-Ray 3.7 renderer itself is not included in Blender like some other renderers are (Cycles or Freestyle for instance). Instead, users are just expected to download and install it for themselves: See the Installation page for platform specific details on how to get, install or build POV-Ray.
Download
- Of course, don't forget to download and install POV-Ray itself !
The POV-Ray exporter is shipped with every official Blender release, so you can start using it directly.
However, after checking the logs of every commit to the source of the script for new features or bug fixes, if you find out you need an update,
- You can download all the script at once by clicking snapshot
- or download a fresh blender build including scripts from generally a few days before
here.
Usage
Quick Start
1. Go to the menu Persistence of Vision down the list of render Add-Ons. Choose the tab and check |
|
2. Choose | from renderer choices.|
3. Then you can render as usual with the F12 in default keymap) | render menu or its shortcut (
The image will be rendered according to parameters set in the Properties Window.
Main global render settings for instance can be changed in the tab of properties window.But there are also properties for environment, material (textures), object, etc. all accessible in neighboring tabs contextually depending on selected object (geometry, camera, light...) |
POV compatible forks
Below is a comparison of some features of the two engines available to this exporter to help picking a branch:
===== Feature/Engine/Support =====
|
===== POV-Ray =====
|
===== UberPOV =====
|
---|---|---|
Full Spectral Resolution | ||
Supersampling | ||
Alpha Mapping | ||
Bump Mapping | ||
Normal Mapping | ||
Displacement Mapping | ||
Motion Blur | ||
Sub Surface Scattering (SSS) | ||
Volumetric Scattering (Medium) | ||
Blurred Reflections | ||
Clay Render | ||
Depth of Field | ||
Material Layering | ||
Thin Film Coating | ||
Dispersion | ||
Anisotropy | ||
Thin Film Interference | ||
Complex IOR Files | ||
Coating Thickness Absorption | ||
Custom Reflectance 90 | ||
Custom Fresnel Curve | ||
Sigma Texture | ||
Sun-Pool Caustics | ||
Ambient Occlusion | ||
Lens Shift | ||
Diaphragm Circular/Polygonal | ||
Per-Model Texture Coordinates | ||
Texture Projection Modes | ||
Front/Camera Mapping | ||
Multiple UV Channels | ||
Texture Tone Mapping | ||
Procedural Textures | ||
Texture Layering | ||
Synthesis Texture Layering | ||
Point Lighting | ||
Mesh Lighting | ||
Image-based Lighting | ||
Physical Sun/Sky | ||
HDRI Support | ||
IES Support | ||
Instance Support | ||
Resume/Merge Render | ||
Interactive Render | ||
Vignetting / Bloom / Glare (Post) | ||
Camera Response CRF (Post) | ||
Color Balance (Post) | ||
Multithreading | ||
Region Rendering | ||
Passive Emitter | ||
Invisible Emitter | ||
Invisible Model | ||
Shadowless Model | ||
Shadowless Point Lights | ||
Bucket Rendering |
Activating UberPOV
UberPOV is a development branch of POV-Ray. Just like MegaPOV used to be in the old days.
HERE you can download a standalone installer that will not interfere with a standard POV-Ray installation and HERE is an update to the main binary.
Choose the feature set and just point the renderer path in to the location of the engine you choose to use and you're good to go.
Note that Feature Set is what features get written in the POV file and the Binary Location path points Blender at the binary to actually render it with. Whithout any Binary Location path, Blender will use the environment variables and try to find the most feature rich binary available in that directory. So if you installed UberPOV it's most probably being used for rendering, but you still need to enable its feature set to enjoy specific features, like blurry reflections. And if you want to be sure to use the plain official POV-Ray 3.7 engine instead, just explicitly point the Binary Location path to it.
Exported UI Properties
Render Properties
Radiosity
In POV-Ray, Radiosity is diffuse inter-reflection which has nothing to do with vertex color based radiosity. In fact, it is more similar to final gathering of irradiance samples and provides a noise free indirect light.
Some presets to radiosity are included, their names and settings are those of the rad_def include file shipped with POV-Ray, they set up the properties so you don't need to include the rad_def.inc in the exported pov, it's one of the many examples of what an interface like blender can bring to all POV-Ray users who are not used to have one.
Anti-aliasing
Three sampling methods are supported:
- non-recursive
- recursive
- stochastic (Monte-Carlo)
The third is only available for UberPOV
Sampling depth
Values must be comprised between 1 and 9. Higher values increase render time and may even introduce some undesired blur.
Anti-alias threshold
In the simple, non-recursive method, POV-Ray initially traces one ray per pixel. If the color of a pixel differs from its neighbours (to the left or above) by at least the set threshold value, then the pixel is super-sampled by shooting a given, fixed number of additional rays. The default threshold is 0.3 but it may be changed using this Antialias_Threshold=n.n option.
Depth of Field Without Anti-Aliasing | |
Using no anti aliasing when camera Depth of field is on will speed up rendering and often provide decent enough images. |
Bounding method
Also called acceleration, it is set to automatic BSP (Binary space partitioning) by the exporter as it's generally the most efficient(POV-Ray 3.7 only) but other acceleration methods are available in POV-Ray.
Command line switches
Some command line arguments can be passed to POV-Ray. Arguments are separated by spaces. Command line switches consist of a / (Slash), + (plus) or - (minus) sign, followed by one or more alphabetic characters and possibly a numeric value.
-D | Hide image while rendering Use the command line switch -D to not show the rendered image in POV-Ray (slightly faster and lighter on memory). The image will be sent back to Blender after completion (on Linux this is a hidden default switch to avoid OS specific editor problems). |
+WT | Limit the number of threads used +WT1 limits POV-Ray to using only one single render thread. (Likewise, +WT2 would instruct POV-Ray to use two render threads.) |
+C | Continue an interrupted render +C for "Continue trace" is able to recover the point at which your last render stopped and continue it from there (even if you switched off your computer) |
/EXIT | Close POV-Ray after rendering the image There is also an option in POV-Ray for windows interface to do the same: The "On Completion" option to "Exit POV-Ray for Windows" (in the Render Menu).
|
Fast Preview Renders | |
When first setting up your scene, and for fast preview rendering, turn off anti aliasing, depth of field, photons, Radiosity, expensive material features, and in the scene Shading panel, turn off shadows.
(other features might get turned off from this panel in future versions of the exporter) Alternatively, use the [Reference:Tracing_Options#Quality_Settings "quality" command line switches] +q1 to +q11. These allow you to easily disable most of the CPU-intensive features. |
Formatting
The exported POV-Ray file can be customized:
- Different indentation characters to choose from.
- Option to add comments to POV-Ray file.
- Option to write long lists of coordinates in one line for easier browsing of the POV file (and slightly faster parsing by the renderer)
- Choice of character encoding is automatic for versions above 3.8
Scene Properties
Color Management
sRGB is supposed to be always used currently (except for world colors which seem to still be linear in Blender Internal).
World Properties
BackgroundBlender World gets exported
(sky texture currently appears a little different because of its mapping). |
Using a World Preset such as Clear Blue Sky can also setup scattering media to a natural looking atmosphere. |
Atmospheric Media(to create volume lights):
|
Object Properties
Importance sampling
It is a priority value between 0 and 1 that can be set per object in the Object properties tab for Radiosity to shoot more rays at object that require them most. Touch this rather carefully when trying to improve render times.
Data Properties
The script exports Sky, Lights, Hair particles, Smoke, fluids, Meshes, Blobs (MetaBalls).
Camera
Depth of FieldIt has to be enabled for below property to act: The focal point of depth of field is based on Blender UI Distance field, or object field. Aperturesets the blur amount. (increase to get more) |
PerturbationNormal map for camera plane, native POV procedural patterns can be used with variable
|
Light
- No Shadows toggle button can be used to deactivate tracing of shadows for specific lamps only
For Realistic Light Attenuation | |
Use Inverse square falloff, and a small falloff distance value with a higher light intensity will give the best results with Povray's implementation of inverse square law. See this discussion |
Smoke
|
Hair
|
Material Properties
Emission
|