Documentation:ToDo ChangeListReview

From POV-Wiki
Revision as of 14:03, 20 August 2010 by Jholsenback (talk | contribs) (updates)
Jump to navigation Jump to search

Change Log Extracts

These are change-log extracts that might be useful with helping to update the documentation. There are some items still to be done, they're categorized, while items that have been completed are at the bottom of this page.

Photons

  1. Added multiple-thread support to photon shooting code. To take advantage of this at the moment, your scene will need multiple light sources.

Linux/Unix

  1. Linux: rework --benchmark. The built-in benchmark now accepts +L<path> command-line options and does no longer read any INI file but the provided one.
  2. Added preliminary Linux support for these two features
    • CPU timer; might return incorrect results depending on the platform.
    • signal catching (e.g. when aborting a render by hitting Ctrl+C).
  3. Added support for 'pause when done' in linux build.
  4. Added support for --benchmark on unix works together with +wt and print built-in features with --version
  5. Unix default file gamma changed from from 1.0 to 2.2.

Windows

  1. Added 'alternate render file' feature to povwin IDE. See comments below.
  2. Added extensions .MCR and .MAC to the list of files povwin considers include files (i.e. which are filtered
    as such in the various file dialogs and assigned the POV file type for the editor syntax highlighting).
  3. Added .INI file type to povwin editor syntax highlighting.
  4. Added window menu to povwin IDE. Entries are MRU-sorted.
  5. Added these POVWIN features
    • file modified indicator to filename shown in POVWIN main window caption.
    • notification for when auto-reload results in files being auto-saved.
  6. Added ability to close edit tab in windows version by middle-clicking on it. (NB this means on the tab itself, not the contents of the tab). Also, Ctrl-W now defaults to closing the current editor file.
  7. Added /EDITDLLPATH command-line parameter, which overrides the default edit DLL locations for the windows version.
  8. Added SEH and minidump generation to windows code. After an unhandled exception POVWIN will now offer the option of creating a minidump (brief or full) for submission to the team to assist in tracking down crashes.
  9. Added ability to specify thread count from Windows version render menu (unsaved setting)

Windows Editor Changes

There been two notable changes to the POVWIN IDE.

  1. Firstly, it now has a Window menu, which is located where the GUIEXT menu used to be (the latter has moved to within the Options menu). While technically a Window menu is not necessary, as all open files are visible in tabs, the addition of this menu provides two advantages:
    • We can provide the option of showing all tabs on a single line, with a scroller to view non-visible ones. This has not yet been added but will be at a later point.
    • The MRU arrangement of the window menu makes it trivial to toggle between files without taking your eyes off the text or using the mouse. The most recently view window (i.e. the current one) will always be entry 1 in the list. The second most recently viewed (i.e. the last window viewed before switching to the current one) will always be entry 2 in the list, and so forth. Given that entries 1 through 10 in the list are given the menu mnemonics 1 through 0 respectively, it is therefore clear that to toggle between the current and previous files all you need to do is hit Alt-W then 2. To go to the third oldest, Alt-W then 3, and so forth. Currently, the MRU list is not saved on exit. This will be added. We may also add keyboard accelerators (e.g. ALT-2, ALT-3 etc) as a shortcut for Alt-W 2, etc.
  2. Secondly, there is now an 'alternate render file' feature. This is intended to make things easier when editing macro or include files. While it is possible to use SDL to detect whether a macro/include file is being rendered directly and to pull in supporting code, that approach is not very flexible. The alternate render file feature allows a render to be started on an include file, and instead of the include file being rendered directly (as would have happened previously), the source file that most recently included that file in a render will be rendered instead.

Note: by 'source file', we mean either a .POV or .INI file.

For this feature to work, you need to have rendered a file which includes the target file during the current editing session (the association between include files and source files is not persisted when POVWIN exits). Additionally you need to have requested to render a source file which does not have the .POV or .INI extension. When you request the render, a message box will appear asking you what to do. You can choose to render the alternate file this time only, to render the alternate file each time you render this one, or to render this one each time (i.e. disable the alternate file option). In all cases, the choice you give only persists for the current editing session; it is not restored when you re-launch POVWIN. this is by design.

Render Window

Due to issues with CPU usage, the new render window is now by default off. To work well this feature requires that hardware-assisted alpha blending is available on the target system, and as of the time of writing this is not common enough to justify turning it on by default.

Note: it will remain turned on if you already had it on (e.g. from a previous beta).

The new render window mode is only available on Windows 2000 or later. The presence of this code may case the beta to be unable to load on Windows 9x systems; if this occurs it will be fixed in the next beta.

Note: that we have not tested this new code on a Windows 2000 system, so we can't comment on how well it will work on those systems.

To activate the new render window, open the 'Render Window' sub-menu in the 'Options' menu, and select the 'Use New-style Render Window' entry.

The new render window is designed to help users get around the issue of the render window getting in the way when doing edit/render/fix cycles. It supports a 'transparency' mode that is in effect two things: both optical transparency (or more specifically translucency), and input transparency (more specifically, the Windows WS_EX_TRANSPARENT style).

'Input transparency' means that the window is transparent to input - so if you move your mouse over it or attempt to click on it, the mouse messages are in fact sent to whatever is underneath the window. In effect therefore it is as if the window were not there - even if you can still see it.

The effect of this is that, coupled with translucency, you can both see what is under the window (e.g. the POV-Ray editor), and also work with it (typing or selecting with the mouse, etc).

