POV-Ray : Newsgroups : povray.unofficial.patches : ini_option : Re: ini_option Server Time
2 Sep 2024 10:13:06 EDT (-0400)
  Re: ini_option  
From: Nathan Kopp
Date: 7 Feb 2000 13:48:52
Message: <389f1394@news.povray.org>
Thorsten Froehlich <tho### [at] trfde> wrote...
>
> And, as consistency is an issue, it is a valid (also not the strongest)
> argument to ask:  Are there other (frequently used) programs which allow
you
> in command line systems that offer a similar interface?  The only one I
can
> come up with are compiler with makefiles (= ini files), the command line
and
> "# pragma " directives (= "ini_option").  However, is a compiler a
end-user
> program?

(To start, I must say that I agree with Thorsten that ini_option is not THE
solution to the current problems.  But I also want to say that
problems/limitations do exist, and ini_option has shown itself to be a
reasonable temporary solution.)

One could also ask, "How do other rendering programs handle these settings?"
Are they stored in the main file for the project?  Are they stored in a
separate file?  Honestly, I don't know the answer to this.  I assume that
these settings are stored in a primary project file.  One could view an INI
file as the main project file.  However, many users view the POV file as the
main project file.  Then, they want to specify their settings in their main
project file, which in their eyes is the POV file.

Unfortunately, I feel that the INI file is very inadequate to be a primary
project file.  The syntax is just too limited.  (I won't go into detail
about this in this post, however.)

You gave an example supporting your point using "+QR".  This setting is
actually THE reason that I created ini_option.  In many of my test renders
while I was working on enhancing POV's radiosity features, I was always
opening up the render options dialog box to turn radiosity on and off.

Sometimes, I'd forget to turn it on and waste time rendering a test image
without radiosity.  Other times, I'd forget to turn it off and a different
image that was not designed for radiosity would take forever to render (and
look quite poor).  It was a hastle to keep having to open that dialog box
and change the setting, and (IMHO) it would have been even more of a hastle
to have a separate INI file for each POV file (and have all of those
separate files open at the same time in the GUI).

I wanted it to work like this: if I specified "radiosity{...}" in the POV
file, radiosity would be enabled, and if I did not specify "radiosity{...}",
then radiosity would be disabled.

Anyway, Francios Dispot brought up a good point that INI option allows the
user to modify settings such as the aspect ratio of the image using POV
code.  For example, the POV file could determine the size of an object
(using min_extent and max_extent or trace()) and then use that data to set
the aspect ratio.

However, I do totally agree with you that ini_option has problems with
consistency in the current way POV handles such options.  However, I feel
that there are some shortcomings in the current official design which are at
least temporarily addressed by ini_option, even if that is not the best
solution for the long term.  (Example: I was rendering a MegaPov demo scene
the other day, and I wanted to render it very small just to make sure it
didn't crash my new compile... but the file had ini_option setting the
render size so it ended up rendering much larger than I wanted... which
really annoyed me.)

Specific problems that ini_file addresses:

* enabling/disabling radiosity: Treating it as a render 'quality' setting
just doesn't work.  Why?  Because scenes that are intended to use radiosity
look good with it and not-so-good without it, and scenes not intended to use
radiosity look good without it and bad with it.  Adding "+QR" does not add
to the quality unless the scene was designed with it in mind.  Therefore,
radiosity should be enabled within the POV file as opposed to from an INI
file.  I want it to work like area_lights, reflection, and refraction, all
of which are enabled by the POV file but can be disabled by setting a low
quality setting.

* setting the aspect ratio in the POV file based on objects in the scene:
Sometimes this is useful, but often it is not.

* automatically matching the aspect ratio of the camera with that of the
rendered image:  This is addressed using the new image_height and
image_width variables, and therefore is no longer a problem.

* encapsulating the majority of a POV project within a single file:  I know,
ini_option doesn't even come close to succeeding at this.  But it is a step
in that direction.  Of course, whether or not that is a step in the RIGHT
direction is another question.  Comments?

Those are the only things that I've used it for.  For setting the general
size of the image (as opposed to aspect ratio), I've always used the GUI.

Therefore, once those items are addressed in other ways (and most of them
have already been discussed by the POV-Team), then ini_option will no longer
be necessary.  That is the reason I said it may not always remain.  It will
remain in MegaPov until it is no longer needed.

-Nathan


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.