POV-Ray / povray

The Persistence of Vision Raytracer (POV-Ray)
https://www.povray.org/
GNU Affero General Public License v3.0
1.38k stars 282 forks source link

Port of FS181 & FS309 - Unimplemented, altered or missing features to document or fix. #167

Open wfpokorny opened 7 years ago

wfpokorny commented 7 years ago

http://bugs.povray.org/task/181

http://bugs.povray.org/task/309


Details:

(181) This is a list of unimplemented features and things to fix with respect to 3.7 vs 3.6 compatibility. They either need to be fixed in code, or failing that, to be documented prior to release.

Create_INI works differently from 3.6. Prior versions of POV-Ray would write all options to the file, even if they were not supplied by the user (non-supplied options would take the default value). Currently in 3.7, only supplied options are written, because the front-end does not send unused options to the back-end. The proper fix for this would be to have a set of defines that establish the defaults all in one place (currently we rely on hard-coded values scattered around the code), and for the Output_INI_Option() function to look up and use the default when not supplied. As this is not likely to be done before 3.7 release, we need to document it as a temporary situation.

The following messages are marked as 'currently not supported by code' in povmsgid.h. We need to check where this comment is correct and if so the docs need to be updated to indicate this (for items that are already documented). Some items may be re-implemented later, and some may never be:

kPOVAttrib_TestAbort
kPOVAttrib_TestAbortCount
kPOVAttrib_VideoMode
kPOVAttrib_Palette
kPOVAttrib_DisplayGammaType
kPOVAttrib_FieldRender
kPOVAttrib_OddField
kPOVAttrib_AntialiasGammaType
kPOVAttrib_LightBuffer
kPOVAttrib_VistaBuffer
kPOVAttrib_DrawVistas

This bug should be edited to add/remove items as time goes by

(309)

Draw_Vistas, Light_Buffer, and Vista_Buffer (plus associated switches) do not issue warning when used, even tho code has been disabled.


Comments:

Comment by Christoph Lipka (clipka) - Wednesday, 15 December 2010, 16:49 GMT+5

Confirmed status for:

kPOVAttrib_VideoMode
kPOVAttrib_Palette
kPOVAttrib_FieldRender
kPOVAttrib_OddField
kPOVAttrib_AntialiasGammaType

These are effectively non-functional at the moment, and are evaluated only for options output, except for "FieldRender" and "OddField" which are copied into member variables of AnimationProcessing but never used there either.

Fixed comment for:

kPOVAttrib_DisplayGammaType

This one is fully supported by now.

wfpokorny commented 7 years ago

Details from my recent review...

Renamed ./source/povms/povmsid.h file presently Inidicates the following not supported:

    kPOVAttrib_TestAbort             = 'TstA', // currently not supported by code
    kPOVAttrib_TestAbortCount        = 'TsAC', // currently not supported by code
    kPOVAttrib_VideoMode             = 'VMod', // currently not supported by code
    kPOVAttrib_Palette               = 'Palt', // currently not supported by code
    kPOVAttrib_FieldRender           = 'FldR', // currently not supported by code
    kPOVAttrib_OddField              = 'OddF', // currently not supported by code
    kPOVAttrib_HistogramFileType     = 'HFTy', // currently not supported by code
    kPOVAttrib_HistogramFile         = 'HFNa', // currently not supported by code
    kPOVAttrib_HistogramGridSizeX    = 'HGSX', // currently not supported by code
    kPOVAttrib_HistogramGridSizeY    = 'HGSY', // currently not supported by code
    kPOVAttrib_AntialiasGammaType    = 'AAGT', // currently not supported by code
    kPOVAttrib_LightBuffer           = 'LBuf', // currently not supported by code
    kPOVAttrib_VistaBuffer           = 'VBuf', // currently not supported by code
    kPOVAttrib_CreateHistogram       = 'CHis', // currently not supported by code
    kPOVAttrib_DrawVistas            = 'DrVi', // currently not supported by code

Documentation indicates:

   Field_Render=bool,         +UF, -UF      Available   http://wiki.povray.org/content/Reference:Animation_Options
   Odd_Render=bool,           +UO, -UO      Available   http://wiki.povray.org/content/Reference:Animation_Options
   Test_Abort=bool,           +X, -X        Available   http://wiki.povray.org/content/Reference:General_Output_Options
   Test_Abort_Count=bool,     +Xn, -Xn      Available   http://wiki.povray.org/content/Reference:General_Output_Options
   Draw_Vistas=bool,          +UD, -UD      Deprecated  http://wiki.povray.org/content/Reference:Display_Output_Options

   Histogram_Type=y,          +HTy          Removed     http://wiki.povray.org/content/Reference:File_Output_Options
                              +HTC
                              +HTN
                              +HTP
                              +HTS
                              +HTT
                              +HTX
   Histogram_Name=file,       +HNfile       Removed    http://wiki.povray.org/content/Reference:File_Output_Options
   Histogram_Grid_Size=nn.mm, +HSnn.mm      Removed    http://wiki.povray.org/content/Reference:File_Output_Options
   Light_Buffer=bool,         +UL,-UL       Deprecated http://wiki.povray.org/content/Reference:Tracing_Options
   Vista_Buffer=bool,         +UV,-UV       Deprecated http://wiki.povray.org/content/Reference:Tracing_Options
   Video_Mode=x,              +Dx,-Dx       Undocumented    (An old display option)
   Pallette=y,                +Dxy,-Dxy     Undocumented   (An old display option)

   Antialias_Gamma_Type                     ???   kPOVAttrib_AntialiasGammaType used internally. Was it ever a cmd option?

(The output-file buffer options Buffer_Output and Buffer_Size are removed per POV-Ray 3.6)

Ini file support (ProcessOptions::INI_Parser_Table RenderOptions_INI_Table[])

   Histogram*, Buffer_Output and Buffer_Size set in INI_Table to generate warning but not stop render.
   All other "not supported by code" options parse but do nothing.

Cmd line support (ProcessOptions::Cmd_Parser_Table RenderOptions_Cmd_Table[] as tested on linux)

   +HT*, +HN*, +HS* not present and generates an error.
   +UF, -UF         in table program runs with no warnings.
   +UO, -UO         in table program runs with no warnings.
   +X, -X, +Xn, -Xn in table program runs with no warnings. (Windows?)
   +UD, -UD         in table program runs with no warnings. (Old FS 309)
   +UL,-UL          in table program runs with no warnings. (Old FS 309)
   +UV,-UV          in table program runs with no warnings. (Old FS 309)
   +Dx,-Dx          not present but runs with no warnings.
   +Dxy,-Dxy        not present but runs with no warnings.

Other notes:

So... Suppose some documentation updates at least in order, but probably too code updates to warn on deprecated options which is problematic because ini file warning mechanism exists, but a command line method for obsolete options does not. There are also issues with bogus command line options doing nothing as noted in other flyspray issues yet to be ported. Lastly some of these options have associated code laying about which if the option is gone for good should probably be clean up.

wfpokorny commented 7 years ago

Jim cleaned up many of the documentation issues mentioned for the 3.7.1 release.

See the following newsgroup thread:

http://news.povray.org/povray.documentation.inbuilt/thread/%3C5846a45e%241%40news.povray.org%3E/

Another top to bottom review should probably be done for 3.7.2 or whatever release comes next so keeping this thread open for that review.

c-lipka commented 3 years ago

While a lot of this may have been done already, this is certainly something we want to look over again before we release v3.8.0.