Difference between revisions of "User:Jholsenback"

From POV-Wiki
Jump to navigation Jump to search
m (beta31 and beta29 section complete)
 
(97 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
===Organization===
 
===Organization===
 
<p align="justify">
 
<p align="justify">
Basically, I've been using this area as a scratch pad of sorts. As I complete things, and clean-up I'll probably just add a link [[User:Jholsenback#Links|here]] for reference. </p>
+
Basically, I've been using this area as a scratch pad of sorts. Old pages that I didn't want to loose track of are listed [[User:Jholsenback#Archives|here]] for easy access. </p>
  
 
===Scratch Pad===
 
===Scratch Pad===
====Change Log Extracts====
+
 
These are [http://www.povray.org/beta/changes.txt change-log] extracts that might be useful with helping to update the documentation. For now they are just in reverse chronological order until I can arrange them in a more useful manner.
+
====Syntax Diagram Examples====
=====Beta 35=====
+
<p>This is an example of the proposed format that's going to replace the pre-formatted text blocks which are currently being used, in the reference section narrative. Since there are some differences in the presentation of this construct in <em>html</em> and on <em>this documentation Wiki</em>, here's what you'll need to know.</p>
* Radiosity <code>maximum_reuse</code> parameter now governs the maximum effective radius of a sample more directly.
 
* Added "out-of-the-box" transparency support for GIF files.
 
* Added support for PNG sRGB chunks.
 
<p class="Note"><strong>Note:</strong> Non-legacy scene default gamma handling for image input files has changed significantly from previous betas, affecting all file formats except OpenEXR, Radiance HDR and (with minor differences) most flavors of PNG; there will be NO corresponding warnings. See below for more detail.</p>
 
<p>Input image files not carrying unambiguous gamma information will now be assumed to match a common gamma setting, and gamma-adjusted accordingly; this common input file gamma setting can be specified in the scene file using the following syntax:</p>
 
<pre>
 
global_settings {
 
  file_gamma GAMMA
 
  }
 
</pre>
 
<p>where GAMMA is either a numeric expression specifying the approximate display gamma for which input files are assumed to be gamma pre-corrected, or the keyword <code>srgb</code> indicating that input files are assumed to match the sRGB standard. (In the latter case, gamma adjustment is applied according to the sRGB standard, instead of approximating with a gamma 2.2 power-law function.) The default setting is sRGB.</p>
 
<p>Regardless of this global setting, gamma correction is not applied if the image input file is obviously used as a mere data container, such as when immediately used in a height field.</p>
 
<p>Default gamma handling rules for any image input file can be overridden by specifying <code>file_gamma</code> GAMMA immediately after the file name, e.g.:</p>
 
<pre>
 
image_map {
 
  jpeg "foobar.jpg" file_gamma 1.8
 
  interpolate 2
 
  }
 
</pre>
 
<p>This also applies to contexts where gamma adjustment is not normally applied, e.g. file formats that are defined to be encoded linearly, or files used in height fields, to simplify handling of files not conforming to standards.</p>
 
<p class="Note"><strong>Note:</strong> Gamma handling for PNG input files has changed as follows in legacy <code>#version 3.6</code> scenes:</p>
 
 
<ol>
 
<ol>
<li>In the absence of an <code>assumed_gamma</code> statement, non-indexed PNG files with a gAMA chunk (i.e. virtually all PNG files) will appear far brighter than with POV-Ray 3.6</li>
+
  <li>The syntax diagram is now inside a <strong>div</strong> tag instead of <strong>pre</strong> tag.</li>
<li>In the presence of an <code>assumed_gamma 1.0</code> statement, indexed PNG files (uncommon) will appear darker than with POV-Ray 3.6</li>
+
  <li>The <strong>dt</strong> and <strong>dd</strong> elements of the list require that their ending tags be enclosed in the comments notation.</li>
<li>In the presence of an <code>assumed_gamma 2.2</code> statement, PNG files with a gAMA lower than 2.2 (uncommon) will appear darker than with POV-Ray 3.6</li>
+
  <li>The first <strong>dt</strong> element that precedes the wiki link is required to properly align the link in the box.</li>
<li>PNG files with an sRGB chunk but no gAMA chunk may appear significantly different than with POV-Ray 3.6</li>
+
  <li>Use underscores instead if spaces in the page address of the wiki link. The wiki parses to the first space to get the page address.</li>
<li>PNG files may generally appear slightly different than with POV-Ray 3.6</li>
+
  <li>Please pick up the leading tabs when using copy and paste to maintain source readability when it's converted to html.</li>
 +
  <li>No edits or comments on this copy, go [[User_Talk:Jholsenback|here]] instead.</li>
 
</ol>
 
</ol>
<p>A warning will be printed in these cases, except for the latter.</p>
+
<p></p>
=====Beta 34=====
+
<div class="Syntax">
* Added support for diffuse backside illumination:
+
<dl>
<p>To model thin, diffusely-translucent objects (e.g. paper, curtains, leaves etc.), an optional 2nd float parameter has been added to the <code>diffuse</code> finish statement to control the effect of illumination from the back of the surface. The default value is 0.0, i.e. no diffuse backside illumination. For realistic results, the sum of both parameters should be between 0.0 and 1.0, and the 2nd parameter should be the smaller of the two.</p>
+
<dt><!--</dt>--->
<p class="Note"><strong>Note:</strong> This feature is currently experimental and may be subject to change. In particular, the syntax as well as interoperation with <code>double_illuminate</code>, multi-layered textures or <code>conserve_energy</code> are still under investigation.</p>
+
<dd class="Jump">[http://wiki.povray.org/content/Documentation:Reference_Section_3#Camera Go to documentation Wiki]<!--</dd>--->
<p>A new sample scene, &quot;advanced/diffuse_back.pov&quot;, has been provided to illustrate this new feature.</p>
+
<dt>CAMERA:<!--</dt>--->
* New option added speed up radiosity pretrace:
+
<dd><code>camera {</code> [CAMERA_ITEMS...] <code>}</code><!--</dd>--->
<p>As some computations don't contribute to the generation of radiosity samples, they can safely be skipped during radiosity pretrace to gain some speed if the pretrace's other role as a coarse preview is not required.</p>
+
<dt>CAMERA_ITEMS:<!--</dt>--->
<p>The following .ini file/command line options control whether pretrace performs all computations so it can double-feature as a coarse preview  (&quot;vain pretrace&quot;):</p>
+
<dd>CAMERA_TYPE | CAMERA_VECTOR | CAMERA_MODIFIER | CAMERA_IDENTIFIER<!--</dd>--->
<pre>
+
</dl>
Radiosity_Vain_Pretrace=bool  turns vain pretrace on/off
+
</div>
+RVP                          turns vain pretrace on (default)
+
====Reference Section Reorganization====
-RVP                          turns vain pretrace off
+
<p>Starting a new sub-section for notes ... </p>
</pre>
+
 
<p class="Note"><strong>Note:</strong> with vain pretrace off, preview will look remarkably odd during the radiosity pretrace phase; this is normal, and no reason to be alarmed.</p>
+
====Image Layout Templates====
<p>At the moment, turning vain pretrace off will affect only classic lighting computations (diffuse lighting, higlights and iridescence); other features expendable during pretrace may follow in future versions.</p>
+
 
* Windows console version now sends stream output to stderr by default.
+
<ul>
=====Beta 33=====
+
  <li>single image narrative on the right with captions</li>
* Added <code>no_radiosity</code> keyword, as known from MegaPOV:
+
</ul>
<p>Specifying <code>no_radiosity</code> in an object block makes that object invisible to radiosity rays, in the same way as <code>no_image</code>, <code>no_reflection</code> and <code>no_shadow</code> make an object invisible to primary, reflected and shadow test rays, respectively.</p>
+
 
* Revival of Radiosity Load/Save + various other radiosity code changes:
+
<table class="centered" width="700px" cellpadding="0" cellspacing="10">
<p>The following .ini / command line parameters are recognized:</p>
+
<tr>
<pre>
+
<td>
Radiosity_File_Name=<name>    or  +RF<name>  to set the cache file name
+
[[Image:TutImgMediatut6.png|center|320px<!--left--->]]
Radiosity_From_File=<on/off> or  +RFI      to enable reading the radiosity file at startup
+
</td>
Radiosity_To_File=<on/off>   or  +RFO      to enable writing new samples to the radiosity file
+
<td>
</pre>
+
<p>As suggested previously, the scattering color and extinction values were adjusted until the image looked good. In this kind of scene usually very small values are needed.</p>
<p class="Note"><strong>Note:</strong> The parameter names are preliminary, and may still be subject to change; there is a potential conflict between the shorthand forms)</p>
+
 
<p>If both <code>+RFI</code> and <code>+RFO</code> are specified, new samples gathered are appended; otherwise, <code>+RFO</code> causes the file to be overwritten if it exists.</p>
+
<p>Note how the container box is quite smaller than the room itself. Container boxes should always be sized as minimally as possible. If the box were as big as the room much higher values for <code>samples</code> would be needed for a good result, thus resulting in a much slower rendering.</p>
<p>New samples gathered are written whenever an SMP block is completed. Tests indicate that this is almost neutral regarding performance, compared to operation with radiosity file output disabled.</p>
+
</td>
* New radiosity &quot;high reproducibility&quot; mode:
+
</tr>
<p>When specifying <code>High_Reproducibility</code> or <code>+HR</code> on the command line, POV-Ray will spend extra effort to make sure renders are deterministic despite SMP (currently, radiosity is the only code to use this flag; in HR mode, radiosity pretrace starts out with fewer threads, and some extra rules are imposed on sample re-use that may cause surplus samples to be gathered).</p>
+
<tr>
=====Beta 32=====
+
<td>
* Added ARRAYS_WriteDF3 macro to arrays.inc for writing an array to a df3 file.
+
  <p class="caption">more advanced scattering media example</p>
* Added binary #write capability
+
</td>
<p>It is now possible to write 8, 16 and 32-bit words to an external file. These words may be arranged in either little or big-endian fashion.</p>
+
<td>
<p>Placing one of the following keywords in the argument list of a <code>#write</code> statement causes the values up to the next comma to be written in binary format, using 2's complement integer representation, rounded to the nearest integer in the representable range:</p>
+
</td>
<pre>
+
</tr>
  uint8              - unsigned byte (0..255)
+
</table>
  sint8              - signed byte (-128..127)
+
 
  uint16be, uint16le - unsigned 16-bit word (0..65535)
+
<ul>
  sint16be, sint16le - signed 16-bit word (-32768..32767)
+
  <li>same as above only mirrored</li>
  sint32be, sint32le - signed 32-bit word (-2^31..2^31-1)
+
</ul>
</pre>
+
 
<p>As of now, unsigned 32-bit words are not supported.</p>
+
<table class="centered" width="700px" cellpadding="0" cellspacing="10">
<p>Keywords ending in &quot;be&quot; will cause the values to be written most significant byte first (&quot;big endian&quot;, aka network byte order) while those ending in &quot;le&quot; will instead write the least significant byte first (&quot;little endian&quot;, Intel format).</p>
+
<tr>
<p class="Note"><strong>Note:</strong> See the sample macro <code>ARRAYS_WriteDF3</code> in arrays.inc  to see how this feature may be used.</p>
+
<td>
=====Beta 31=====
+
<p>As suggested previously, the scattering color and extinction values were adjusted until the image looked good. In this kind of scene usually very small values are needed. </p>
* Adds experimental support for subsurface light transport (aka subsurface scattering).
+
 
<p>Currently, SSLT is activated for a particular object by adding the following statement to its finish.</p>
+
<p>Note how the container box is quite smaller than the room itself. Container boxes should always be sized as minimally as possible. If the box were as big as the room much higher values for <code>samples</code> would be needed for a good result, thus resulting in a much slower rendering. </p>
<p class="BeAware"><strong>Be Aware:</strong> this is very likely to change!</p>
+
</td>
<pre>
+
<td >
   subsurface { COLOR, COLOR }
+
[[Image:TutImgMediatut6.png|center|320px<!--right--->]]
</pre>
+
</td>
<p>Specifying the (reduced) scattering coefficients (sigma'[s]) and absorption coefficients (sigma[a]), respectively, in units of 1/mm, for each of the three basic colors. The object's IOR will also affect the results.</p>
+
</tr>
<p>The algorithm is designed to give realistic results at a scale of 10 mm per POV-Ray unit by default; for other scales, place the following statement in the <code>global_settings</code> section:</p>
+
<tr>
<pre>
+
<td>
   mm_per_unit NUMBER
+
</td>
</pre>
+
<td>
<p>To tune the algorithm for quality or performance, the number of samples for the diffuse scattering and single-scattering approximation, respectively, can be specified by placing the following statement in the <code>global_settings</code> section:</p>
+
  <p class="caption">more advanced scattering media example</p>
<pre>
+
</td>
   subsurface { samples NUMBER, NUMBER }
+
</tr>
</pre>
+
</table>
<p>See the sample SSLT scene in scenes/subsurface/subsurface.pov for more information</p>
+
 
<p class="Warning"><strong>Warning:</strong> SSLT is still in alpha stage.</p>
+
<ul>
=====Beta 29=====
+
  <li>panel of 3 with a border and captions</li>
* Added ability to declare an identifier as deprecated.
+
</ul>
<p class="Note"><strong>Note:</strong> This addition is already in progress. See the [[User:Jholsenback#Keyword Addition Example|example]] below.</p>
+
 
=====Beta 27=====
+
<table class="matte" width="700px" cellpadding="0" cellspacing="10">
 +
<tr>
 +
  <td>
 +
    [[Image:TutImgRadA01.png|center|220px<!--leftpanel--->]]
 +
  </td>
 +
   <td>
 +
    [[Image:TutImgRadA03.png|center|220px<!--centerpanel--->]]
 +
  </td>
 +
  <td>
 +
    [[Image:TutImgRadA0103.png|center|220px<!--rightpanel--->]]
 +
  </td>
 +
</tr>
 +
<tr>
 +
   <td>
 +
    <p class="caption">no radiosity</p>
 +
   </td>
 +
  <td>
 +
    <p class="caption">radiosity</p>
 +
  </td>
 +
  <td>
 +
    <p class="caption">difference w/o radiosity</p>
 +
  </td>
 +
</tr>
 +
</table>
  
 
====Keyword Addition Example====
 
====Keyword Addition Example====
 
This outlines the steps to add a new keyword to the documentation. In this case <code>deprecated</code>
 
This outlines the steps to add a new keyword to the documentation. In this case <code>deprecated</code>
  
:* first determine where the [[Documentation:Reference Section 2.4#Deprecation Support|descriptive passage]] goes then add it
+
:* first determine where the [[Reference:Declare_and_Local_Directives#Deprecation_Support|descriptive passage]] goes then add it
:* update the [[Documentation:Reference Section 2.4#The #declare and #local Directives|syntax diagram]] in the appropriate places
+
:* update the [[Reference:Declare_and_Local_Directives#Declaring_identifiers|syntax diagram]] in the appropriate places
:* update the [[Documentation:Reference Section 8#Identifier Declaration|syntax diagram]] in the Quick Reference
+
:* update the [[Reference:Keywords|Identifiers and Keywords]] list
:* update the [[Documentation:Reference Section 2#Identifiers and Keywords|Identifiers and Keywords]] list (not done yet)
+
:* document any other [[Reference:Glass_old.inc|place(s)]] that it's used
::<p class="Note"><strong>Note:</strong> save this until all keyword additions have been identified because it's an alphabetic list in html table form.</p>
 
:* document any other [[Documentation:Reference Section 7.2#glass_old.inc|place(s)]] that it's used
 
 
:* add a table of contents [[Documentation:Reference Table of Contents#Scene Description Language|entry]]
 
:* add a table of contents [[Documentation:Reference Table of Contents#Scene Description Language|entry]]
  
===Links===
+
====NEW Template Test Area====
:*The source and notes on the [[Documentation:LaTex_Files|LaTeX]] markup used in the documentation.
+
<p>The {{New}} and {{Change}} templates can now be used inside a paragraph. See additional examples:</p>
 +
:*<p>This is a {{New}} feature as of version 3.7.1</p>
 +
:*<p>... and this is a {{Change}} in behavior as of version 3.7.0</p>
 +
<p>See also:</p>
 +
:*Usage in [[Reference:Numeric Expressions#Built-in Constants|tau]]
 +
:*also for the [[Reference:Torus|torus]] object
 +
 
 +
===Archives===
 +
:* Developers [[ Documentation:Developers_Notes|notes]] from when the Wiki-DocGen project started
 +
:* The source and notes on the [[Documentation:LaTex_Files|LaTeX]] markup used in the documentation
 +
:* The change-log has been reviewed and the results are [[Documentation:ToDo ChangeListReview|here]]
 +
:* <p>Some text here just <span class="formula">f(x) = x&#770;&#915;</span> for comparison.</p>
 +
:* Some <em>wiki-docgen</em> process [[User:Jholsenback/WikiDocGen|notes]]

Latest revision as of 07:19, 18 September 2019

Organization

Basically, I've been using this area as a scratch pad of sorts. Old pages that I didn't want to loose track of are listed here for easy access.

Scratch Pad

Syntax Diagram Examples

This is an example of the proposed format that's going to replace the pre-formatted text blocks which are currently being used, in the reference section narrative. Since there are some differences in the presentation of this construct in html and on this documentation Wiki, here's what you'll need to know.

  1. The syntax diagram is now inside a div tag instead of pre tag.
  2. The dt and dd elements of the list require that their ending tags be enclosed in the comments notation.
  3. The first dt element that precedes the wiki link is required to properly align the link in the box.
  4. Use underscores instead if spaces in the page address of the wiki link. The wiki parses to the first space to get the page address.
  5. Please pick up the leading tabs when using copy and paste to maintain source readability when it's converted to html.
  6. No edits or comments on this copy, go here instead.

Go to documentation Wiki
CAMERA:
camera { [CAMERA_ITEMS...] }
CAMERA_ITEMS:
CAMERA_TYPE | CAMERA_VECTOR | CAMERA_MODIFIER | CAMERA_IDENTIFIER

Reference Section Reorganization

Starting a new sub-section for notes ...

Image Layout Templates

  • single image narrative on the right with captions
TutImgMediatut6.png

As suggested previously, the scattering color and extinction values were adjusted until the image looked good. In this kind of scene usually very small values are needed.

Note how the container box is quite smaller than the room itself. Container boxes should always be sized as minimally as possible. If the box were as big as the room much higher values for samples would be needed for a good result, thus resulting in a much slower rendering.

more advanced scattering media example

  • same as above only mirrored

As suggested previously, the scattering color and extinction values were adjusted until the image looked good. In this kind of scene usually very small values are needed.

Note how the container box is quite smaller than the room itself. Container boxes should always be sized as minimally as possible. If the box were as big as the room much higher values for samples would be needed for a good result, thus resulting in a much slower rendering.

TutImgMediatut6.png

more advanced scattering media example

  • panel of 3 with a border and captions
TutImgRadA01.png
TutImgRadA03.png
TutImgRadA0103.png

no radiosity

radiosity

difference w/o radiosity

Keyword Addition Example

This outlines the steps to add a new keyword to the documentation. In this case deprecated

NEW Template Test Area

The New and Change templates can now be used inside a paragraph. See additional examples:

  • This is a New feature as of version 3.7.1

  • ... and this is a Change in behavior as of version 3.7.0

See also:

Archives

  • Developers notes from when the Wiki-DocGen project started
  • The source and notes on the LaTeX markup used in the documentation
  • The change-log has been reviewed and the results are here
  • Some text here just f(x) = x̂Γ for comparison.

  • Some wiki-docgen process notes