Professional Documents
Culture Documents
conditionally filter indexentry tags from the unx and mac doc-sets, leaving
them in the windows docs, as they are required to produce searchable
index in chm file
Change 5773 on 2013/02/01 by chrisc@x8
fix a few minor UI issues
Change 5772 on 2013/02/01 by jholsenback@linux-c2bm
update changes/revision file for RC7
Change 5771 on 2013/02/01 by clipka@cli-pc-7
fix for FS#270: render abort-continue (+C) sometimes skips blocks
Change 5770 on 2013/01/30 by clipka@cli-pc-7
added plenty of const modifiers to the code; kicked out a few unused
parameters and one piece of unused code
Change 5769 on 2013/01/30 by clipka@cli-pc-7
a few signedness fixes in image handling code
Change 5768 on 2013/01/29 by clipka@cli-pc-7
updated copyright information for some 3rd party libraries
Change 5767 on 2013/01/29 by jholsenback@linux-c2bm
bump version to RC7 so unix build packages get branded properly
Change 5766 on 2013/01/29 by jholsenback@linux-c2bm
updated changes/revision files
Change 5764 on 2013/01/29 by clipka@cli-pc-7
a few whitespace fixes in revision.txt
Change 5763 on 2013/01/28 by chrisc@x8
fix a long-standing bug where pressing 'pause' during a parse or render
could sometimes put the frontend/backend sync into an unrecoverable state.
the root cause was the fact that even if a call to the backend's pause
method succeeds (e.g. the backend state correctly transitions to
SceneData::Scene_Paused in the case of the parser), it is still possible
for the task thread to move to Scene_Ready if the parser doesn't
call Task::Cooperate() before finishing. the frontend code has until now
assumed that if a call to e.g. RenderFrontend::PauseParser() succeeded,
the parser would stay paused until told to resume or stop.
Change 5762 on 2013/01/28 by chrisc@x8
add the proportion of the image in X and Y directions to the pixel offset
displayed when the mouse hovers over the render window. e.g. if the mouse
is at X=25 Y=50 of a 200x200 pixel render, the window title will
More comments changes and whitespace cleanup, plus some trivial code cleanup
.
Change 5661 on 2012/06/11 by clipka@cli-pc-7
A few comments changes and whitespace cleanup.
Change 5659 on 2012/06/10 by clipka@cli-pc-7
A follow up to change #5649 corrected a formatting issue with radiosity
statistics reporting.
Change 5653 on 2012/05/23 by jholsenback@linux-c2bm
Fix for potential endless loop in CH2RGB macro
Change 5651 on 2012/05/22 by jholsenback@linux-c2bm
Resync revsions/changes files.
Change 5650 on 2012/05/20 by chrisc@x8
Fix merge issue from change #5387 which re-introduced a bug fixed earlier
on (most recent crash report #385, dump file #343).
Change 5649 on 2012/05/20 by chrisc@x8
Fix divide-by-zero in stats code when radiosity query count is 0
(crash report #384, dump file #342)
Change 5648 on 2012/05/16 by clipka@cli-pc-7
Additional fix associated with #5624 (colored transparent background)
Change 5636 on 2012/05/02 by jholsenback@linux-c2bm
Resync revsions/changes files.
Change 5635 on 2012/05/02 by jholsenback@linux-c2bm
Bump revision to RC6.
Change 5632 on 2012/03/21 by clipka@cli-pc-7
Fix for FS#241: Photons not working correctly.
Change 5625 on 2012/03/10 by clipka@cli-pc-7
Cleaned up various C-style casts:
- fixed some fishy ones
- removed some superfluous ones
- replaced with reinterpret_cast some that were accidently casting away
const qualifiers.
- replaced with const_cast some that were deliberately casting away
volatile qualifiers.
- replaced with reinterpret_cast all others I spotted in the same files.
- fixed some const qualifiers in function signatures.
Change 5624 on 2012/03/08 by clipka@cli-pc-7
Added Penrose P1 (N=6) and P2 (N=2) tilings as 25 and 26; changed the
existing P3 tiling pattern number to 27
Change 5575 on 2011/12/03 by clipka@cli-pc-7
Overhauled identifiers & comments in new patterns' code; Added a new
"tiling" pattern: 25 type (N=2) produces a Penrose P3 tile
Change 5573 on 2011/12/02 by clipka@cli-pc-7
Added support for tuning brightness of image-mapped sky spheres. See FS#9
Change 5572 on 2011/12/02 by clipka@cli-pc-7
area_illumination now also respects fade_power and fade_distance. See FS#46
Change 5569 on 2011/12/01 by clipka@cli-pc-7
major overhaul of iridescence feature
Change 5529/5528/5527 on 2011/11/22 by clipka@cli-pc-7
added new "albedo" keyword, that can be used right after
"diffuse", "phong" or "specular
Change 5518 on 2011/11/13 by chrisc@x8
fix for the windows editor crash that was reported in crashdump#111
Change 5514 on 2011/11/13 by jgrimbert@smpdirect
fix for FS#216: comment out the Radiosity= directive in raddem.ini
that directive became obsolete in 3.7
Change 5512 on 2011/11/12 by clipka@cli-pc-7
fix for FS#225: translating a light source fails to translate
the looks_like textures
Change 5511 on 2011/11/11 by clipka@cli-pc-7
update of VS 2010 solution & projects: windows build can now statically link
boost and openEXR libraries built from scratch
Change 5510 on 2011/11/11 by clipka@cli-pc-7
update to add openEXR include directory tree for installation from source
Change 5509 on 2011/11/11 by clipka@cli-pc-7
added VS 2010 projects to build boost_date_time, boost_thread and
openEXR-related projects (not included in solution yet)
Change 5508 on 2011/11/11 by clipka@cli-pc-7
a logistics rollback of source/base/image/openexr.cpp and
vfe/win/compilers/msvc.h (checked them in too early)
Change 5505 on 2011/11/11 by clipka@cli-pc-7
would have been undetected without insight about an alias being used.
Change 5457 on 2011/06/26 by jholsenback@jholsenback_aries
Finalized user contributed (jgehrcke) addressing FS#213
Change 5456 on 2011/06/24 by jholsenback@jholsenback_aries
Corrections to fix introduced in change #5455
Change 5455 on 2011/06/24 by jholsenback@jholsenback_aries
User contributed fix addressing endless loop condition reported in FS#213
Change 5453 on 2011/06/13 by jgrimbert@smpdirect
Changed -V in unix option to --V (-version) to avoid conflict with
-V (verbose) from core that was reported in FS#204
Change 5451 on 2011/06/04 by clipka@cli-pc-xp64
Follow up to change #5450:
- removed now obsolete SceneThreadData members
Change 5450 on 2011/06/04 by clipka@cli-pc-xp64
Fix for UV mapping broken for parametric reported in FS#210
Change 5449 on 2011/06/02 by clipka@cli-pc-xp64
A fix for "Cannot open file" error reported in FS#206
- When text output files specified in INI) and added a few comments to path.h
and path.cpp. Current solution allows arbitrary file names for output stream
files; code for changing this to accept only "plain" file names is also
provided but currently disabled
Change 5448 on 2011/06/02 by jgrimbert@smpdirect
Follow up to change #5447:
- Fix a valgrind complaint about reading uninitialised data
in renderfrontend.cpp
- Fix the issue with textures during tesselation with tessel{} and
tesselate{} that was crashing at render time if a vertex was not textured due
to using default texture on original object
Change 5447 on 2011/06/02 by jgrimbert@smpdirect
Fix for computation of weighted textures problem reported in FS#209
Change 5446 on 2011/06/02 by clipka@cli-pc-xp64
Improved error message output when text in-/output files cannot be opened
Change 5444 on 2011/06/02 by clipka@cli-pc-xp64
Minor formatting cleanup to tiling.pov
Change 5443 on 2011/05/29 by jgrimbert@smpdirect
Temporary fix for quick_color problem reported in FS#166
finish { ...
subsurface { translucency COLOR }
}
}
interior { ior FLOAT }
The pigment determines the SSLT material's overall appearance when applied
to an object with sufficiently large structures. The translucency color
(which can alternatively be a float) determines the strength of the
subsurface light transport effect (note that the values may be >1.0; also
note that the effect doesn't scale with the object; instead, to adjust
materials to the dimensions of your scene, use the global mm_per_unit
setting). The material's index of refraction also affects the appearance of
the material, and is mandatory for SSLT materials.
SSLT is now enabled only when a global_settings subsurface block is present;
to enable SSLT but use the default settings, specify an empty block,
i.e. "subsurface{}"
Due to the experimental status of SSLT, there are currently some caveats:
- Incorrect use may result in hard crashes instead of parse warnings.
- Pigments having any zero color components currently don't play nice with
SSLT; for example instead of "rgb 1" you should use something like
"rgb <1,0.05,0.05>". Use at your own risk!
Change 5407 on 2011/02/21 by jholsenback@jholsenback_aries
Added these user contributed mesh_camera scene files to:
~scenes/camera/mesh_camera/ess
ess-ortho-camera.pov
ess-persp-camera.pov
ortho-camera.pov
persp-camera.pov
Change 5405 on 2011/02/15 by clipka@cli-pc-xp64
fixed bug causing "../../" in file paths to be stripped.
Change 5404 on 2011/02/13 by clipka@cli-pc-xp64
changed list of experimental features: removed radiosity, added subsurface
light transport
Change 5400 on 2011/02/08 by clipka@cli-pc-xp64
fix for using interpolated image_maps in functions results in pixel-sized
dot-artifacts
Change 5398 on 2011/01/24 by jholsenback@jholsenback_aries
- A change to rewrite the 'ref=' tag as 'id=' in function GetAnchorInfo
- Changes in the function GetMDHash to support two image formats so they BOTH
can be recognized during migtation to the new format.
- A trap was added to alert if an unsupported image format is encountered.
---------------------------------------Changes between 3.7.beta.RC2 and 3.7.RC3
----------------------------------------
color space to whatever the file format mandates (this applies to OpenEXR
and Radiance HDR); if no such mandatory color space exists, the image will
be converted into that specified by the File_Gamma setting. If File_Gamma
is not specified either, the image will be converted into whatever is
officially recommended for that file format, or the de-facto standard; if
even that doesn't exist, no gamma adjustment is performed. In any case, if
the file format provides a means to specify a gamma in the image header
(this applies to PNG), the respective data is set according to whatever
gamma the image is converted to, regardless of the working color space.
If assumed_gamma is not specified, and #version is set to pre-3.7 or
undefined, no gamma handling is performed at all.
In terms of backward compatibility, this translates as follows:
If assumed_gamma is not specified, and #version is set to pre-3.7 or
undefined, full compatibility with 3.6 and earlier is maintaned.
If assumed_gamma is specified and #version is set to pre-3.7 or undefined,
compatibility with 3.6 is subject to the following restrictions: (a) full
output file handling compatibility requires File_Gamma to be set to the
same value as Display_Gamma (or left undefined if Display_Gamma is
undefined), and (b) input file handling is not backward compatible in case
of PNG files.
If assumed_gamma is not specified and #version is set to 3.7 or higher,
compatibility with 3.6 or earlier is not maintained.
-------------------------------------------Changes between 3.7.beta.40 and 3.7.beta.41
-------------------------------------------Change 5286 on 2010/12/20 by chrisc@x8
fix code list control appearing on primary monitor while povwin is on non-prim
ary monitor.
make render window sanity check smarter with respect to multiple monitor
s.
add INI keywords to highlight list for editor.
Change 5282 on 2010/12/20 by clipka@cli-pc-xp64
last-minute update to colour syntax for gamma pre-corrected colours; dropped
the "gamma" keyword there (it remains enabled for image input files) in favor
of the following syntax:
colour
colour
colour
colour
srgb <Rp,Gp,Bp>
srgbt <Rp,Gp,Bp,T>
srgbf <Rp,Gp,Bp,F>
srgbft <Rp,Gp,Bp,F,T>
e
format and default as was previously taken by "now([STRING])").
Consequently, "datetime(now)" does what previously "now()" did, and
"datetime(now,STRING)" does what previously "now(STRING)" did.
Change 5270 on 2010/12/15 by chrisc@x8
deprecate histogram output. some fixes to create_ini output.
Change 5268 on 2010/12/15 by chrisc@x8
insert menu render fixes.
Change 5267 on 2010/12/15 by chrisc@x8
avoid crash condition in editor find/replace if memory allocation fails.
Change 5266 on 2010/12/14 by jholsenback@jholsenback_aries
follow up to address compilation error introduced with change #5261
Change 5265 on 2010/12/14 by chrisc@x8
see if this fixes the fseek64 issue on linux.
Change 5264 on 2010/12/14 by chrisc@x8
better handling of bad alloc and runtime error exceptions during message
processing (don't pass them up to the main thread).
Change 5263 on 2010/12/14 by chrisc@x8
work around double-free causing memory corruption and later crash when create
scene (or probably any POVMS callback function) threw an exception.
Change 5262 on 2010/12/14 by chrisc@x8
make windows frontend more aware of backend failures.
Change 5261 on 2010/12/14 by chrisc@x8
change main thread and povray init to accept a callback to notify when the
main thread exits. this is needed to make sure the front end knows of a
premature exit of the backend thread and to avoid using the (now deleted)
message queue.
Change 5260 on 2010/12/14 by chrisc@x8
POVMS_Send now reports a timeout when one happens.
Change 5258 on 2010/12/12 by clipka@cli-pc-xp64
Added new include file, "ior.inc", defining ior & dispersion constants for a
lot of materials.
Change 5257 on 2010/12/12 by clipka@cli-pc-xp64
Added new sample/test scene, "scenes/gamma/gamma_showcase.pov" (used in new
gamma section in the docs)
Display_Gamma now supports the "sRGB" option just as File_Gamma already did;
besides "sRGB", "srgb" and "SRGB", any combination of upper-/lowercase
letters is now recognized.
Moved image data quantization / encoding / decoding functions from
image.h/cpp to new files encoding.h/cpp.
-------------------------------------------Changes between 3.7.beta.39 and 3.7.beta.40
-------------------------------------------Change 5225 on 2010/12/02 by chrisc@x8
fix divide-by-zero crash in editor support code (refer crash report #50).
Change 5224 on 2010/12/02 by chrisc@x8
change default update check period to one day in lead-up to final release.
Change 5223 on 2010/12/02 by chrisc@x8
make sure simplevector.h pulls in pov_err.h.
Change 5222 on 2010/12/02 by chrisc@x8
expand uses of FixedSimpleVector<64> to 127 elements. this doesn't fix the iss
ue
of course but will mitigate it a bit at the cost of increased memory usage.
Change 5221 on 2010/12/02 by chrisc@x8
bump version to beta.40.
Change 5220 on 2010/12/01 by clipka@cli-pc-xp64
fixed bug causing interpolated image maps to be shifted by half a pixel, as
described in news://news.povray.org:119/4bdad2a5@news.povray.org.
Change 5219 on 2010/12/01 by chrisc@x8
mitigate issue with crackle sometimes chewing up huge amounts of RAM. see
FS#56 for more details.
NB this fix is not ideal, in particular we ought to provide an INI setting to
allow the user to nominate how much RAM they want to use for the cache.
currently it's hard-coded to roughly 30mb per thread max during a block, and
15mb per thread when a block is cleaned up after it's done. if the size of
the cache would exceed the upper hard limit, new entries will not be cached.
Change 5218 on 2010/12/01 by chrisc@x8
differentiate between hitting the limits of the fixed vector class and actual
memory allocation failure.
Change 5217 on 2010/12/01 by chrisc@x8
improve reporting of uncategorized or unknown exception codes to aid in
tracking down the cause.
Removed file_gamma keyword. Input image file default can now be set via
default { image_map { gamma FLOAT } }
or
default { image_map { gamma srgb } }
For backward compatibility with legacy scenes, POV-Ray 3.7 will now mimick
all the gamma handling of POV-Ray 3.6 if the scene has a #version statement
specifying a version of 3.6x or earlier, and/or specifies an assumed_gamma,
with the following exceptions:
* If the scene overrides the default input file gamma, POV-Ray will fall
back to the new gamma handling model.
* If the
an INI
later,
output
(would it be simpler to have the border at 0/#, 1/#... #-1/# ? and center at
1/#-, 2/#-, #/#- ? might be amended later)
pavement: (using polymino paving the plane)
* number_of_sides (3,4,6) : the basic tile is a triangle, a square or an
hexagon
* number_of_tiles (1 to 5 or 6): the number of basic tiles to combine togethe
r
to make one real tile
* pattern (depend on side & tile) (1 to ...): how the basic are combined
together
* exterior (1 to 3, irrelevant for hexagon)
* interior (1 to 3)
* form (1 to 3, or 1 to 4 for square)
Variations on type of corner. 0 is plain, 1 is a straight cut, 2 is a curved c
ut.
All complet sets are covered.
Change 5202 on 2010/11/26 by jgrimbert@experiment
Add square & triangular pattern (2D, in xz plane, 4 & 6 area in shape of squar
es and triangles)
Change 5201 on 2010/11/26 by jgrimbert@experiment
Adding bitwise operation (bitwise_and(), bitwise_or(), bitwise_xor()) Similar
to max(), not limited to 2 parameters.
Also provide keywords for ovus object
Change 5200 on 2010/11/26 by jgrimbert@experiment
Add the ovus shape. Documentation in french at http://jgrimbert.free.fr/pov/pa
tch/ovus.html
It's like a torus, but in egg shape ...
ovus { base_radius, top_radius }
(top_radius < 2.0*base_radius or else it's just a sphere)
Retrofit of my old patch from povray 3.1; The code is mine (it
with equations, eight years ago), so I can here license it for
distribution. Egg, Avocado, Head... plenty of usage (for head,
upside down with a slant, the top radius is ready to match the
now() can have a string parameter (but can also be used without; the
parenthesis are mandatory anyway).
When provided with a string, its value is used for formatting the current
local time. Formatting documentation is the one of strftime() C function.
(LC_TIME is taken into account too, so "%x" "%X" and "%c" might be different
from one system to another)
Without parameter (that's not 'now("")', but 'now()' ), the format is
"%Y-%m-%d %T-%z"
You can get the number of second from Epoch with "%s" (and for other
possibilities, have a look at the man page of strftime). (whatever can the
Epoch be on your system)
The final string is limited to about 200 glyphs (or char), you should not
need as much for a printable time.
Change 5169 on 2010/10/25 by jgrimbert@grimbert
FS#105: the return of the Output Options (with minor corrections about Jpeg
quality handling, and default row & columns start/end): The TODO about
filename/path are fixed using similar approach in Parser Options (going the
UCS2 way first, then converting to ascii).
Change 5168 on 2010/10/24 by jgrimbert@grimbert
Rendering order replaced with distinct rendering options: pattern (-RP /
Render_Pattern) and block step (-RS / Render_Block_Step)
Pattern is now (unsigned) positive, default to 0 (as previous)
Block Step is as previously, reduced to a pseudoprime with height*width (in
block count)
Now a given pattern and a block step can both be specified at the same time.
Change 5167 on 2010/10/18 by jgrimbert@grimbert
Adding a final version for RenderOrder (-RO) option: default remain as previou
sly
(from left to right, then top to bottom). Default is 0 (as well as 1)
with -1, it's top to bottom, then left to right
with -2, it's closing from left & right to center, top & bottom alternatively
to middle
with -3, it's the opposite from -2 (starting at center-middle, going left &
right, then to top & bottom)
with -4 it's -2 rotated (like -1 is to 0): closing top & bottom to middle,
alternatively left & right to centre
with -5, it's the opposite from -4 (starting at middle-center)
with N > 0, it's about 1 square every N (about: N might get reduced to allow
clock arithmetic to cover the whole picture: N must be pseudo-prime with
number of blocks to render; at worst it is shrinked to 1... the default)
set to the centriod of the face, and the direction will be that of the
face's normal. For mapping #3, barycentric co-ordinates are determined
from the UV co-ords of the first face to match the X and Y position, and
those are then coverted to a position on the face which will serve as the
ray origin. Support is provided to move the origin off the face along the
normal, and to reverse the ray direction.
For most of the distribution methods, any POV feature that causes subpixel positioning to be used for shooting rays (e.g. AA or jitter) will
not do anything useful, because X and Y are converted to integers for
indexing purposes. At this time, no warning is issued if AA etc is
requested when rendering a non-applicable distribution; this may be
added later.
The syntax for the mesh camera is currently as follows:
camera {
mesh_camera {
rays_per_pixel
distribution_type
MESH_OBJECT
[MESH_OBJECT ...]
}
[location]
[direction]
[smooth]
}
rays_per_pixel:
This float parameter controls the number of rays that will be shot for each
pixel
in the output image. Each distribution allows different values, but the mini
mum is
always 1.
distribution_type:
This float parameter controls how pixels are assigned to faces, as documente
d below.
distribution #0:
This method allows single or multiple rays per pixel, with the ray number
for that pixel allocated to each mesh in turn. The index into the meshes
is the ray number (where rays_per_pixel > 1), and the index into the
selected mesh is the pixel number within the output image. If there is no
face at that pixel position, the resulting output pixel is unaffected.
You must supply at least as many meshes as rays_per_pixel. Each pixel is
shot rays_per_pixel times, and the results averaged. Any ray that does not
correspond with a face (i.e. the pixel number >= face count) will not
affect the resulting pixel color. Generally, it would be expected that
the number of faces in each mesh is the same, but this is not a requiremen
t.
Using multiple rays per pixel is useful for generating AA (since standard
AA
won't work) or for special effects such as focal blur, motion blur, and so
forth, with each additional mesh specified in the camera representing a
slightly different camera position.
Note that it is legal to use transformations on meshes specified in the
camera body, hence it's possible to obtain basic AA by using a single mesh
multiple times, with subsequent ones jittered slightly from the first,
and a suitable rays_per_pixel count.
distribution #1:
This method allows both multiple rays per pixel and summing of meshes; i.e
.
the faces of all the supplied meshes are logically summed together as if
they were one single mesh. In this mode, if you specify more than one ray
per pixel, the second ray for a given pixel will go to the face at (width
*
height * ray_number) + pixel_number, where ray_number is the count of rays
shot into a specific pixel. If the calculated face index exceeds the total
number of aces for all the meshes, no ray is shot.
The primary use for this summing method is convenience in generation of
the meshes, as some modellers slow down to an irritating extent with
very large meshes; using distribution #1 allows these to be split up.
distribution #2:
Distribution method 2 is a horizontal array of sub-cameras, one per mesh
(i.e. like method #0, it does not sum meshes). The image is divided
horizontally into #num_meshes blocks, with the first mesh listed being the
left-most camera, and the last being the right-most. The most obvious use
of this would be with two meshes to generate a stereo camera arrangement.
In this mode, you can (currently) only have a single ray per pixel.
distribution #3:
This method will reverse-map the face from the UV co-ordinates. Currently,
only a single ray per pixel is supported, however, unlike the preceding
methods, standard AA and jitter will work. This method is particularly
useful for texture baking and resolution-independant mesh cameras, but
requires that the mesh have a UV map supplied with it.
You can use the smooth modifier to allow interpolation of the normals at
the vertices. This allows for use of UV mapped meshes as cameras with the
benefit of not being resolution dependant, unlike the other distributions.
The interpolation is identical to that used for smooth_triangles.
NB if used for texture baking, the generated image may have visible seams
when applied back to the mesh. This can be mitigated; see Jaime Vives
Piqueres sample scripts. Also, depending on the way the original UV map
was set up, using AA may produce incorrect pixels on the outside edge of
the generated maps.
mesh_object:
One or more mesh or mesh2 objects to be used for the camera. These will be
treated differently depending on the distribution method, as explained above
.
Transformations on the meshes can be used here, and will reflect on the
resulting image as it would be expected for a regular camera.
location:
On this special camera, location doesn't affect where the camera is placed
per se (that information is on the mesh object itself), but is used to
move the origin of the ray off the face, along the normal of that face.
This would typically be done for texture baking or illumination
calculation scenes where the camera mesh is also instantiated into the
scene (usually only a tiny amount of displacement is needed).
The X and Y for location is not currently used, and the Z always refers
to the normal of the face, rather than the real Z direction in the scene.
direction:
Like location, this doesn't correspond to the real direction vector of the
camera. It serves only to reverse the normal of all the faces, if
necessary. If the Z component is less than -EPSILON, then the rays will be
shot in the opposite direction than they would otherwise have been.
X and Y are not used.
Potential uses of the mesh camera include:
o Calculation of illumination on a surface represented by a mesh.
This was the first use of the mesh camera; a NASA JPL project
wished to calculated watts/m2 of illumination across a portion
of the moon's surface, for which they had a detailed grid and
hence were able to create a mesh.
o Texture baking (creation of an image suitable to be used as a UV
map). Given a mesh with UV co-ordinates defined, POV-Ray can generate
an image that can be later used in either POV itself or any modelling
application that can load UV-mapped textures. This means that any of
POV-Ray's native textures may be baked to a map (however note that
use of transparency on objects will give a confusing result).
o Any arbitrary camera shape, including all existing POV-Ray cameras
(though of course there is little point in replicating an existing
camera).
o Precise modeling of optical aberrations in lenses (presuming data is
available to generate a mesh that follows the aberrations). It may
also be possible to model a lens that reverses such abberations if
the scene being rendered has an image map containing an image taken
through the lens.
o Modeling optical devices that employ filters, such as camera CCD's
(by having a mesh that defines R, G and B image sensor elements and
the color filters that are typically overlayed on them).
o Any effect that could be achieved by shooting multiple rays for a
single pixel from different locations (or in different directions)
and averaging the results.
o Simulation of compound eyes such as those of insects.
o Certain types of animation (where only the camera moves), using
distribution #2 and a post-processor to split the output image.
This can be useful for scenes that take a very long time to parse
compared to the time taken to render (which can be an impediment
if using the traditional POV clock-based loop).
o If a means of limiting the maximum ray length is added, then a mesh
camera could be used to probe a scene to generate voxel or slice data
(the latter is useful for generating STL data for 3d printers).
Examples (placement macros not included for brevity):
// Stereo camera:
camera {
mesh_camera {
1 2
mesh {
camera_mesh
meshcam_placement(c_location_left,c_look_at)
}
mesh {
camera_mesh
meshcam_placement(c_location_right,c_look_at)
}
}
location <0,0,-.01>
}
// Texture baking:
camera {
mesh_camera {
1 3
mesh2 {vase1}
mesh2 {vase1}
mesh2 {vase1}
}
location <0, 0, -0.01>
direction <0, 0, 1>
}
Change 5125 on 2010/08/30 by clipka@cli-pc-xp64
Fix for a few Linux compiler warnings
Change 5124 on 2010/08/30 by clipka@cli-pc-xp64
Fix for some Microsoft-isms and other flaws introduced with changes #5109
and #5111.
Change 5123 on 2010/08/30 by chrisc@x8
a few misc changes/fixes, including support (not enabled) for ASCII PPM
output [handy for text processing of output image during testing].
Change 5119 on 2010/08/30 by chrisc@x8
fix for use of templated version of min().
Change 5116 on 2010/08/29 by clipka@cli-pc-xp64
fixed a bug in radiosity introduced with change #5112 that could cause
samples to be re-used too far away
Change 5115 on 2010/08/29 by clipka@cli-pc-xp64
Added support for focal blur with user-defined bokeh, using the
following syntax:
camera {
// ... focal blur camera...
bokeh {
pigment { ... }
}
}
If bokeh is specified, focal blur will use a custom sampling sequence based
on the specified pigment's brightness in the range <0,0,0> to <1,1,0>, i.e.
the unit square in the XY plane.
Change 5114 on 2010/08/29 by clipka@cli-pc-xp64
Parser failed to eat away the parameter value after the obsolete
"max_intersections" keyword, causing it to crash instead of gracefully
ignoring it with a warning; fixed.
Change 5113 on 2010/08/29 by clipka@cli-pc-xp64
fixed some dormant photons code that, according to code inspection, was
broken with radiosity change #4761
Change 5112 on 2010/08/28 by clipka@cli-pc-xp64
Radiosity improvements:
- Removed the max 1600 count limit; if the count exceeds 1600, POV-Ray will
now use a Halton sequence instead of the built-in sequence.
- POV-Ray can now draw sample directions in a round-robin fashion from a
larger pool, so that different samples can use different sets of sample
directions, leveraging the benefit of the nearest_count mechanism.
For this purpose, the count keyword syntax has been changed:
count RAYS_PER_SAMPLE [, DIRECTION_POOL_SIZE ]
- Added importance sampling to radiosity; full ray computations are
performed only for a certain portion of sample rays, depending on the
importance of the first object each ray encounters. Importance can be
assigned on a per-object basis using the followng syntax (using a sphere
as an example):
sphere { ... radiosity { importance IMPORTANCE } }
where IMPORTANCE is a value in the range from >0.0 to <=1.0 specifying the
percentage of rays to actually compute on average. A particular ray will
only be fully computed if it is within the first COUNT*IMPORTANCE rays of
the sampling sequence; due to the low-discrepancy sub-random nature of the
sequence, this is mostly equivalent to a per-ray weighted random choice,
while maintaining a low-discrepancy uniform distribution on a per-object
basis. Rays actually computed are weighted to compensate for those
not computed.
Objects derived from previously defined objects will default to the
"inherited" importance. CSG components without an explicit importance will
default to their parent object's importance. Other objects normally
default to an importance of 1.0, but this can be changed in a
default {} block:
default { radiosity { importance DEFAULT_IMPORTANCE } }
NOTE: The "radiosity on|off" feature for objects (specifying whether an
- fixed bug in change #4979 that screwed up image file input under certain
conditions (most particularly PNG files)
Change 5029 on 2010/06/21 by clipka@cli-pc-xp64
Fixed uv mapping for bezier spline lathe.
Change 5028 on 2010/06/21 by clipka@cli-pc-xp64
Minor change to radiosity adaptive pretrace code.
Change 5026 on 2010/06/20 by clipka@cli-pc-xp64
Modified radiosity pretrace mechanism:
- POV-Ray will now create only one set
instead of one set for each pretrace
pertain to the whole pretrace rather
wait for a pretrace step to be fully
o
the next step as soon as all blocks of the previous step are either finished
or already assigned.
- Implemented adaptive pretrace. When a second parameter is specified after
the "nearest_count" keyword, pretrace will stop re-iterating over areas
where, on average, that many (average-quality) samples are already present
per ray.
- Refactored some related code.
Change 5025 on 2010/06/20 by thorsten@host26
Adds "#declare atand = function (x) {degrees(atan(x))} " to "math.inc"
Change 5022 on 2010/06/19 by clipka@cli-pc-xp64
fix for metallic phong highlights which were broken by change #4962
Change 5021 on 2010/06/18 by clipka@cli-pc-xp64
added #elseif statement; the #if, #ifdef and #ifndef directives syntax is
changed as follows:
IF_DIRECTIVE:
#if ( Cond ) TOKENS... [ELSE_DIRECTIVE] #end
IFDEF_DIRECTIVE:
#ifdef ( IDENTIFIER ) TOKENS... [ELSE_DIRECTIVE] #end
IFNDEF_DIRECTIVE:
#ifndef ( IDENTIFIER ) TOKENS... [ELSE_DIRECTIVE] #end
ELSE_DIRECTIVE:
#else TOKENS... |
#elseif ( Cond ) TOKENS... [ELSE_DIRECTIVE]
Example:
#if (Foo)
#debug "Foo is true\n"
#elseif (Bar)
#debug "Foo is false, but Bar is true\n"
#else
#debug "Foo and Bar are both false\n"
#end
Change 5010 on 2010/06/05 by chrisc@x8
fix issue with windows insert menu preview loading of BMP's that contained DPI
information, and expand number of available insert menu ID's to about 9000.
Change 5009 on 2010/06/05 by chrisc@x8
avoid pulling in all of the std and boost namespaces in many places in favor
of some more specific uses. NB requires changes to platform header files,
already done for unix version, the mac port can clone the changes from the
windows syspovconfig.h.
Change 5004 on 2010/06/01 by clipka@cli-pc-xp64
Added "emission" parameter to the finish block; syntax and effect are
virtually identicall to "ambient", except that "emission" is unaffected by
the global "ambient_light" parameter, which will now effectively be set to 0
if radiosity is active (except in legacy scenes having #version set to <
3.70). The intention is to simplify the use of materials designed for
non-radiosity scenes in scenes with radiosity, or the design of scenes that
can be rendered with or without radiosity.
Change 5003 on 2010/05/29 by chrisc@x8
round out core shellout support for the time being.
TODO: add support to simplefrontend.h.
Change 5001 on 2010/05/28 by chrisc@x8
add special handling for INI lines that are shell-out commands.
Change 5000 on 2010/05/27 by jholsenback@jholsenback_aries
eliminate dependancy on colors.inc in distro file.
Change 4999 on 2010/05/26 by chrisc@x8
re-implement support for shellouts (WIP, INCOMPLETE).
Change 4998 on 2010/05/26 by chrisc@x8
windows editor tab/indent settings are no longer per-file+global default;
changes affect all opened files.
Change 4997 on 2010/05/26 by chrisc@x8
add display of filename on tab hover in windows editor, and add right-click
menu to tabs allowing opening of folder in explorer and copy of filename to
clipboard.
Change 4996 on 2010/05/25 by chrisc@x8
windows: increase maximum number of insert menu sections to 8192, and ensure
that if no INI file exists, a default one that includes the insert menu for
output is made.
Change 4995 on 2010/05/25 by chrisc@x8
add support for loading of JPG and PNG files as windows insert menu hints.
Change 4994 on 2010/05/24 by jholsenback@jholsenback_aries
removed outdated information and corrected typos from some distro files.
Change 4993 on 2010/05/22 by clipka@cli-pc-xp64
changed input file gamma syntax for individual files; as an alternative to
the "file_gamma" keyword, the parser will now also accept the "gamma" keyword
originally introduced for specifying gamma in color values. (To specify the
default input file gamma in the global_settings section, "file_gamma" is
still mandatory though, as "gamma" would be ambiguous and misleading.)
Change 4992 on 2010/05/22 by clipka@cli-pc-xp64
fix FS#116 "assertion fails when using 'filter all' with small-palette images"
Change 4991 on 2010/05/21 by clipka@cli-pc-xp64
Changed antialiasing to compare gamma-adjusted colours instead of linear
colours, to improve antialiasing of darker regions.
Note that this gamma-adjustment is only applied to copies of the sample
values, and does not affect averaging of the sample values, which is still
performed on the original linear data. It is also independent of both preview
display and output file gamma.
The antialiasing gamma-adjustment is controlled by the new ini-file /
command-line options "Antialias_Gamma=x" and "+AGx" respectively, defaulting
to 2.5. Note that this differs from Display_Gamma and File_Gamma defaults, as
it is intended to fit human vision rather than typical CRT characteristics.
Nevertheless, the value specified is once again the inverse of the gamma
actually applied, in order to use the more familiar value range.
Change 4990 on 2010/05/21 by clipka@cli-pc-xp64
fix FS#114 "Mosaic Preview not displaying properly" for unix systems.
Change 4987 on 2010/05/20 by clipka@cli-pc-xp64
Fixed a bug introduced with change #4979 that caused semi-transparent objects
visible against a default background to be displayed wrong in the preview
window when alpha output was off. (File output was unaffected though.)
Change 4986 on 2010/05/20 by clipka@cli-pc-xp64
Added "gamma" keyword to specify gamma pre-corrected colours.
The colour syntax is extended as follows:
COLOR_BODY:
COLOR_VECTOR [GAMMA] |
COLOR_KEYWORD_GROUP |
COLOR_IDENTIFIER [GAMMA]
...
COLOR_KEYWORD_ITEM:
COLOR_IDENTIFIER
|
red Red_Amount
|
blue Blue_Amount
|
green Green_Amount
|
filter Filter_Amount |
transmit Transmit_Amount |
GAMMA
GAMMA:
gamma Gamma_Value |
gamma srgb
Specifying "gamma Gamma_Value" indicates that the colour components are
gamma-precorrected for a display gamma of Gamma_Value, instructing POV-Ray to
automatically convert the colour components to linear values using the
following formula:
Effective_Red_Amount
Effective_Green_Amount
Effective_Blue_Amount
Effective_Filter_Amount
Effective_Transmit_Amount
=
=
=
=
=
Likewise, specifying "gamma srgb" indicates that the colour components are
gamma-precorrected using the sRGB transfer function (being roughly, but not
quite, equivalent to a Gamma_Value of 2.2).
Note that gamma is NOT an additional component, but rather modifies the
interpretation of the other colour keywords. For instance, the following
statements are all fully equivalent:
#declare Foo = colour rgbt <0.2, 0.3, 0.4, 0.5> gamma 2;
#declare Foo = colour rgbt <0.04,0.09,0.16,0.50>;
#local Fnord = colour rgbt <0.2, 0.3, 0.4, 0.5>; #declare Foo = colour Fnord
gamma 2;
Also note that specifying gamma does not affect the filter or transmit compone
nts.
Change 4984 on 2010/05/16 by clipka@cli-pc-xp64
more changes to input image transparency handling:
- For material_map, /no/ alpha premultiplication handling is done whatsoever;
instead, the data as stored in the file is used.
- For bump_map and image_pattern, images with alpha channel are treated as if
they had a black background (unless the alpha channel itself is used).
Change 4983 on 2010/05/14 by clipka@cli-pc-xp64
fix FS#113 "Multi-layered reflections broken"
Change 4982 on 2010/05/14 by clipka@cli-pc-xp64
Added comments & fixed a few flaws in the GammaCurve class
Change 4979 on 2010/05/13 by clipka@cli-pc-xp64
Changed alpha handling for image file in- and output:
use/2,
but not modify any of the values; if minimum_reuse >= maximum_reuse; the par
ser will
raise an error.
Change 4971 on 2010/05/08 by clipka@cli-pc-xp64
Replaced virtually all occurrences of Colour type with RGBColour, using
separate filter and/or transmit variables/parameters where needed, to get a
clearer picture of where these values are actually used and processed, and
where they were just plain ballast.
Consolidated a few duplicate constants.
Changed effect of filter in a layered-pigment sky_sphere to match the
behavior of a corresponding layered-texture large regular sphere. (The old
behavior, though probably having been unintentional, is automatically
re-activated for backward compatibility when #version < 3.7 is specified.)
Partial fix for broken alpha channel output; v3.6 behavior is now reproduced
exactly (including bugs), regardless of version. Further changes will address
the premultiplied-alpha issue (which was already handled wrong in 3.6) and
possibly add options for use cases where v3.6 behavior might be undesired.
Change 4969 on 2010/05/06 by chrisc@x8
Fix crash reported in http://news.povray.org/4bd949b3@news.povray.org
Change 4968 on 2010/05/05 by chrisc@build
beta 37a install scripts.
Change 4967 on 2010/05/05 by chrisc@x8
change version to beta 37a.
Change 4965 on 2010/05/03 by clipka@cli-pc-xp64
fixed an issue with SSLT that could cause rendering threads to hang
Change 4964 on 2010/05/02 by clipka@cli-pc-xp64
fix for FS#107 "Failed to parse INI file, over network"
Change 4963 on 2010/05/02 by clipka@cli-pc-xp64
follow-up to change #4962 to suppress excessive parse warnings about ignored
filter & transmit components
Change 4962 on 2010/05/02 by clipka@cli-pc-xp64
Yet more code refactoring:
- replaced lots of COLOUR parameters & variables with Colour or RGBColour
- replaced various Colour parameters & variables with RGBColour
- replaced a few int parameters & variables with bool
- declared several more parameters as const
code refactoring
Change 4953 on 2010/04/24 by chrisc@build
update install scripts for beta 37.
Change 4951 on 2010/04/24 by chrisc@x8
Update changes.txt/revision.txt.
Change 4949 on 2010/04/24 by chrisc@x8
bump version to beta 37.
-------------------------------------------Changes between 3.7.beta.35 and 3.7.beta.37
-------------------------------------------Change 4948 on 2010/04/24 by chrisc@x8
fix issue where parse fails if output file type not specified (see change #493
2).
Change 4947 on 2010/04/22 by clipka@cli-pc-xp64
preliminary workaround for FS#81 "sphere_sweep generating artifacts"
Change 4946 on 2010/04/21 by clipka@cli-pc-xp64
partial fix for FS#102 "#switch directive parsing problem": POV-Ray will now
complain if the first #case or #range after a #switch is missing the hash
sign ("#")
Change 4944 on 2010/04/19 by clipka@cli-pc-xp64
fix for FS#92 "Sphere_Sweep Bug": Modified quadratic polynom solver to
"normalize" polynoms first before checking for optimizations, to prevent
problems when all coefficients are small
Change 4943 on 2010/04/19 by clipka@cli-pc-xp64
fixed FS#100 "cutaway_textures"; removed some obsolete code along the way
Change 4942 on 2010/04/18 by clipka@cli-pc-xp64
modified #break semantics; the #break directive can now be used...:
- anywhere within a #case or #range block, to skip to the end of the
#switch directive (previously, #break was only useful right before the nex
t
#case, #range or #else directive, to indicate that a slip-through was not
desired);
- anywhere within a loop block (both #while and #for), to preliminarily
terminate the loop; and
- anywhere within a #macro block, to preliminarily terminate the macro.
Example for the use in a loop:
#local R = seed(4711);
- Fixed a benign coding flaw in HDR image input code (wrong parameter type i
n function prototype)
- Fixed file type names in some error messages
Changes:
- Radiance HDR image output no longer writes the proprietary GAMMA header
field.
- PPM image output now supports 16-bit greyscale output (effectively
writing a PGM file instead), to be activated via the "Greyscale_Output=on"
option or the "+FPg" file type switch.
Change 4930 on 2010/03/15 by chrisc@x8
Add manual update check menu item for Windows UI.
Change 4929 on 2010/03/14 by calimet@lavender
Unix beta.35a config: require boost >= 1.37 and (for now) libpng < 1.4
Change 4928 on 2010/03/13 by chrisc@x8
update for beta 36, add hard expiry and remove standard timeout from windows v
ersion.
activate update checks in windows version.
Change 4927 on 2010/02/11 by clipka@cli-pc-xp64
Minor radiosity changes:
- maximum_reuse parameter now governs the maximum effective radius of a
sample more directly.
- Removed obsolete code.
- Trimmed down radiosity sample memory footprint a bit.
- Improved robustness of code
- Improved pretrace "pixel" coordinates computation
- Eliminated some "magic numbers"
Change 4926 on 2010/02/08 by chrisc@x8
Fix to changes.txt/revision.txt.
Change 4925 on 2010/02/08 by chrisc@x8
Update about.bmp for windows source dist.
Change 4924 on 2010/02/08 by chrisc@x8
Update windows source dist.
Change 4915 on 2010/01/11 by chrisc@x8
Radiosity_Vain_Pretrace=bool
+RVP
-RVP
Note that with vain pretrace off, preview will look remarkably odd during the
radiosity
pretrace phase; this is normal, and no reason to be alarmed.
At the moment, turning vain pretrace off will affect only classic lighting com
putations
(diffuse lighting, higlights and iridescence); other features expendable durin
g pretrace
may follow in future versions.
Change 4842 on 2009/07/15 by clipka@cli-pc-xp64
FS#39 - "cats" and "life" sample scenes broken (follow-up)
NOTE: Only the line ending of the very last line of each file changed (CR to C
R+LF); some
programs may consider this a non-change, so be sure to get the updated version
!
Change 4835 on 2009/06/21 by chrisc@x8
windows console version now sends stream output to stderr by default.
------------------------------------------Changes between 3.7.beta.32 and 3.7.beta.33
------------------------------------------Change 4828 on 2009/06/17 by calimet@lavender
[unix] config: fix FS#34 (http://bugs.povray.org/task/34) and update generic a
utoconf macros
Change 4825 on 2009/06/15 by chrisc@x8
improve support for image output to stdout/stderr for supported file types. th
e BANNER_STREAM
output will still be a problem if writing the image to stdout as currently thi
s cannot be turned
off. however note that the linux and winconsole versions write these streams t
o STDERR so this
should be OK on those platforms.
NOTE: this submission does not implement progressive output; the image is only
written
after the render completes. progressive output will be added in a later submis
sion.
Change 4824 on 2009/06/15 by chrisc@x8
don't fclose stream if it's stdout, stderr or stdin, plus add support for outp
ut to stderr.
Change 4823 on 2009/06/14 by chrisc@x8
fix FS#14 (coincident transparency issue)
To tune the algorithm for quality or performance, the number of samples for th
e diffuse
scattering and single-scattering approximation, respectively, can be specified
by placing
the following statement in the global_settings section:
subsurface { samples NUMBER, NUMBER }
SSLT is still in alpha stage.
Change 4743 on 2009/03/27 by clipka@cli-pc-xp.rad
added radiosity octree performance stats; fixed stats for max trace level & pa
rse time
Change 4742 on 2009/03/25 by clipka@cli-pc-xp.rad
implement binary #write
Change 4733 on 2009/03/14 by chrisc@x8
alter the return type of GetThreadID() related functions to be POVMS_Sys_Threa
d_Type.
Change POVMS_Sys_Thread_Type to be unsigned long (needed for 64-bit Macintosh
x86 build).
Change 4731 on 2009/03/09 by chrisc@x8
improvements to performance in crackle cache. in particular, avoid calling mal
loc() for
each cached entry, and rely on performance of unordered_map's default allocato
r to not hammer
the heap. NB I tried using boost's pool allocator but this gave particularly p
oor performance
on render shutdown (during destruction of the allocated entries).
optimised the management of the crackle cache size by setting limits in megaby
tes (currently
per-thread and not user-settable: this needs looking at).
NB there is some scope for investigation of whether or not the crackle cache c
ould be efficiently
turned back into a single cache per scene, rather than per thread; cache effic
iency seems fairly
high and thus most accesses are reads.
optimised crackle cache entry setup a little by avoid branches during main loo
p at cost of extra
memory lookups.
changed crackle to use the boost hash.
renamed the standard POV 'Rectangle' class to 'Rect' due to a long-standing an
d rather annoying
clash with a Windows definition of the same same name. unfortunately some boos
t headers (such as
pool allocators, and also the mutex code) pull in windows.h and contaminate th
e namespace with
windows crap. while I could work around it by explicitly specifying pov_base::
Rectangle it's
cleaner just to change the definition to avoid this.
Change 4726 on 2009/02/25 by calimet@lavender
unix config: changes for beta.31
- require boost >= 1.35 to build latest radiosity changes
- add check whether the selected C++ compiler works to fix issue reported in
http://news.povray.org/web.494ffd924e4b35bcedb0f3170%40news.povray.org
- add more robust check to detect boost
- add support for ICC's -xHost flag (version 11.0 and above) and preliminary
support for SSE4
Change 4725 on 2009/02/25 by calimet@lavender
unix config: ax_test_compiler_flags.m4 checks current flag with all previously
selected flags;
does not use AC_TRY_COMMAND anymore
Change 4720 on 2009/02/22 by chrisc@x8
tweak randomsequences.h to make visual studio 2005 happy.
Change 4710 on 2009/02/18 by chrisc@x8
tweak display of render shutdown and file warnings on Windows.
Change 4709 on 2009/02/18 by chrisc@x8
change 'render shutdown' to 'shutdown' in shutdown messagefactory.
------------------------------------------Changes between 3.7.beta.29 and 3.7.beta.31
------------------------------------------Change 4708 on 2009/02/17 by chrisc@x8
fix inconsistent usage of int/long in line numbers within POVMS messages.
implement filename display in message output where name is supplied.
Change 4707 on 2009/02/16 by chrisc@x8
introduce means for objects to submit a message on shutdown. this is
currently only implemented for isosurfaces (the max_gradient warning), but
can be implemented for any object type by providing an implementation of
ObjectBase::DispatchShutdownMessages.
Change 4706 on 2009/02/15 by chrisc@x8
auto-size progress bar to fit in remaining status panel space; if not enough
room, don't show it at all.
Change 4703 on 2009/01/19 by clipka@cli-pc-xp.rad
fixed bug that caused wrong radiosity illumination on transformed mapped textu
res
Change 4696 on 2009/01/16 by calimet@lavender
config: ax_x86_arch.m4 does not use AC_TRY_COMMAND anymore;
add preliminary support for SSE4x and newer Core i7, Phenom CPUs
Change 4695 on 2009/01/16 by calimet@lavender
config: ax_fix_incorrect_path.m4 does not use AC_TRY_COMMAND anymore
Change 4694 on 2009/01/16 by calimet@lavender
config: rewrite ax_compiler_version.m4 macro for better logging;
do not use autoconf's undocumented/deprecated/dangerous AC_TRY_COMMAND anymore
Change 4693 on 2009/01/15 by calimet@lavender
remove a non-ASCII character (radiosity updates, change 4687)
Change 4692 on 2009/01/15 by calimet@lavender
install script: fix non-POSIX 'read' options as reported in
http://news.povray.org/web.496e790f156c502e2adf27b40@news.povray.org
Change 4691 on 2009/01/12 by calimet@lavender
config: fix issue reported in http://news.povray.org/web.494fe25d9d9e24ec569d0
e9f0@news.povray.org
updates/fix for newer GNU autoconf versions (tested with 2.63)
Change 4690 on 2009/01/12 by calimet@lavender
config: updates from the Autoconf Macro Archive; minor mod for ax_compare_vers
ion.m4
Change 4689 on 2009/01/12 by calimet@lavender
config: generic updates from GNU automake 1.10.2
Change 4688 on 2009/01/10 by chrisc@x8
ported SSLT code by Sarah Tariq and Lawrence (Lorenzo) Ibarria from v3.5
proof-of-concept source files.
code is not active currently. lots more work to do.
Change 4687 on 2009/01/08 by chrisc@x8
Radiosity updates from Christoph Lipka, with some minor re-formatting and
updates to suit changes in the boost::thread library.
Change 4685 on 2009/01/06 by chrisc@x8
various minor changes mostly related to building the code with boost v1.37.0
Change 4683 on 2009/01/03 by chrisc@x8
add Visual Studio 2008 project.
Change 4680 on 2008/10/18 by chrisc@x4
fix install issue where SSE2 binary was always used even if system didn't
have SSE2.
Change 4673 on 2008/10/05 by chrisc@x4
update windows readme.txt, add HTML version (readme.txt is now derived from
the HTML one).
Change 4668 on 2008/09/30 by calimet@lavender
fix bashism is various scripts; see http://news.povray.org/48c1d1b9$1@news.pov
ray.org
Change 4667 on 2008/09/30 by calimet@lavender
fix bashism is various scripts; see http://news.povray.org/48c1d1b9$1@news.pov
ray.org
------------------------------------------Changes between 3.7.beta.28 and 3.7.beta.29
------------------------------------------Change 4662 on 2008/09/27 by chrisc@x4
allow 'save as' to succeed without 'file is already open in editor' error if
case of current file is being changed.
Change 4661 on 2008/09/27 by chrisc@x4
add CPU count code from Intel Corp.
this allows us (at least on Intel CPU's) to get a more accurate count of
actual CPU cores installed. this is particularly useful for fixing the
issue with the stats (Windows counts virtual processors as physical ones,
which mucks up the CPU vs elapsed time ratio calculation).
Change 4659 on 2008/09/27 by chrisc@x4
update teapot sample scene.
change flat_enough to 0.0001 (was 0.01).
change teapot texture, checker color, and background color.
fix error on line 179 where incorrect y-coordinate was given (reported by
Yannick Patois).
Change 4658 on 2008/09/27 by chrisc@x4
add colored text output to message window. warning and debug messages get
different colors than error messages and standard text.
change default background to be a plain color.
Change 4657 on 2008/09/27 by chrisc@x4
add deprecation to glass_old.inc and related changes (from Jim Holsenback).
Change 4656 on 2008/09/25 by chrisc@x4
add ability to declare an identifier as deprecated.
#declare deprecated Col_Glass_Old=color rgbf <0.8, 0.9, 0.85, 0.85>;
#declare deprecated once Col_Glass_Old=color rgbf <0.8, 0.9, 0.85, 0.85>;
#declare deprecated "Some message" Col_Glass_Old=color rgbf <0.8, 0.9, 0.85,
0.85>;
A deprecated identifier generates no message at the time it is declared: a
warning is only issued if it is used.
Workaround for race condition that would cause 'timed out waiting for worker t
hread' error.
Change 4582 on 2008/04/25 by calimet@lavender
[unix] fix the --prefix ignored issue reported by Warp
http://news.povray.org/47f28cfe@news.povray.org
Change 4581 on 2008/04/20 by calimet@lavender
dd two missing includes; after reports by Sean McGrath on
http://news.povray.org/web.47e7abdfb582dec03803aa600@news.povray.org
http://blogs.sun.com/smg/entry/povray_3_7_on_solaris
Change 4580 on 2008/04/08 by calimet@lavender
apply gentoo patch for build failure with gcc 4.3
http://bugs.gentoo.org/show_bug.cgi?id=216684
Change 4544 on 2008/02/09 by chrisc@x4
a raft of changes, mostly related to our default class name, registry location
, and migration.
as of this checkin, POVWIN now uses its own registry branch instead of sharing
the one used by 3.6.
support has been added for automatically migrating INI-based settings from a p
rior 3.6 install.
other misc changes also included.
Change 4533 on 2008/02/08 by chrisc@x4
fix file drop crash reported in <47ac0f69$1@news.povray.org>.
Change 4532 on 2008/02/05 by chrisc@x4
stub out windows video capture support code (needs re-implementation).
------------------------------------------Changes between 3.7.beta.24 and 3.7.beta.25
------------------------------------------Change 4524 on 2008/01/30 by chrisc@x4
remove last vestiges of pvengine.ini support (with exception for compatibility
in GUIEXT).
NB this doesn't affect pov-ray's own INI file handling.
Move pvtools.ini to logged-in user's Application Data\POV-Ray for Windows dire
ctory.
As of this checkin, 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 we still support.
Change 4523 on 2008/01/29 by calimet@lavender
add auto setting of thread count and rework --benchmark for linux platform.
The number of threads is now set as the number of detected CPUs, or
ctor.
Change 4483 on 2007/11/03 by warp@warp
Added support for full area light diffuse and specular illumination. By defaul
t
this is off, but can be turned on with the new keyword 'area_illumination [on|
off]'
inside the light_source definition block.
------------------------------------------Changes between 3.7.beta.22 and 3.7.beta.23
------------------------------------------Change 4470 on 2007/10/20 by chrisc@x4
POVWIN now allows an expired beta to be extended by up to one week at a time,
up to a maximum of 12 months.
Change 4457 on 2007/09/15 by nkopp@lightspeed
Fix photon issues with refraction and dispersion
Change 4454 on 2007/09/05 by warp@warp
Comparison ('=', '!=', '<', '<=', '>', '>=') support for strings.
-------------------------------------------Changes between 3.7.beta.20b and 3.7.beta.22
-------------------------------------------Change 4452 on 2007/08/28 by warp@warp
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.
Change 4447 on 2007/08/09 by chrisc@cc-vm-xp
Workaround for the temp file mapping not being completed.
Temp files are now created as before (in the place specified).
Change 4445 on 2007/08/09 by chrisc@cc-vm-xp
Fix 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.
Change 4431 on 2007/05/13 by calimet@nx
Multi-threaded signal handler, replaces the basic implementation.
The signal handler is now running its own thread waiting to receive signals
via sigwait(). Cancelling the benchmark before it starts is now handled via
the handler as well, and returns proper exit value.
Change 4430 on 2007/04/30 by nkopp@lightspeed
Further fix for media_attenuation bug
also some other misc changes, including removing links to IRTC CD etc.
Change 4371 on 2007/04/07 by chrisc@x4
Activate new memory statistics code; update win mem stats code to suit.
NOTE: This is a work in progress. Currently it only gives global memory
stats (not per-thread). Per-thread stats are planned and are more useful
than global stats since we can then determine the memory usage of e.g.
the parse stage vs the render stage, plus ignore any allocs from non-core
related threads (e.g. the UI).
NB this feature requires non-trivial platform-specific code to function.
I'd advise holding off doing other platform support until the windows
code is done, as the interface will probably change.
Change 4370 on 2007/04/01 by calimet@nx
fix problems in running the internal benchmark (setting the number of
threads; aborting the benchmark before it starts)
Change 4368 on 2007/04/01 by calimet@nx
better error checking for timers; pretend the CPU time is always right for
now.
Change 4367 on 2007/04/01 by calimet@nx
configure.ac: always check getrusage() and gettimeofday()
Change 4365 on 2007/04/01 by calimet@nx
various changes and fixes including:
- the display PauseWhenDone() method now takes a parameter that signals
whether we need to exit immediatly (for instance if ctrl+c is hit)
- set expiry to 2007-04-16
- better handling of render cancel (text display; within animation)
- read session status a bit more often (200ms instead of 250)
- immediatly notify a change in the backend state (set event mask)
to better synchronize the relevant console messages
- exit code now returns 0=ok | 1=error | 2=user abort
Change 4359 on 2007/03/31 by chrisc@x4
fix issue with editor window splitting not being restored
(<45620b9e$1@news.povray.org>).
fix 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>).
Change 4358 on 2007/03/31 by chrisc@x4
fix uv mapping issue reported in <45602a08@news.povray.org> and
<46092c8a@news.povray.org>.
note that the core issue here could have had effects in other places.
[Copy_Object was not properly initializing/clearing some fields that are
usually, but not always, copied by the object-specific copy function.
in particular it was not clearing llights].
some more RTR changes. windows capture code now supports options as follows:
width=nnn
height=nnn
double-buffer=yes|true|1|no|false|0
skip-initial=nnn
gamma=fff
if omitted, defaults are:
width and height
double-buffer
skip-initial
gamma
it is possible to specify just the width or height, in which case the code
will default to the first found pin with that size, and won't care what the
other dimension is. specifying '-1' as a width or height is also a way of
saying it is a "don't-care". if the requested size is not available, the
render will fail.
skip-initial is the number of frames to skip before returning from the
initialization. this is needed on some webcams that need a number of frames
to perform their setup (such as auto exposure and auto white-balance). this
matters mostly if the vidcap input is being used for something other than
real-time rendering.
double-buffer and gamma do what their name imply.
example specification:
image_map {sys ":vidcap:width=640:height=480:double-buffer=0:skip-initial=5
:gamma=2.2" map_type 1}
Change 4273 on 2006/10/29 by chrisc@x4
add double-buffering to video capture implementation.
Change 4272 on 2006/10/29 by chrisc@x4
some preliminary RTR support. still a WIP.
Change 4271 on 2006/10/28 by chrisc@x4
fix issue caused by failure to clear ray interiors during focal blur sample lo
op.
see <web.45424a798f1b3f6c1bd6cd0c0@news.povray.org>.
Change 4270 on 2006/10/25 by chrisc@x4
implement video capture. still need to add options parsing for setting e.g.
resolution etc.
Change 4266 on 2006/10/23 by chrisc@x4
fix issue with trace returning an incorrect intersection point in some
circumstances (see <web.45367d932f1ac4de72d86b490@news.povray.org>).
The issue was caused by the noise function using a different noise generator
during the parse than afterwards, since f_noise3d passed a NULL pattern to
Noise(), which tells noise to use the default noise generator. However this
is not assigned prior to parse completion.
The fix was to give the VM access to the actual noise generator via
scenedata, so that it may be passed to Noise(). In the process I took the
opportunity to get rid of the global gNoiseGenerator, since its main reason
for existance is to allow Noise() to work when it isn't passed a noise
generator explicitly (via tpat). Noise() - and also a few other functions
that used to take a TPATTERN * - now directly accept the noise generator
instead.
Change 4265 on 2006/10/23 by chrisc@x4
fix material assignment issue (see bugzilla bug #21).
Change 4264 on 2006/10/23 by chrisc@x4
improve handling of debug messages in vfe.
Change 4263 on 2006/10/21 by chrisc@x4
fix crash reported in <web.453677b9876cd74e72d86b490@news.povray.org>.
Change 4261 on 2006/10/17 by thorsten@host27i
Adds stat for camera count as well as variable for sending camera index to
View::StartRender (however, does not implement selecting that camera yet)
Change 4260 on 2006/10/15 by calimet@lavender
change default file gamma from 1.0 to 2.2
Change 4258 on 2006/10/14 by chormann@chho
correcting 'FileGamma' and 'DisplayGamma' to 'File_Gamma' and 'Display_Gamma'
in warning messages
------------------------------------------Changes between 3.7.beta.15 and 3.7.beta.16
------------------------------------------Change 4256 on 2006/10/14 by chrisc@x4
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 - usually when running several instances of POVWIN - and is caused by
CreateCompatibleBitmap() failing. substituting calls to CreateDIBSection()
fixes the problem. NB I not been able to replicate the error on systems that
do not have windowblinds installed, though I cannot say definitively if that
is the cause.
Change 4252 on 2006/10/13 by calimet@lavender
add support for 'pause when done' (closes bugzilla bug 5)
Change 4251 on 2006/10/13 by thorsten@host27i
set background color in parser
in one spot when rendering with BSP, but not when rendering with the old
block partitioning.
Change 4203 on 2006/09/04 by chormann@chho
changed density file fix (change 4195) to use 'size_t' instead of 'long'.
Change 4201 on 2006/09/04 by chrisc@x2
Fix nasty heap overwrite in BVH code. See <web.44e5a00bfcc26e0fc717c9af0@news.
povray.org>.
This bug caused delayed crashes and would not show up in debug mode.
It's been in the codebase since at least version 3.5, if not earlier.
Change 4195 on 2006/08/31 by chormann@chho
fixed the density file size limitation by changing 'int' to 'long' for
various index variables in DF3 reading, pattern evaluation and data structure.
See <web.44f40e4698b0d9e4b399450c0@news.povray.org>
Change 4194 on 2006/08/30 by calimet@nx
fix "Crash when assigning materials" issue reported in <44f596fa$1@news.povray
.org>
Change 4193 on 2006/08/29 by calimet@nx
[docs] [unix] fix navigation problems (malformed <a name></a> tags); add
'id' attribute together with 'name' and post-process their values for better
w3c conformance; workaround to missing images (gif->png) when building the doc
s
using the default "skip ta" makedocs option.
Change 4191 on 2006/08/23 by calimet@nx
fix broken RLE Targa (+FC) output causing program abort (pixel overflow)
Change 4190 on 2006/08/23 by calimet@nx
fix PNG output: corrupted file (missing IEND chunk) and potential memory leak
Change 4181 on 2006/07/27 by chrisc@x2
benchmark.cpp fix.
Change 4173 on 2006/07/21 by chrisc@x2
gamma changes, revert to beta.10 behaviour with some tweaks for more
extensive version checking.
In particular, specifying -MV3.7 or later via an INI file or the
command-line is taken at higher precedence than a #version 3.6 (or
lower) in the scene file when it comes to assigning the default state of
gamma correction (on/off, not its actual value if on). the value used
when it is on is determined by either Display_Gamma (if given) or
DEFAULT_DISPLAY_GAMMA otherwise. Similar steps are taken for the new
File_Gamma option.
The actual value of assumed_gamma is not passed on; this prevents its
use for anything other than turning gamma on or off (which is what the
majority of scenes did with it). Those scenes that (mis)used
assumed_gamma to adjust the scene appearance outside of the needs of the
user's actual display gamma will need to either be altered to suit, or
to be run with an adjusted Display_Gamma and File_Gamma.
NB users are warned that assumed_gamma support will be removed entirely
in a later 3.7 revision.
Change 4170 on 2006/07/20 by thorsten@host27
Adds gamma correction to file output. Need to determine if gamma
correction of alpha channel makes sense (3.6 and earlier manipulated
gamma in some strange way when merging filter and transmit). Further
added DEFAULT_ASSUMED_GAMMA macro to provide full backward compatibility
features for assumed_gamma (includes a strong warning).
Change 4169 on 2006/07/19 by thorsten@host27
Changes display gamma to consider assumed_gamma for legacy scenes and
issue extensive warning messages to inform users about the change and
how to fix their scene file
Change 4168 on 2006/07/03 by thorsten@host27
Adds "WorkThreads" INI option and "WT" command-line option to set
MaxRenderThreads
Change 4163 on 2006/06/22 by nkopp@lightspeed
fix media photons (gather); also refactor some photon shooting code
Change 4161 on 2006/06/22 by chormann@chho
implementing most of the functionality of old unix.cpp in a new
UnixOptionsProcessor class. This provides options processing for the
standard options as well as for the display subsystems.
This adds to the Unix frontend:
- io-restrictions
- povray.ini file processing
- help display
Further minor tweaks.
Change 4152 on 2006/06/18 by thorsten@host27
Adds FileGamma option
Change 4141 on 2006/05/10 by chrisc@x2
fix default blend map destruction issue.
Change 4132 on 2006/05/01 by chrisc@x2
fix 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>.
Change 4131 on 2006/05/01 by chrisc@x2
progress reporting
Change 3892 on 2005/09/13 by chrisc@x2
Fix output file reporting issue reported in <web.430dc75ff23d654e726bd13c0@new
s.povray.org>.
few other minor tweaks.
Change 3891 on 2005/09/13 by chrisc@x2
ImageProcessing::WriteImage() now returns the name of the file it wrote.
Change 3890 on 2005/09/10 by thorsten@host27i
Adds dispersion (still to be tested)
Fixes misc little issues
Change 3889 on 2005/09/10 by thorsten@host27i
Attempt to fix a mosaic preview related pointer problem
Change 3888 on 2005/09/10 by chrisc@x2
fix render window re-display problem.
ensure local povray.ini search location is in source file dir.
add handler to throw std::bad_alloc on out-of-memory during operator new*.
misc changes to vc.net project file.
Change 3887 on 2005/09/10 by chrisc@x2
use FileMappedImageAllocator in windows project.
Change 3886 on 2005/09/10 by chrisc@x2
improve error reporting when image allocation fails.
Change 3882 on 2005/09/10 by chrisc@x2
handle out-of-memory condition when calling Image::Create().
Change 3881 on 2005/09/10 by chrisc@x2
a few fixes for mosaic preview.
Change 3880 on 2005/09/10 by chrisc@x2
radiosity fix.
Change 3879 on 2005/09/09 by thorsten@host27i
Adds support for file-mapped image memory
Requires FILE_MAPPED_IMAGE_ALLOCATOR to be defined to be a standard STL
allocator that will be used when file-mapped image is required.
Adds support for mosaic preview.
Change 3878 on 2005/09/08 by chrisc@x2
focal blur bugfix.
Change 3876 on 2005/09/08 by thorsten@host27i