POV-Ray 3.7
POV-Ray is an SDL based (Scene Description Language) render 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 the project site.
Características
Algumas das principais características do exporter incluem:
Importação e exportação de Geometria com seus modifiers, keyed e animação física
Add POV-Ray specific non-mesh primitives (never show tessellation)
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 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), mesh lights
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/absorption), blurry reflections (uberPOV), ghosting for motion blur (uberPOV), micropolygon displacement (HGPOV), etc.
Ativação
Of course, don’t forget to download and install POV-Ray itself!
Open Blender and go to Preferences then the Add-ons tab.
Click Render then POV-3.7 to enable the script.
Usage
Início Rápido
Choose POV-Ray 3.7 from render engine selector. Then you can render as usual with the Render button.
The image will be rendered according to parameters set in the Properties.
Main global render settings for instance can be changed in the Render tab. But there are also properties for environment, material (textures), object, etc. all accessible in other tabs depending on the selected object (geometry, camera, light…).
POV-Ray Branches
Below is a comparison of some features of the two engines available to this exporter:
Feature/Engine/Support |
POV-Ray |
UberPOV |
---|---|---|
Full Spectral Resolution |
✗ |
✓ (under development) |
Supersampling |
✓ |
✓ |
Alpha Mapping |
✓ |
✓ |
Mapa de relevos |
✓ |
✓ |
Mapeamento das normais |
✗ |
✗ |
Mapa de deslocamento |
✗ |
✗ |
Desfoque de movimento |
✗ |
✓ |
Subsurface Scattering (SSS) |
✓ |
✓ |
Volumetric Scattering (Medium) |
✓ |
✓ |
Blurred Reflections |
✓ (very tricky) |
✓ |
Clay Render |
✓ |
✓ |
Depth of Field |
✓ |
✓ |
Material Layering |
✓ |
✓ |
Thin Film Coating |
✓ |
✓ |
Dispersão |
✓ |
✓ |
Anisotropy |
✗ |
✗ |
Thin Film Interference |
✓ |
✓ |
Complex IOR Files |
✗ |
✗ |
Coating Thickness Absorption |
✓ |
✓ |
Custom Reflectance 90 |
✓ |
✓ |
Custom Fresnel Curve |
✓ (tricky) |
✓ (tricky) |
Sigma Texture |
✓ |
✓ |
Sun-Pool Caustics |
✓ |
✓ |
Oclusão ambiente |
✗ (tricky) |
✓ (under development) |
Alteração de lentes |
✓ |
✓ |
Diaphragm Circular/Polygonal |
✓ |
✓ |
Per-Object Texture Coordinates |
✓ |
✓ |
Texture Projection Modes |
✓ |
✓ |
Front/Camera Mapping |
✓ (tricky) |
✓ (tricky) |
Multiple UV Channels |
✗ |
✗ |
Texture Tone Mapping |
✓ (tricky) |
✓ (tricky) |
Procedural Textures |
✓ |
✓ |
Texture Layering |
✓ |
✓ |
Synthesis Texture Layering |
✓ |
✓ |
Point Lighting |
✓ |
✓ |
Mesh Lighting |
✓ |
✓ |
Image-based Lighting |
✓ |
✓ |
Physical Sun/Sky |
✓ (tricky) |
✓ (tricky) |
HDRI Support |
✓ |
✓ |
IES Texture Support |
✗ |
✗ |
Instance Support |
✓ |
✓ |
Resume/Merge Render |
✓ |
✓ |
Interactive Render |
✓ |
✓ |
Vignetting / Bloom / Glare (Post) |
✓ (tricky) |
✓ (tricky) |
Camera Response Function (CRF) (Post) |
✗ |
✗ |
Color Balance (Post) |
✗ |
✗ |
Multithreading |
✓ |
✓ |
Region Rendering |
✓ |
✓ |
Passive Emitter |
✓ |
✓ |
Invisible Emitter |
✓ |
✓ |
Invisible Object |
✓ |
✓ |
Shadowless Object |
✓ |
✓ |
Shadowless Point Lights |
✓ |
✓ |
Bucket Rendering |
✓ |
✓ |
Exported UI Properties
Render Properties
Radiosidade
No POV-Ray, «Radiosity» é a interreflexão difusa que nada tem a ver com a radiosity baseada em vertex color. Na verdade, é mais semelhante à captação de amostras de radiação e fornece uma luz indireta sem ruído.
Alguns presets para a radiosidade estão incluídas, seus nomes e configurações são os do rad_def
incluem arquivo enviado com o POV-Ray, eles configuram as propriedades para que você não precise incluir o rad_def.inc`
no arquivo pov- exportado, é um dos muitos exemplos do que uma interface como o Blender pode trazer para todos os usuários do POV-Ray que não estão acostumados a ter uma.
Veja também
More details on POV-Ray Wiki.
Anti-Aliasing
São suportados três métodos de amostragem:
Non-recursive
Recursive
Stochastic (Monte Carlo) Disponível apenas para UberPOV.
Sampling Depth
Os valores devem ser compreendidos entre 1 e 9. Valores mais altos aumentam o tempo de renderização e podem até fazer surgir algum desfoque indesejado.
Anti-Alias Threshold
No método simples e non-recursive, o POV-Ray traça inicialmente um raio por pixel. Se a cor de um pixel difere de seus vizinhos (à esquerda ou acima) pelo menos pelo valor limite definido, então o pixel é testado mais vezes através do lançamento de um determinado número fixo de raios adicionais. O limite padrão é 0.3 mas pode ser alterado utilizando esta opção Antialias_Threshold=n.n`
.
Veja também
More details on POV-Ray Wiki.
Dica
Profundidade de Campo Sem Anti-Aliasing
O uso de anti-aliasing quando a profundidade de campo da câmera está ligada acelerará a renderização e muitas vezes fornecerá imagens decentes o suficiente.
Bounding Method
Também chamado de aceleração, é definido pelo exportador como BSP (Binary Space Partitioning) automático, pois é geralmente o mais eficiente (POV-Ray 3.7 apenas), mas outros métodos de aceleração estão disponíveis no POV-Ray.
Veja também
More details on POV-Ray Wiki.
Command Line Switches
Alguns argumentos de linha de comando podem ser passados para o POV-Ray. Os argumentos são separados por espaços. As chaves de linha de comando consistem de um sinal `/
(Slash), +
(mais) ou -
(menos), seguido por um ou mais caracteres alfabéticos e possivelmente um valor numérico.
Veja também
More details on POV-Ray Wiki.
Some Commonly Used Commands:
-D
: Hide image while renderingUse this command line switch 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 usedLimits POV-Ray to using only one single render thread. (Likewise,
+WT2
would instruct POV-Ray to use two render threads.)+C
: Continue an interrupted renderFor «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 imageThere is 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).
Dica
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 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).
Propriedades da cena
Gerenciamento de cores
sRGB is supposed to be always used currently.
World Properties
Background
Blender World gets exported:
As POV-Ray
background{}
if flat colored.Using Blender’s Blend Sky options triggers its export as a POV-Ray
sky_sphere{}
.
(Sky texture currently appears a little different because of its mapping).
Atmospheric Media
(To create volume lights):
Number of samples for media calculation
Atmospheric media color
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 cast more rays at objects 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).
Câmera
Depth of Field
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.
Aperture
Sets the blur amount (increase to get more).
Perturbation
Normal map for camera plane, native POV procedural patterns can be used with variable:
Strength
Turbulência
Scale
Lights
No Shadows toggle button can be used to deactivate tracing of shadows for specific lights only.
Dica
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 POV-Ray’s implementation of inverse square law. See this discussion.
Fumaça
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.
Hair
A union of POV-Ray sphere_sweep
is exported and used for each strand.
They can take the color of a texture applied to emitting object,
and shape of sphere sweep tries to emulate shape of strands.
Material Properties
Emissão
Dica
Mesh Lights
When used together with Radiosity, the Emit property will allow you to create light bulbs or any luminous form that really illuminates other objects.
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.
Translucency
Illumination from the back of a surface.
Veja também
More details on POV-Ray Wiki.
IOR Mirror
This option is for using one consistent IOR for ray-traced reflection and refraction and not breaking the law of conservation of energy between the two.
Iridescence
(Newton’s thin film coating.)
Caustics
Chromatic dispersion for refractive caustics
Fast fake caustics (somewhat like Blender Ray Transparency)
Refractive caustics using photons
Reflective caustics using photons (high IOR or no mirror IOR for easier effect.)
Dica
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 make your scene lighting more complex without overhead.
Sombreadores
Emulation is attempted from Blender for:
Specular and diffuse toon (no edges yet)
Phong and Cook Torrance (both the same)
Blinn (not perfectly matched)
Ward isotropic
Fresnel and Minnaert, started but not finished yet
Dica
Glass Like Materials
When trying to achieve some glass like material, keep low diffuse value, dark or totally black to avoid a dull surface and keep a clear transparency.
Texture Properties
UV Coordinates
Best with planar projection for now. (Silvio Falcinelli)
Texture Channels
Texture influences currently exported are: Alpha, Diffuse, Bump, Specular, Mirror (uses same channel as specular). (No other channel because of POV-Ray non-uniform syntax for them.)
Custom Gamma
For image textures (read POV-Ray 3.7 docs before using since it generally needs not be used).
Veja também
More details on POV-Ray Wiki.
Custom POV Code
POV-Ray files are not just pure data files (unlike with most other renderers). They are programs, with loops, functions, etc. This means that no matter how many features this exporter could support, POV-Ray will always have much more under the hood.
Step by Step
You can add custom POV code directly in Blender’s Text editor,
all you have to do is to make sure this POV code has directly or indirectly a #declare
keyword,
followed by the name of your choice and the POV item you want to use.
(Current POV syntax is closer to C than Python, so anything that follows two slash character (//
) is a comment.)
Adding POV Code Directly
POV items can be anything but for now only the equivalent of Blender materials can be replaced with this method.
In POV-Ray, it is called texture {}
don’t get confused, it really includes all the material properties.
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:
#declare MyTexture =
texture{
pigment{
brick color rgb< 0.99, 0.99, 0.99> // color mortar
color rgb< 0.75, 0.5, 0.30>*0.75 // color brick
brick_size <0.25, 0.0525, 0.125> // format in X, Y and Z-direction
mortar 0.01 // size of the mortar
scale 3
} // end of pigment
normal {wrinkles 0.75 scale 0.01}
finish {ambient 0.15 diffuse 0.95 phong 0.2}
rotate<0,0,0> translate< 0.01, 0.00, 0.00>
} // end of texture
Open the Text editor’s Sidebar.
In the text view properties option, you can chose to render 3D View and/or text. Enable Both.
Syntax highlight detects
pov/inc/mcr/ini
extensions.Some complete POV-Ray scenes are available to Templates header menu.
And an Insert menu to add just some POV code snippets at cursor’s location.
Then you have to go into the material properties to the Custom POV Code field, and just type in the name of your declared item to use: «MyTexture» in the example given. Then you can render your image normally and the material will be replaced.
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:
scale <-1, 1, 1>
rotate <90, 0, -90>
}
Adding POV Code from Include Files
In any POV-Ray scene you can use the #include
directive to add items from an external POV-Ray file.
It’s like the import function in Python. The files to be included have .inc
as their name extension.
Then in the replacement field, you can type in any of the declared names available in the include file.
«Out of the box», POV-Ray ships with a lot of include files.
So you can use them for your textures, but you can also use them for some of their elements.
For instance a very often used include file is one that allows to call colors by their names
instead of numbers called colors.inc
, so the previous example could also be written:
#include "colors.inc"
#declare MyTexture =
texture{
pigment{
brick color White*0.99 // color mortar
color rgb< 0.75, 0.5, 0.30>*0.75 // color brick
brick_size <0.25, 0.0525, 0.125> // format in x, y and z- direction
mortar 0.01 // size of the mortar
scale 3
} // end of pigment
normal {wrinkles 0.75 scale 0.01}
finish {ambient 0.15 diffuse 0.95 phong 0.2}
rotate<0,0,0> translate< 0.01, 0.00, 0.00>
} // end of texture
Some other POV-Ray specific objects are also available: In POV-Ray a triangle mesh is just one primitive among many. You can explore the POV-Ray language by modifying the output file and with the same method, add these primitives by hand, or you can just pick some from the Add menu.
POV-Ray Primitives
The Add menu in the 3D Viewport allows you to add POV-Ray specific objects in addition to native Blender objects.
They are mathematically defined shapes as opposed to meshes. The sphere, torus, cylinder or cone side will always be round and smooth when rendered, no matter how close you get, and regardless of their appearance in the 3D Viewport, which is only a proxy.
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
The rendered plane is actually infinite, but represented by a proxy in the 3D Viewport, which is just very big, but still finite. Please report if you would rather have a different default scale.
Veja também
More details on POV-Ray Wiki.
Caixa
Based on a mesh cube the object can be transformed using move/rotate/scale
Veja também
More details on POV-Ray Wiki.
Esfera
The sphere has a radius parameter, a location and a scale.
Veja também
More details on POV-Ray Wiki.
Cilindro
In POV-Ray, cylinders are defined by radius, base point and end point. For convenience, move/rotate/scale can be used to the same effect.
Veja também
More details on POV-Ray Wiki.
Cone
Cones have a basis radius and end radius.
Veja também
More details on POV-Ray Wiki.
Objeto toroidal
Torus has a main radius and a section radius.
Veja também
More details on POV-Ray Wiki.
Parametric
This is a surface generated from the combination of three mathematical equations.
Veja também
More details on POV-Ray Wiki.
Rainbow
The rainbow is a view dependent effect.
Veja também
More details on POV-Ray Wiki.
Lathe
This object behaves like the Blender Screw modifier to create surfaces by revolving a spline except instead of being tessellated beforehand, it follows the mathematical curvature of the spline so you won’t see any polygons no matter how close you zoom.
Veja também
More details on POV-Ray Wiki.
Prism
This is a POV-Ray primitive that simply extrudes a shape.
Veja também
More details on POV-Ray Wiki.
Superquadric Ellipsoid
A quite versatile tool that can provide quick models for cushion or star-shaped objects.
Veja também
More details on POV-Ray Wiki.
Height Field
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.
Veja também
More details on POV-Ray Wiki.
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. It is also used to export hair strands.
Veja também
More details on POV-Ray Wiki.
Blob Sphere
Like Blender metaballs.
Veja também
More details on POV-Ray Wiki.
Isosurfaces
In POV-Ray isosurfaces are objects that can combine and be deformed using pigments or equations.
Veja também
More details on POV-Ray Wiki.
- Isosurface Box
Um componente isosurface em forma de caixa.
- Isosurface Sphere
Uma isosurface em forma de esfera.
- Supertorus
Uma isosurface em forma torus com parâmetros deformadores equivalentes aos do superellipsoid.
Parameters (POV-Ray names):
MajorRadius
,MinorRadius
Base radii for the torus.
MajorControl
,MinorControl
Controls for the roundness of the supertorus. Use numbers in the range [0, 1].
Accuracy
O parâmetro de precisão.
MaxGradient
The max_gradient parameter.
Macro Based Primitives
Duas primitives são na verdade macros que geram uma malha a partir de curvas antes de renderizar:
Polygon to Circle Blending
Loft
Importing POV-Ray Files
From the same Add menu, you can also import POV-Ray files.
Or otherwise, clicking
from the Topbar menu.You can then select one or several files.
Reference
- Categoria
Render
- Descrição
POV-Ray 3.7 integration for Blender.
- Localização
- Arquivo
render_povray folder
- Autor
Campbell Barton, Maurice Raybaud, Leonid Desyatkov, Bastien Montagne, Constantin Rahn, Silvio Falcinelli
- License
GPL
- Nota
Este add-on é fornecido com o Blender.