Difference between revisions of "User talk:Jholsenback"
(Made a start on the Scene file checklist. Added misc item for copyright dates.) |
(Clarification on Unix SDL console message update.) |
||
Line 62: | Line 62: | ||
<ol> | <ol> | ||
<li>On Unix with Simple DirectMedia Layer (SDL) enabled the <em>p</em> key can now be used to pause and un-pause a render</li> | <li>On Unix with Simple DirectMedia Layer (SDL) enabled the <em>p</em> key can now be used to pause and un-pause a render</li> | ||
+ | |||
+ | <p>The focus of this change was correcting unix console messages. There was previously no notice 'p' and 'q' were active for +D renders. The final pause, if using +P, had always incorrectly said hitting any key would continue/quit when only 'q', enter or detecting on the SDL window would. Enabling 'p' to also continue from the final pause in addition to mid render ones makes 'p' operation consistent throughout the render (and it was cleaner code-wise).</p> | ||
+ | |||
<li>The <code>version</code> pseudo-variable will now evaluate to the effective language version at the time the expression is parsed, <em>except</em> when used in a <code>#version</code> directive, in which case the behavior remains unchanged. The requirement to start each scene with a <code>#version</code> statement is now more strongly enforced for POV-Ray 3.7 scenes. An error is reported if the scene file <em>does not begin</em> with a <code>#version</code> directive but <em>does</em> have a <code>#version 3.71</code> (or later) directive anywhere in the main scene file</li> | <li>The <code>version</code> pseudo-variable will now evaluate to the effective language version at the time the expression is parsed, <em>except</em> when used in a <code>#version</code> directive, in which case the behavior remains unchanged. The requirement to start each scene with a <code>#version</code> statement is now more strongly enforced for POV-Ray 3.7 scenes. An error is reported if the scene file <em>does not begin</em> with a <code>#version</code> directive but <em>does</em> have a <code>#version 3.71</code> (or later) directive anywhere in the main scene file</li> | ||
<li> Using <code>ambient</code> with a suspiciously high value in a non-legacy scene will now issue a warning, unless <code>emission</code> is also specified</li> | <li> Using <code>ambient</code> with a suspiciously high value in a non-legacy scene will now issue a warning, unless <code>emission</code> is also specified</li> |
Revision as of 11:18, 15 December 2016
3.7.1 Changes Checklist
The following is a check list of the changes that need to be documented prior to version 3.7.1 release.
New Features
Materials
- A new finish parameter
use_alpha
has been added to suppress highlights and reflections depending on pigment transparency. - A new special pigment pattern
user_defined
has been added to define the pigment color directly in terms of a set of functions. - A new pattern
potential
has been added to define a pattern based on the potential field of a blob orisosurface
object. - The
map_type
keyword now supports the Angular Map projection for light probes, popularized by Paul Devebec, astype 7
- Done Native support for repetition has been added to the
crackle
pattern to avoid the discontinuities in the pattern caused by repeat warps. - Done The torus syntax has been extended to give more control over the spindle in a self-intersecting torus
- Done Color and pigment maps now support non-linear interpolation to achieve more pleasing gradients
- Fresnel angle-dependent attenuation can now also be applied to highlights and the diffuse component for more physical realism
Geometric Primitives
- Done UV mapping support has been added to cones and cylinders. See-It
- A new parameter
polarity
has been added to isosurfaces to choose whether function values above the threshold should indicate the inside or outside. Over-HereBy default, the inside of an isosurface is defined as the set of all points inside the `contained_by` shape where the function values are below the threshold. Since 3.7.1, this can be changed via the New
polarity
keyword: Specifying a positive setting oron
will instead cause function values above the threshold to be considered inside. Specifying a negative setting oroff
will give the default behaviour. - Done A new geometric primitive
lemon
has been added. See-It
Scene Description Language, Options and INI settings
- Done Support for variable-size arrays has been added
- Done A new data container
dictionary
has been added to support structured storage of data - Done Pseudo-dictionaries
local
andglobal
have been added, allowing to specifically access local or global identifiers respectively - Done The
max_extent
function as used to determine the size of an image map in pixels can now also be used on normal maps and density files - Done Macros up to a certain size (currently hard-coded to 65536 characters per macro) are now cached in memory, improving parsing speed of invocations especially when the macro in question is defined in a different file
- All instances of
gray
in keywords or INI file options can now alternatively be spelledgrey
. Previously this was only the case inside function definitions where it applied only to the.gray
color pseudo-component - Done A new inbuilt constant
tau
has been added - The
#declare
and#local
syntax has been extended to support tuple-style assignments. The main purpose is to allow macros to return a set of values rather than just a single one - Done The macro syntax has been extended to allow for
optional
parameters - Done The creation of a log for the
+C
render abort-continue feature can now be suppressed using-CC
to save disk space
Miscellaneous
- Done Support for the ITU-R BT.709 and BT.2020 transfer functions has been added to POV-Ray's gamma handling portfolio
- Done A new function-based user-defined camera type
user_defined
has been added - Light sources distance-based fading can now be set to obey an inverse-power law at all distances
- CIE L*a*b* conversion macros have been added to colors.inc
- A new include file colors_ral.inc has been added containing predefined colors according to the RAL Classic standard
- Thinking all copyright dates in code, scenes, documentation should be updated to 2016 (or 2017) for beta release
Changed Behavior
Image Files
- By default, gamma handling of NetPBM (PPM/PGM) in and output files now follows the official NetBPM standard, which mandates gamma-encoding using the ITU-R BT.709 transfer function. As usual this can be overridden by the
gamma
input file parameter orFile_Gamma
INI setting, respectively - The Compression setting now affects more file types: Specifying
Compression=1
with file typeT
(Targa) will now generate compressed Targa (same as file typeC
), and explicitly specifyingCompression=0
with file typeP
(Netpbm PPM/PGM) will generate plain (ASCII) Netpbm rather than raw (binary) - POV-Ray will now try to auto-detect whether an input TIFF file with alpha channel uses
premultiplied
or non-premultiplied alpha mode, rather than blindly presumingpremultiplied
alpha - The interaction of
transmit all
andfilter all
with an image's alpha channel has been changed to be more intuitive: rather than adding the image's transparency to the user-specified transparency, the image's opacity is now effectively multiplied with the user-specified opacity. (requires#version 3.71
or later) - The image file format previously referred to as IFF (now more precisely referred to as IFF-ILBM) is now associated with the
.lbm
file extension in addition to the.iff
extension
Miscellaneous
- On Unix with Simple DirectMedia Layer (SDL) enabled the p key can now be used to pause and un-pause a render
- The
version
pseudo-variable will now evaluate to the effective language version at the time the expression is parsed, except when used in a#version
directive, in which case the behavior remains unchanged. The requirement to start each scene with a#version
statement is now more strongly enforced for POV-Ray 3.7 scenes. An error is reported if the scene file does not begin with a#version
directive but does have a#version 3.71
(or later) directive anywhere in the main scene file - Using
ambient
with a suspiciously high value in a non-legacy scene will now issue a warning, unlessemission
is also specified - A long-standing undocumented inconsistency in the treatment of backslashes in string literals, in which backslashes were essentially not interpreted as escape characters if the parser expected a filename, has been cleaned up. Backslashes are now treated as escape characters in all string literals. requires
#version 3.71
or later
The focus of this change was correcting unix console messages. There was previously no notice 'p' and 'q' were active for +D renders. The final pause, if using +P, had always incorrectly said hitting any key would continue/quit when only 'q', enter or detecting on the SDL window would. Enabling 'p' to also continue from the final pause in addition to mid render ones makes 'p' operation consistent throughout the render (and it was cleaner code-wise).
Code Snippet's Comments and Content Related
Use this section for code snippet's to be included in reference. Comments and content related items are welcome too.
3.7.1 Scene File Checklist
- Done spindle torus example
- Done user_defined camera example
- Done Pavement pattern example
- Done Unit square scalings for pavement and tiling patterns added to pavement.pov and tiling.pov
- Potential pattern using blobs. Second with iso or as option in first scene.
- Recent scenes with rendered PNGs - even some 3.7 ones - are not part of the scene directory html Friedrich A. Lohmueller created in 20123.
- Replace while loops with for loops where counting. Cleans up our example scenes.