|
 |
Currently we are at beta 28, which will expire on the 1st of September 2008.
Use of this POV-Ray beta software is covered by the same license as that which applies
to version 3.6.1 (the current full release).
The 32-bit Windows v3.7 beta 28 is available in a MSI installer package
which contains 32-bit standard and SSE2 executables as well as support files such as scenes, include files, and so forth. Please
read the release notes below regarding the limitations of this installer, which is itself in beta-test. A 64-bit Windows beta will
be made available in the next few days.
Note: The issue with non-administrator installs present in the version posted on
Sunday 3 August should now be resolved. However installs for 'All Users' on Vista will still
not function correctly. Please do not select 'All Users' as an option on Vista when installing.
We hope that the Linux beta 28 will be available shortly. In any event, we will be updating the source code release
such that Linux users can build their own beta 28 binaries. In the meantime, please use beta 25 with the expiry extension feature (see below).
The Linux versions require an x86 32 or 64-bit 2.6.8 or later kernel and are available in:
The source code for version 3.7 beta may be obtained via our beta source code page.
Currently it is at beta 25; it will shortly be updated for beta 28.
Following is a quick summary of some of the changes. Be sure to read this before using the software.
The following features are not yet supported but will be added prior to release
-------------------------------------------------------------------------------
o Redirecting text message output to files.
Known issues which will be fixed
--------------------------------
o There is an issue with media and transparency. See <42769324$1@news.povray.org>.
o Radiosity support is still alpha quality.
o No preview during radiosity pre-trace.
o Dispersion support is alpha and there are some issues.
o 'Pixels rendered' count during mosaic preview will be incorrect.
-------------------------------------------
Changes between 3.7.beta.27 and 3.7.beta.28
-------------------------------------------
Fixed multiple invocations of crash handler if exceptions occur in more than
one thread.
Fixed 'white outlines in df3 patterns with interpolate 2' issue reported in
<483d2920@news.povray.org>.
Fixed str() crash reported in <web.4880f0adaf19f856c59235590@news.povray.org>.
Fixed bounding box calculation flaw that caused in some cases major slow-downs
in scenes using difference (e.g. abyss.pov).
Re-implemented light color cache for textures. without this, each subsequent
layer (after the first) in a multi-layered texture will cause an unnecessary
call to TraceShadowRay and its subsequent intersection test to determine the
light color at that point.
Fixed issue with INI directory exclusion in IO permissions.
Improvements to Windows installer: now asks if install is for one user or all
users, and sets default install dir to suit. Note: it would be nice to detect
if a user has Administrator permissions prior to showing this option, but
unfortunately - at least on Vista - the windows installer engine intentionally
provides false information about the privileges of the user. This will lead to
non-privileged Vista users being offered the opportunity to do a global install
which of course will fail (presuming they accept the default destination). The
workaround for this (setting a property) causes the opposite problem: all users
get tagged as not having Administrator permissions, even if UAC elevation would
have granted it during install.
-------------------------------------------
Changes between 3.7.beta.26 and 3.7.beta.27
-------------------------------------------
Fixed incorrect flag test which would have resulted in issues with cutaway
textures and CSG or objects with double_illuminate set.
Fixed crash with inverse and CSG reported in <web.4828b51b6d261ebff3e4f6a20@news.povray.org>.
Added support for specifying grayscale output via INI file or command-line.
This is intended to replace the use of hf_gray_16 in global_settings.
hf_gray_16, if encountered, has no effect on the output type and will
additionally generate a warning message (as before).
Currently only PNG file support is provided with grayscale output; others
will be added over time.
Grayscale output may be specified via 'Grayscale_Output=true' as an INI
option, or '+Fxg' (for output type 'x') as a command-line option. For
example, '+Fng' for PNG grayscale output.
Caveat: grayscale output implies the maximum bit-depth the format supports;
for PNG this is 16. it is not valid to specify bits per color channel with
'g' (e.g. '+Fng16' is not allowed, and nor for that matter is '+Fn16g'). If
bits per channel is provided via an INI option, it is ignored.
Improved handling of memory allocation failures during parse.
Fixed issue whereby manual bounds, clips, patterns, UV, and interior were left
behind when a transformation was applied to a CSG object.
Changed back to using pvengine.ini to store POVWIN options and improved the
code that migrates version 3.6 options (if present) to 3.7. NOTE: not all
options from the v3.6 pvengine.ini are migrated: this is intentional and may
change later (it mainly involves options that contained pathnames).
Further split the POVWIN install and data dirs - this moves the ini, scenes,
and insert menu directories to the user's Application Data folder, for example,
c:\Documents and Settings\<user name>\Application Data\POV-Ray\v3.7\.
Created a Windows Installer which takes care of setting up the above for Win32
systems. Win64 is pending. NOTE: the installer currently only installs for the
user who ran it: that is, the 'Application Data\POV-Ray\v3.7\...' files are
only installed for that user. This won't be the case with the final installer;
it will set things up such that when pvengine.exe is run for the first time by
a user who has not had the program set up for them, the appropriate files are
created in their Application Data directory (this is a Windows Installer feature).
-------------------------------------------
Changes between 3.7.beta.25 and 3.7.beta.26
-------------------------------------------
Fix the "no_image and transparency" problem reported in
<web.46f84a9cd032f3c7cb86afba0@news.povray.org>.
Fix the animation frame number issue reported in <478561e3@news.povray.org>;
Re-enable Include_Header thanks to patch from Stefaan De Roeck
(see <47fb5d65@news.povray.org>).
Fix 'library path accumulation' issue reported in <481da512$1@news.povray.org>.
Apply isosurface cache fix suggested by Lukas Winter in <47c5b8b6$1@news.povray.org>.
Workaround for race condition that would cause 'timed out waiting for worker
thread' error.
-------------------------------------------
Changes between 3.7.beta.24 and 3.7.beta.25
-------------------------------------------
Windows: moved all settings that used to be in PVENGINE.INI into the registry.
This means that all PVENGINE settings (not to be confused with editor settings,
which were already in the registry) will revert to their defaults. PVENGINE.INI
is no longer used by POV-Ray 3.7.
Windows: moved the location of PVTOOLS.INI into the user profile folder: e.g.
C:\Documents and Settings\<user>\Application Data\POV-Ray for Windows\pvtools.ini
This change only alters the location that POV-Ray for Windows looks for the
tools file - it does *not* automatically copy it. This is because of course
when 3.7 is finally distributed, the installer will put the file in the
correct place. If you use pvtools.ini, please manually copy it as above (the
destination folder will be created the first time the new beta runs).
Windows: as of this beta, version 5 of the common control DLL is required.
This was supplied with IE5, so it's highly unlikely that it won't be present
on any version of windows that POVWIN still supports.
Linux: add auto setting of thread count and rework --benchmark. The number of
threads is now set as the number of detected CPUs, or 4 otherwise. The built-in
benchmark now accepts +Lpath command-line options and does no longer read any
INI file but the provided one.
Fixed double-illumination problem with the area_illumination feature.
Fixed an issue where irid, ground fog, and constant fog were using noise generator
0 rather than the default generator.
Fixed the 'area lights and transform' bug reported in
<web.4639ad4565c782bbc717c9af0@news.povray.org>.
-------------------------------------------
Changes between 3.7.beta.23 and 3.7.beta.24
-------------------------------------------
Added multiple-thread support to photon shooting code. To take advantage
of this at the moment, your scene will need multiple light sources.
Added experimental support for full area light diffuse and specular
illumination. By default this is off and thus area lights will work as
previously, but the new feature can be turned on by specifying the new
'area_illumination' keyword (followed by an optional on/off keyword) in
the light source definition. The settings which determine the quality of
the lighting are the Size_1 and Size_2 parameters of the area light
(similarly to how they determine the quality of the shadows).
Added experimental support for reading the pixel resolution of an image
map. This is done by giving an image map pigment identifier to max_extent(),
which will ten return the resolution of the image map as the x and y values
of the returned vector.
Added a new list pattern type: 'cubic'. It takes six texture elements and maps
each one to each of the six pyramids centered at each half-axis (thus
effectively mapping each texture element to each side of a origin-centered
cube).
Added a new warp type: cubic (which takes no parameters). It maps an area
in the x-y plane between <0,0> and <1,1> around the origin in the same way
as uv-mapping an origin-centered cube-shaped box would. (Naturally the warp
works with any object whereas the uv-mapping only works for the box object.)
See the documentation of box uv-mapping for details.
Fixed superellipsoid bug reported in <6p8nj3tckhrd1pihpofmvltqrfrs4lish8@4ax.com>
-------------------------------------------
Changes between 3.7.beta.22 and 3.7.beta.23
-------------------------------------------
POVWIN now allows an expired beta to be extended by up to one week at a time.
Photon refraction and dispersion fixes.
Added comparison ('=', '!=', '<', '<=', '>', '>=') support for strings.
--------------------------------------------
Changes between 3.7.beta.20b and 3.7.beta.22
--------------------------------------------
The trace level in the trace() function is now incremented only if
an object was hit and the object is marked to increment the trace
level, or if the ray was a radiosity ray. Objects which do not use
reflection nor ior (but which might be semi-transparent) are marked
as not incrementing the trace level.
Workaround for the temp file mapping not being completed.
Temp files are now created as before (in the place specified).
Fixed issue whereby an I/O restrictions error would be displayed rather than
'input file not found' in certain cases where POVWIN was asked to render a
source file that was not present.
Further fix for media_attenuation bug
Fix SDL crash reported in <4617c41e$1@news.povray.org>.
Added Control-A support in windows version commandline input box (select all).
Changed windows version render window keypress code to hand focus to main window
for any key, not just escape.
Fixed fog (and participating media) shadow attenuation issues.
Media computation was ignoring the lightsource's media_attenuation
flag under some circumstances, and was attenuating shadow rays if
the shadow ray had intersected an object.
Fixed jpeg temp file issue reported in thread <web.46168c053403448a4f02351a0@news.povray.org>.
Fixed incorrect unix exit value when closing the display window (user abort)
Temporarily hard-coded INI keywords into editor syntax table for INI files.
Changes between 3.7.beta.20a and 3.7.beta.20b
---------------------------------------------
Added 'alternate render file' feature to povwin IDE. See comments below.
Added extensions .MCR and .MAC to list of files povwin considers include
files (i.e. which are filtered as such in the various file dialogs and
assigned the POV file type for the editor syntax highlighting).
Added .INI file type to povwin editor syntax highlighting.
Added window menu to povwin IDE. Entries are MRU-sorted.
Activated memory statistics code in Windows build.
Fixed issue with editor window splitting not being restored
(<45620b9e$1@news.povray.org>).
Fixed issue with file type not being set on initial save if 'save as'
was not used (reported many times, including <45602a08@news.povray.org>
and <46092c8a@news.povray.org>).
Windows Editor Changes
----------------------
This beta introduces two notable changes to the POVWIN IDE.
Firstly, it now has a Window menu, which is located where the GUIEXT
menu used to be (the latter has moved to within the Options menu).
While technically a Window menu is not necessary, as all open files
are visible in tabs, the addition of this menu provides two advantages:
1. We can provide the option of showing all tabs on a single line,
with a scroller to view non-visible ones. This has not yet been
added but will be at a later point.
2. The MRU arrangement of the window menu makes it trivial to toggle
between files without taking your eyes off the text or using the
mouse. The most recently view window (i.e. the current one) will
always be entry 1 in the list. The second most recently viewed
(i.e. the last window viewed before switching to the current one)
will always be entry 2 in the list, and so forth. Given that
entries 1 through 10 in the list are given the menu mnemonics
1 through 0 respectively, it is therefore clear that to toggle
between the current and previous files all you need to do is hit
Alt-W then 2. To go to the third oldest, Alt-W then 3, and so
forth.
Currently, the MRU list is not saved on exit. This will be added.
We may also add keyboard accelerators (e.g. ALT-2, ALT-3 etc) as
a shortcut for Alt-W 2, etc.
Secondly, there is now an 'alternate render file' feature. This is
intended to make things easier when editing macro or include files.
While it is possible to use SDL to detect whether a macro/include file
is being rendered directly and to pull in supporting code, that approach
is not very flexible.
The alternate render file feature allows a render to be started on an
include file, and instead of the include file being rendered directly
(as would have happened previously), the source file that most recently
included that file in a render will be rendered instead. Note that by
'source file', we mean either a .POV or .INI file.
For this feature to work, you need to have rendered a file which
includes the target file during the current editing session (the
association between include files and source files is not persisted when
POVWIN exits). Additionally you need to have requested to render a
source file which does not have the .POV or .INI extension. When you
request the render, a message box will appear asking you what to do. You
can choose to render the alternate file this time only, to render the
alternate file each time you render this one, or to render this one each
time (i.e. disable the alternate file option).
In all cases, the choice you give only persists for the current editing
session; it is not restored when you re-launch POVWIN. This is by
design.
Changes between 3.7.beta.20 and 3.7.beta.20a
--------------------------------------------
Added preliminary Linux support for CPU timer; might return incorrect results
depending on the platform.
Added preliminary Linux support for signal catching (e.g. when aborting a
render by hitting Ctrl+C).
Fixed the +p option under Linux to trigger an interframe pause in animations.
Fixed unrestricted display and file gamma; must now be at least 0.001.
Fixed PNG gamma issue reported in <45aa976e$1@news.povray.org> and
<45c11eed$1@news.povray.org>.
Fixed uv mapping issue reported in <45602a08@news.povray.org> and
<46092c8a@news.povray.org>.
Fixed Winpov issue with editor window splitting not being restored
reported in <45620b9e$1@news.povray.org>.
Fixed Winpov issue with file type not being set on initial save if 'save as'
was not used (reported many times, including <45602a08@news.povray.org>
and <46092c8a@news.povray.org>).
Fixed exit code for the Linux build; now 0 = ok, 1 = error, 2 = user abort.
Tweaked a few scene files.
Improved w3c conformance and keyword index for the Linux docs.
Changes between 3.7.beta.19 and 3.7.beta.20
-------------------------------------------
Added 'file modified' indicator to filename shown in POVWIN main window
caption.
Added feature notification for when auto-reload results in files being
auto-saved.
Some vfe changes to assist resolution of the 'pause after render' race
condition.
Added support for --benchmark on unix (works together with +wt) and print
built-in features with --version
Changes between 3.7.beta.18 and 3.7.beta.19
-------------------------------------------
Fixed render never completes when using crackle error reported in
<web.458d0fbb495005281bd6cd0c0@news.povray.org> and several others.
Fixed issue reported in <45781d0d$1@news.povray.org> where reading a
continue state file would hang POV.
Fixed "POV-Ray reports wrong file to be missing" Unix issue reported in
<pan.2006.12.30.10.45.30.743879@removeit.geloescht.net>.
Fixed a minor issue with #version handling as found in the Linux betas.
Changes between 3.7.beta.17 and 3.7.beta.18
-------------------------------------------
Added preliminary support for per-thread crackle pattern cache.
Fixed a povwin bug in vidcap code.
Added experimental windows-specific memory management code.
Improved the Unix preview display code.
Changes between 3.7.beta.16 and 3.7.beta.17
-------------------------------------------
Unix default file gamma changed from from 1.0 to 2.2.
Fixed crash reported in <web.453677b9876cd74e72d86b490@news.povray.org>.
Fixed issue with trace returning an incorrect intersection point in some
circumstances (see <web.45367d932f1ac4de72d86b490@news.povray.org>).
Fixed issue caused by failure to clear ray interiors during focal blur sample
loop (<web.45424a798f1b3f6c1bd6cd0c0@news.povray.org>).
Added RTR (real-time raytracing), clockless animation, and video capture
support (windows only). See below for more information.
Fixed bug that stopped radiosity from being activated when it should have been.
Enabled multi-threaded radiosity. This is still VERY experimental and is in no
way in its final form.
Fixed missing definition for FILENAME_SEPARATOR that caused run failure with
absolute filenames on unix systems.
Fixed infinite loop in radiosity pre-trace code that would occur with small
values of pretrace end.
Fixed issue with BSP missing objects and speckled rendering (cornell.pov gave
a good example of both).
Improved BSP tree build speed; it is now roughly twice as fast on complex
scenes (e.g. isocacti.pov).
Fixed 'Subset_Start_Frame not working' issue
(<web.454b67a8defacc9bf2985afc0@news.povray.org>).
Fixed issue with sys output file extension on windows
(<455a0770@news.povray.org>).
Improved povwin vidcap handling of video source pins that are not RGB8 (it
now ignores them).
Real-Time Raytracing
--------------------
POV-Ray now has some highly experimental support for a real-time raytracing
loop. This is basically a mode where a single pre-parsed scene is rendered
multiple times with no re-parsing inbetween frames. The camera is moved
according to camera definitions provided in the main scene file. Additionally,
on windows, a live video stream (e.g. from a webcam) may be mapped into the
image in exactly the same way that a normal image map may be.
For full documentation on these features, please see http://www.povray.org/beta/rtr/.
Changes between 3.7.beta.15 and 3.7.beta.16
-------------------------------------------
Work around an issue caused by apparent resource starvation within windows.
This would show itself as non-updating editor windows when switching tabs
or focus.
Added support for 'pause when done' in linux build.
Changed alpha handling when version is set to 3.7 (see below).
Fixed animation problem where Initial_Frame was ignored.
Changed WorkThreads INI option to Work_Threads for consistency.
Changed bounding method command-line option from +b2 to +bm2 for the same reason.
Fixed major slowdown when using BSP bounding, an orthographic camera (or
any camera with non-constant origin), and large numbers of slow objects.
Added ability to close edit tab in windows version by middle-clicking on it.
(NB this means on the tab itself, not the contents of the tab).
Also, Ctrl-W now defaults to closing the current editor file.
Improve parsing of POVWIN-specific command-line filenames containing single
quotes.
Added /EDITDLLPATH command-line parameter which overrides the default
edit DLL locations for the windows version.
Added SEH and minidump generation to windows code. After an unhandled exception
POVWIN will now offer the option of creating a minidump (brief or full) for
submission to the team to assist in tracking down crashes.
Changed default number of threads in windows version to number of CPU's
(was number of CPU's * 2).
Photon Changes
--------------
We are re-working some areas of the photon support, and as such photons will
not work as well as in the previous beta.
Alpha Changes
-------------
Some changes have been made to the way alpha is handled when +UA is activated.
Firstly, in previous versions, specifying a background with the background
keyword would by default supply a background with transmit set to 1.0 (i.e.
fully transparent provided that +ua is being used). This is no longer the case.
While the default background is transparent, any background specified in a
scene file (unless 3.6 or earlier compatibility is being used) will now be
opaque unless transmit is explicitly given. (In other words, use rgbft<>
rather than rgb<> in the background statement if you want the old behaviour).
Secondly, the way that objects are blended with the background has changed.
Previously the color of the background was not taken into account when
calculating effects of transmission through translucent objects when +ua is
in effect (i.e. where the background could otherwise have been seen through
the object). Now, however, the background color is taken into account, even
if it is not otherwise visible. (In other words, blending is performed in the
same way regardless of the presence of background transparency).
Note that this change is not affected by the #version directive, so it may
change the appearance of scenes written for version 3.6 and earlier. We will
monitor feedback on this from beta testers to evaluate the impact of this.
Changes between 3.7.beta.14/14a and 3.7.beta.15
-----------------------------------------------
Fixed PNG output causing corrupted (yet often readable) files
Fixed broken RLE Targa output (+FC) causing program abort
Partial fix for "Crash when assigning materials" issue reported in
<44f596fa$1@news.povray.org>
Partial fix for "Darkness in grenadine.pov" issue reported in
<web.448348adc379ad5b1bd6cd0c0@news.povray.org>
Fixed large DF3 files issue reported in
<web.44f40e4698b0d9e4b399450c0@news.povray.org>
Fixed legacy heap overwrite in BVH code reported in
<web.44e5a00bfcc26e0fc717c9af0@news.povray.org>
Added ability to specify thread count from Windows version render menu (unsaved setting)
Fixed Linux "Unknown internal error" issue reported in
<44fc07af$1@news.povray.org>
Improved html code and navigation for the Linux documentation
Changes between 3.7.beta.13 and 3.7.beta.14
--------------------------------------------
Added radiosity on/off flag for objects
Fixed default blend map destruction issue
Fixed photons with media issue
Added "WorkThreads" INI option and "WT" command-line option
Added "File_Gamma" INI option
Added gamma correction to file output
First beta release for Linux
Changes between 3.7.beta.12a and 3.7.beta.13
--------------------------------------------
Some fixes to bounding and object count statistics.
Fixed render percentage error when a large number of pixels are being rendered.
Parse and bounding times are now included in stream output.
Implemented debug output to stream.
Bugfix for printing of max depth stopped nodes per node.
Improved error reporting when exception is caught in renderbackend.
Fixed sombrero.pov bug reported in <web.442c3cd3ccb62fd8c7294af50@news.povray.org>.
Fixed issue with ray interior being removed during evaluation of area lights.
Fixed issue with intersection min depth being too coarse (e.g. the liquid in
the glass in balcony.pov did not render).
No longer send mem usage stats as they are not accurate (will restore this before
final release).
Fixed photon memory issue referred to in <web.444b4f4ed5b924f08b9c27240@news.povray.org>.
Fixed object count when no bounding is used, rendering empty file leaves stop icon, and
winpov exit command not working issues as reported in <442df1da$1@news.povray.org>.
Changes between 3.7.beta.12 and 3.7.beta.12a
--------------------------------------------
Fixed issue with BSP that caused long build times on large trees.
Changed default BSP child access cost to 5.0 (was 1.5).
Fixed issue with BSP trees that would cause some objects to vanish.
Added an optimization which speeds up BSP renders.
Removed new render window introduced in beta 11c.
Changes between 3.7.beta.11c and 3.7.beta.12
--------------------------------------------
Fixed spheresweep copy bug reported in <43fbaf97$1@news.povray.org>.
Fixed 'aa incorrectly reported to be on' issue reported in <43fc75f9$1@news.povray.org>.
Added progress and stats reporting for BSP bounding.
Fixed camera inside media/interior mostly lost bug.
Fixed debug message output.
AA method 1 block artifact fix (<43ebe0bc@news.povray.org>). Also correct
some jitter option issues. NB it is still technically possible that
block-boundary AA artifacts could occur but they are much less likely.
Fixed bug in generation of lit intervals for media.
Fixed "light doesn't pass through transparent image_map" issue
(<43a97c75$1@news.povray.org>).
Fixed 'trace fails with no_image object in union' bug
(<43f57a9d$1@news.povray.org>.)
Fixed issue where cancelling a render may not work if all CPU resources
are committed to the render.
Fixed 'unrecognized file format' warning when HDR output is selected.
Fixed flipped image HDR reading bug (<43e8190e@news.povray.org>)
Fixed one dispersion bug (long render times).
Re-implemented display retention and bitmap preservation during animation.
Added fix for image filename generation and rendered pixel counting.
Fixed gamma assignment in PNG output.
Render Window
-------------
Due to issues with CPU usage, the new render window is now by default
off. To work well this feature requires that hardware-assisted alpha
blending is available on the target system, and as of the time of writing
this is not common enough to justify turning it on by default.
Note: it will remain turned on if you already had it on (e.g. from a
previous beta).
BSP Bounding
------------
BSP (Binary Space Partitioning) tree bounding is now available. To turn
it on use '+B2' or 'Bounding_Method=2' in the INI file or on the command-
line. When it is in use you will get some additional statistics in the
output pane regarding the built tree.
Please keep in mind that this implementation of BSP is highly beta and
will not speed up scenes in many cases (and in fact may slow some down).
In particular the building of the tree can take a long time and lots of
memory in severe cases. Using the BSP tree rather than our traditional
BVH system (default or +B1) is a choice best made for specific scenes
that will benefit from the way the BSP operates, and in particular if
the render is long enough to offset the build time. (The BSP tree build
time will be constant for a given scene and set of BSP parameters,
regardless of the output resolution. A 30-second BSP build may not be
a good choice on a 60-second test render but may be acceptable for a
60-minute final render if the use of BSP adds a few PPS).
On some scenes the difference however will be dramatic, with short
build times and radically increased render speed.
We have provided some BSP-related options via the INI file and encourage
you to experiment with them to see if you can get better results than
the default values built in to POV-Ray. We will listen to feedback from
this and if necessary tweak the defaults. We do not guarantee that all
of the following INI file settings will remain in the final release of
3.7.
BSP_MaxDepth=128
BSP_BaseAccessCost=1.0
BSP_ChildAccessCost=1.5
BSP_IsectCost=150.0
BSP_MissChance=0.2
The values shown above are the default. You can also get the defaults
if you use a value of 0 for any of the above (or of course just by not
specifying the option at all). For an explanation of what the values
mean you may refer to Ray Tracing News v17n1 (look for Eric Haines'
article on BSP), or follow the discussion on BSP that is sure to crop
up in the beta-test group.
Please note that we are aware of some render artifacts visible with +B2
and are seeking to address them. Don't be surprised if you find some,
and if you can generate a minimal scene demonstrating them feel free to
post it to the appropriate group.
Example BSP scene
-----------------
There is a scene included with this release called 'Tango.pov' which is
a good example of a scene that benefits from the BSP bounding.
Tango.pov rendered at 800x600, no AA -
With +B1 : 70 seconds total
With +B2 : 48 seconds total
Changes between 3.7.beta.10 and 3.7.beta.11c
--------------------------------------------
No core bugs have been fixed. This release extends the expiration time
to the start of April 2006 and provides a new render window feature.
Render Window
-------------
The new render window mode is only available on Windows 2000 or later.
The presence of this code may case the beta to be unable to load on
Windows 9x systems; if this occurs it will be fixed in the next beta.
Note that we have not tested this new code on a Windows 2000 system,
so we can't comment on how well it will work on those systems.
To activate the new render window, open the 'Render Window' sub-menu in
the 'Options' menu, and select the 'Use New-style Render Window' entry.
The new render window is designed to help users get around the issue of
the render window getting in the way when doing edit/render/fix cycles.
It supports a 'transparency' mode that is in effect two things: both
optical transparency (or more specifically translucency), and input
transparency (more specifically, the Windows WS_EX_TRANSPARENT style).
'Input transparency' means that the window is transparent to input -
so if you move your mouse over it or attempt to click on it, the mouse
messages are in fact sent to whatever is underneath the window. In
effect therefore it is as if the window were not there - even if you
can still see it.
The effect of this is that, coupled with translucency, you can both
see what is under the window (e.g. the POV-Ray editor), and also work
with it (typing or selecting with the mouse, etc).
'Input Transparency' is enabled whenever you set the translucency of
the render window to 25% or more (see below). At settings less than
this, the render window will behave more or less as normal (though
without some of the features of the classic render window, such as the
ability to be de-coupled from the main window such that it does not
get hidden when the main window is minimized).
To set the translucency of the render window, either rotate your mouse
wheel when the render window has focus (this is the preferred method),
or alternatively right-click on the window's title bar and choose a
setting from the context menu that is provided.
When the render window has input focus, translucency is removed and it
becomes opaque. It will switch back once another window gets focus, or
if you adjust the translucency using one of the above methods.
If you want to work with input transparency, it is important that you
understand that this means you can't work with the render window in
the manner you are accustomed to, since of course the window will pass
input to the application below it. To allow for interaction with the
window in this circumstance, we have added a feature whereby hovering
the mouse over the render window's caption for a short time, or clicking
on the title bar, will activate the window, make it opaque, and allow
input to be processed normally.
(Of course the ability to click on the caption means that it's not
completely input transparent, and we might disable this feature later
if the hover feature works out well).
You will know if your mouse is over the appropriate area of the window
since the cursor will turn to a hourglass shape during the 'hover' time.
Provided that the window is left in input transparency mode, if you
move your mouse out of the window for a short time, it will automatically
snap back into its former translucent mode.
You can tell if the window is in input transparency mode by looking for
a '[T]' at the start of the render window caption. If present, then it's
going to pass input to the application underneath it. While adjusting
the translucency with the mouse wheel, the caption will display the new
translucency setting and, if appropriate, a comment that the window has
switched to passing input. (Recall however that this doesn't kick in
until you switch focus to another window).
Changes between 3.7.beta.9 and 3.7.beta.10
------------------------------------------
Added gamma correction support.
Add more frequent stop-checking to all render tasks.
Radiosity now works a lot better than beta.9.
Fixed some memory leaks in radiosity.
Fixed crash in some image file reads.
Improved handling of cancel render in windows version.
Fixed output filename generation logic.
Changed all internal file paths to UCS2.
Fix for using truetype in CSG.
Improved responsiveness in backend.
Gamma Correction
----------------
The way POV-Ray 3.7 handles the 'assumed_gamma' keyword has changed.
Previously the presence of this keyword in global_settings caused a
'possible error' warning and its presence was ignored. In addition
no gamma correction was available in previous betas. Starting with
beta.10 however, gamma correction is performed on both the display and
file output, subject to the following criteria:
o If the scene language version is set to 3.7 (or not set at all), then
gamma correction will default to ON, with the value used being set by
the 'display_gamma' INI file setting. Note that in previous versions of
POV-Ray gamma correction was OFF by default but otherwise this is the
same.
o If the scene language version is set to earlier than 3.7, then gamma
will be OFF by default.
o Notwithstanding the above, if the keyword 'assumed_gamma' is present
in the scene's global_settings, then POV will take one of the following
actions:
a) if "assumed_gamma 2.2" is present, gamma correction will be turned
OFF and a warning issued. the same thing will happen if the value
specified is not 2.2 but happens to be the default for the platform
setting given to POV-Ray when it was compiled (e.g. Windows is 2.2).
b) if "assumed_gamma 1.0" is present, gamma correction will be turned
ON (if it's not already on) and in any case a warning will be issued.
c) if a value other than the above is specified, it is ignored and a
'possible error' message is issued.
You will note from the above that therefore it is no longer possible to
adjust the amount of gamma correction from a scene file. This is as
designed since scene files should be as much as possible be platform
independent, and the gamma of particular display hardware does not belong
in the scene file. If you really need to specify 'assumed_gamma' you can
do so in an INI file or on the command-line; however in those cases you
may as well just use 'display_gamma' in its place.
When writing file formats that support gamma specification, the inverse
of the assumed_gamma value will be embedded in the file headers, so that
an appropriately equipped display program can 'undo' the gamma correction
if it is so desired. This is as per previous versions of POV-Ray.
Frontend and Backend
--------------------
Note that POV-Ray uses a logical separation of frontend and backend. The
'frontend' is that part which deals with the user-interface, locating files,
parsing command-line options, reading INI files, and so forth. The 'backend'
deals with parsing the scene file and doing the actual render. These two parts
of POV-Ray communicate via a message-passing interface, even when linked into
the one executable program.
Whilst currently not supported, it is entirely possible to separate the front
and back ends via for example a network interface, and have the render done
on one machine while the user interface (and display) is on another. Knowing
this may make it easier to understand why, for example, we are moving away
from allowing things such as gamma correction to be specified in the scene
file; there is no reason to assume the scene file is on the same machine as
the image will be displayed upon, and as such the specification of gamma
should be done in the frontend via INI or command-line options.
There will be more changes along these lines as we prepare for the future
transition to a fully network-capable renderer. The POV-Team will attempt
to ease the change to the new system by doing things such as the assumed_gamma
interpretation above, where it is possible to do so.
Changes between 3.7.beta.8 and 3.7.beta.9
-----------------------------------------
Fixed crash caused by resource exhaustion (too many threads); refer
<4303d267$1@news.povray.org>.
Addressed state issue referred to in <web.42af2f04951c51e46a3607400@news.povray.org>.
Fixed output file reporting issue reported in <web.430dc75ff23d654e726bd13c0@news.povray.org>.
Fixed AA method 2 crash reported in <430358ed@news.povray.org>.
Fixed render window re-display problem.
Moved assumed_gamma to command-line or INI-file only option (causes warning if
found in scene).
Fixed focal blur problem.
Render block size
-----------------
You now have the ability to specify the render block size via either an
INI-style option ("Render_Block_Size=n") or on the command-line ("+BSn"),
where 'n' is an integer larger than or equal to 4. This represents the
edge size of the square used to distribute work to the render threads,
and thus the number of pixels in each block will be n squared.
The default value is 32. If you specify a value that is greater than the
larger of the width or height of the image being rendered, it is clipped
to that value.
Note that using render block sizes of less than eight can impact performance,
particularly on large images that render quickly, as it significantly
increases the amount of message traffic between the render backend and the
graphical frontend (which communicate using a shared-memory queue).
Editor
------
A few changes have been made to the editor in the hope of avoiding the
error that some users get when it attempts to open a file that has been
removed from the disk. We have not been able to replicate this error
ourselves (the code was already designed to handle this situation) so we
have added some extra checks. The net result of this is that when a file
no longer exists, instead of opening a blank file, the edit session for
that file will instead be discarded.
Additionally we have improved the handling of modified files during active
application changes; now, you should never get more than one message box
displayed at any one time (which previously could happen if you switched
focus multiple times).
Dispersion
----------
Dispersion has been added back, however this is still mostly untested.
There will be numerous issues with this; we would appreciate help in
identifying what they are and where they may lie (i.e. reports that
'dispersion doesn't work properly' with no additional information will
not be of much help).
Radiosity
---------
Radiosity has been re-enabled. Currently it is limited to a single thread
and has some issues. As stated for dispersion, we would appreciate assistance
in determining where individual issues lie and what influences them.
Multi-thread support will be added later, once the radiosity code settles
down and is functioning as expected in single-thread mode.
Mosaic Preview
--------------
Mosaic preview now works again. The same issue as mentioned in the above
section on render block size apply; we don't recommend using an end preview
size of less than 8. Note that unless you specify an end preview size the
code will default to using +ep2, so it is strongly recommended that you
do provide it.
Be aware that when using mosaic preview, the count of rendered pixels shown
in the status bar will be wrong. This will be fixed later.
Improved handling of large render sizes
---------------------------------------
Handling of large renders (e.g. 10,000 x 5,000 pixels) has been improved.
Previously the intermediate data structure used to store rendered pixels
was held in RAM. On windows it is now stored in a virtual-memory backed
file which maps to the swap file. This means that your swap file needs to
have at least enough free space to store this file at the start of a render.
For reference, the amount of room needed is roughly 20 bytes per pixel, so
the above example 10,000 x 5,000 pixel image would need one gigabyte in the
swap file.
One other issue to be aware of is that, on windows, there has to be enough
contiguous virtual address space available to hold the file. This can be a
problem since by default many Win32 systems only provide each process a total
of two gigabytes of address space, which is then divided up amongst the
exe and its various DLL's, the local heap, stack, and so forth. Additionally
some Win9x versions (at the least Windows 95) will only allow a maximum of
one gigabyte to be mapped in this way, and that is divided up amongst other
resources as well.
Therefore it is entirely possible that even if you have sufficient swap space
the allocation of the memory mapped file will fail, at least for win32 users
(win64 won't have this problem). We are working to fix this limitation by
moving to a less efficient but more reliable file-based solution.
One final note: please be aware that the Windows process manager will add the
amount of virtual memory mapped by a process in this way to its total memory
statistics. Please don't assume that the figure reported by Windows is
necessarily the amount of physical RAM being used.
Changes between 3.7.beta.7 and 3.7.beta.8
-----------------------------------------
AA buffering restored; AA should be as efficient as version 3.6 now.
Fixed major problem in crackle when using more than one thread.
Reverted to older version of Intel compiler to avoid some optimization bugs.
Added HDR file support (RGBE, as used in Radiance).
Added EXR file support using OpenEXR library (http://www.openexr.org/).
Fixed animation clock jump issue.
Changes between 3.7.beta.6 and 3.7.beta.7
-----------------------------------------
New thread-safe random number generator added.
Continue trace support added (see release notice for usage details).
Animation support added.
Made render cancellation more responsive when large numbers of threads are in use.
Fixed most wrapping problems in windows message display.
Changes between 3.7.beta.5a and 3.7.beta.6
------------------------------------------
Fixed quadric bounding problem.
Fixed CSG merge problem.
Made numerous other changes to speed up code, should be closer to v3.6.1 now.
Changes between 3.7.beta.5 and 3.7.beta.5a
------------------------------------------
Fixed bug reported in <428de855@news.povray.org> re:sunsethf.pov.
Worked around SMP bug in trace related to lighting code altering lightsources
during render.
Changes between 3.7.beta.4 and 3.7.beta.5
-----------------------------------------
Fixed a photon building issue that caused progressive slowdown.
Fixed scattering media problem reported in <427ca163@news.povray.org>.
(This also fixes <427c0121@news.povray.org>).
Parser now honors Split_Unions and Remove_Bounds options.
Fixed lathe artifacts bug reported in <427c0f95@news.povray.org>.
Fixed no_image and no_reflection issues reported in <427c1900@news.povray.org>.
Fixed area light orient issue reported in <427c14ef@news.povray.org>.
Fixed issue where a new clip statement would overwrite a previous one rather than
appending to it.
Fixed speed issue with quadrics by reverting to old bbox calculation method.
Fixed a swathe of memory leaks.
Changes between 3.7.beta.3 and 3.7.beta.4
-----------------------------------------
Fixed indexed PNG alpha problem reported in <42765ef3$1@news.povray.org>.
Fix area light problem reported in <427a3fa5$1@news.povray.org>.
Fixed crash during trace of lathe reported in <42796797@news.povray.org>.
Improved handling of cancel/pause render.
Fixed max_trace_level calculation and display (see <42769105@news.povray.org>).
Fixed image memory leak.
Fixed speed issues reported in <42769f6d@news.povray.org>.
Fixed shadow problem mentioned in <42769f6d@news.povray.org>.
Fixed sphere_sweep bug reported in <42773e51@news.povray.org>.
Fixed 'inverting pre-declared union' crash reported in <42769b59@news.povray.org>.
Fixed focal blur issue.
Fixed omnimax camera bug reported in <42775c1b$1@news.povray.org>, plus several
other related camera issues.
Fixed facets pattern crash reported in <42773fab$1@news.povray.org>.
Changes between 3.7.beta.2 and 3.7.beta.3
-----------------------------------------
Partial render (start col/row etc) now works
Fixed CSG merge issue reported in <42645c3b@news.povray.org>.
Added warning and better progress reporting to photons.
Some hollow media fixes.
Re-enabled alpha display in render window for windows port.
Fixed alpha bug reported in <web.426402d627a031d914107e060@news.povray.org>
Fixed no_image bug reported in <web.426402d627a031d914107e060@news.povray.org>
Changed default bounding threshold back to 3 as per v3.6.
Fixed alpha inversion bug in BMP, Targa, and PNG file reading/writing.
Fixed crash mentioned in <42689685@news.povray.org>.
Fixed noise generator default issue reported in <426898db@news.povray.org>.
Fixed irid problem reported in <42680b39@news.povray.org>.
Fix for area light problem from Massimo Valentini.
Made quick_colour work as it should.
Changes between 3.7.beta.1 and 3.7.beta.2
-----------------------------------------
CSG should now work properly
Problem with too many recursions when rendering shadows fixed
I/O restrictions should now work
Fixed recursion bug in renderer
Initialise photon variables
Restore ability to open error file in editor (note: column number not always correct).
Fixes no-display crash
Fixes image closing bug
Tweak to some radiosity local vars
Fixes rendering area bug
Fixes AA method 2 brightness issue
Add output file type '+FB' (bmp).
Add 'bmp' token to parser.
Fix for BMP reading.
File output defaults to on.
Fix render quality options output.
Change references to 'CPU(s)' to 'thread(s)'.
Update render time output to include fractional seconds.
Fix crash reported in <4263125b@news.povray.org> and one related bug.
Intentional changes for POV-Ray 3.7
-----------------------------------
The version directive and command-line setting no longer provide compatibility
with most rendering bugs in versions prior to POV-Ray 3.5. However, compatibility
with the scene language is provided for scenes as old as POV-Ray 1.0 just as
in all previous versions of POV-Ray. Nevertheless, we strongly recommend you
update scenes at least to POV-Ray 3.5 syntax if you plan to use them in future
versions of POV-Ray.
This version uses multi-threaded rendering by default. The ability to render
in more than one thread is primarily of use to those users who have SMP
machines (i.e. more than one CPU). There have been reports of benefits for
users of hyperthreading systems, particularly with higher thread counts (e.g.
16 threads).
You can render in only one thread by using the '/THREADS 1' switch in the
Windows version. Note that parsing and photon building will only use one
thread no matter how many are specified. However photon scenes will benefit
from multiple threads once photon building has completed.
|
 |