'Input Transparency' is enabled whenever you set the translucency of the render window to 25% or more (see below). At settings less than this, the render window will behave more or less as normal (though without some of the features of the classic render window, such as the ability to be de-coupled from the main window such that it does not get hidden when the main window is minimized).

To set the translucency of the render window, either rotate your mouse wheel when the render window has focus (this is the preferred method), or alternatively right-click on the window's title bar and choose a setting from the context menu that is provided.

When the render window has input focus, translucency is removed and it becomes opaque. It will switch back once another window gets focus, or if you adjust the translucency using one of the above methods.

If you want to work with input transparency, it is important that you understand that this means you can't work with the render window in the manner you are accustomed to, since of course the window will pass input to the application below it. To allow for interaction with the window in this circumstance, we have added a feature whereby hovering the mouse over the render window's caption for a short time, or clicking on the title bar, will activate the window, make it opaque, and allow input to be processed normally.

Of course the ability to click on the caption means that it's not completely input transparent, and we might disable this feature later if the hover feature works out well.

You will know if your mouse is over the appropriate area of the window since the cursor will turn to a hourglass shape during the 'hover' time.

Provided that the window is left in input transparency mode, if you move your mouse out of the window for a short time, it will automatically snap back into its former translucent mode.

You can tell if the window is in input transparency mode by looking for a '[T]' at the start of the render window caption. If present, then it's going to pass input to the application underneath it. While adjusting the translucency with the mouse wheel, the caption will display the new translucency setting and, if appropriate, a comment that the window has switched to passing input. (Recall however that this doesn't kick in until you switch focus to another window).

In Progress

Note: A review of the syntax diagrams in the main and quick reference sections should also be done to double check!

Any takers? --jholsenback 14:03, 20 August 2010 (UTC)

What's New

These are items that can be added to the yet to be written, What's New in POV-Ray 3.7 section basically as is, or one-liners.

  1. Added "out-of-the-box" transparency support for GIF files.
  2. Added support for PNG sRGB chunks.
  3. Windows console version now sends stream output to stderr by default.
  4. Added Control-A support in windows version commandline input box (select all).
  5. Changed windows version render window keypress code to hand focus to main window for any key, not just escape.
  6. Expanded number of available insert menu ID's to about 9000. Added support for loading of JPG and PNG files as insert menu hints. The search order is PNG, then JPG and if they don't exist then BMP.
  7. Windows editor tab/indent settings are no longer per-file+global default; changing one affects all files.
  8. Added display of filename when hovering over an editor tab.
  9. Added right-click menu to editor tabs allowing opening of folder in explorer and copy of filename to clipboard.
  10. New thread-safe random number generator added.

This task is underway, excluding platform specific issues: --jholsenback 14:03, 20 August 2010 (UTC)

  • This will also include a summarized version of the Completed Items listed below:-)

Completed Items

Radiosity

  • Speed up radiosity pretrace option
  • Revival of Radiosity Load/Save
  • New radiosity "high reproducibility" mode
  • Radiosity maximum_reuse parameter
  • Added no_radiosity keyword
  • Implemented adaptive radiosity pretrace.
  • Parser now checks for plausible relation between radiosity minimum_reuse and maximum_reuse:

New Features

  • Diffuse backside illumination
  • Added a new list pattern type: cubic
  • Added a new warp type: cubic
  • AOI Pattern
  • Slope Pattern extension
  • Subsurface scattering
  • Added support for full area light diffuse and specular illumination
  • Added emission parameter to the finish block
  • Added RTR (real-time raytracing), clockless animation, and video capture support
  • Added atand function to "math.inc".
  • You now have the ability to specify the render block size

Gamma

  • Non-legacy scene default gamma handling for image input files
  • assumed_gamma and File_Gamma
  • gamma keyword to specify gamma pre-corrected colours

SDL

  • Added ability to declare an identifier as deprecated
  • Added comparison (=, !=, <, <=, >, >=) support for strings
  • #break directive behavior
  • ARRAYS_WriteDF3 macro
  • Added binary #write capability
  • Changed bounding method command-line option from +b2 to +bm2
  • BSP (Binary Space Partitioning) tree bounding is now available
  • Changed WorkThreads INI option to Work_Threads for consistency
  • The version directive, command-line setting no longer provide compatibility
  • Added #elseif directive
  • The following keywords have been added to the identifiers and keywords list
  1. aoi
  2. area_illumination
  3. atand
  4. cubic pattern
  5. cubic warp
  6. deprecated
  7. elseif
  8. emission finish
  9. file_gamma
  10. for
  11. gamma
  12. maximum_reuse
  13. mm_per_unit
  14. no_radiosity
  15. premultiplied
  16. sint8, sint16be, sint16le
  17. sint32be, sint32le
  18. srgb
  19. subsurface
  20. uint8
  21. uint16be, uint16le

Images and Image Related

  • Added HDR file support (RGBE, as used in Radiance)and EXR file support
  • PPM and 16-bit greyscale output
  • bicubic image interpolation
  • chroma sub-sampling in JPEG output
  • Default output file type is now PNG
  • background alpha handling
  • sky_sphere with layered pigment and filter
  • Changed alpha handling for image file input and output
  • Changed input file gamma syntax for individual files
  • Added premultiplied BOOL parameter to input image file syntax
  • Added experimental support for reading the pixel resolution of an image map.
  • Added Antialias_Gamma=n.n
  • Changes to input image transparency handling for material_map, bump_map and image_pattern
  • Added support for using the sRGB transfer function for output file gamma.
  • Mosaic preview performance note