POV-Ray : Newsgroups : povray.beta-test : command line limitations Server Time
23 Dec 2024 05:53:17 EST (-0500)
  command line limitations (Message 1 to 8 of 8)  
From: PC John
Subject: command line limitations
Date: 11 Jun 2011 03:55:00
Message: <web.4df31f274d71eb0e8a2333330@news.povray.org>
Hi,

I used POV-Ray 3.6.2 as a "photorealistic" renderer for Lexolights, our
OpenGL/OpenSceneGraph-based scene viewer (lexolight.sf.net).



Now, I started to test POV-Ray 3.7 RC3. I found some issues that I want to share
before final 3.7 release.



1. HOME variable is not updated in the registry
   HKEY_CURRENT_USER\Software\POV-Ray\CurrentVersion\Windows\Home
   is not updated in the registry after installing 3.7 RC3 and the path
   is still set to the old 3.6.2 installation.

   Updating the HOME will be useful to make applications to find
   the new version.

2. should "Programs" be included in
C:\Users\John\AppData\Local\Programs\POV-Ray\3.7 ?
   All other applications are in [company]\[appName] dir. I know, there is no
company with POV-Ray.

3. Command-line options limitations:

- I can not render an image on background without showing POV-Ray GUI. This is
perfectly possible with Linux POV-Ray, but not on Windows.

- "/RENDER povFile" is nice, but I can not pass image dimensions, iniFile or
other cmd-line settings to POV-Ray as pvengine wants just one argument of model
name.

- "/EXIT povFile iniFile" is good as iniFile can carry the image dimensions and
other options. However, there are two problems:
(a) there is no way to disable GUI (minor issue)
(b) if the user is running its own instance of POV-Ray, nobody can schedule
/EXIT because it fails with the message that only one instance of POV-Ray is
allowed. Thus, there is no way to render images "on background" once there is
running instance of POV-Ray.

- "/EXIT /NORESTORE povFile iniFile" is nice as it saves the time of loading
unnecessary files if doing "background" rendering. However, empty instance is
saved on the exit and next time, the user starts his session, he gets empty
session.

4. I did not succeed to parse rendering progress on stdout/stderr. If there is a
way, please give me a hint.


If I am missing something, please, point me to a good way. Otherwise, I would be
very happy for any improvement on these limitations.

Thanks. POV-Ray is cool!
John


Post a reply to this message

From: clipka
Subject: Re: command line limitations
Date: 12 Jun 2011 11:20:22
Message: <4df4d936$1@news.povray.org>
Am 11.06.2011 09:54, schrieb PC John:

> 1. HOME variable is not updated in the registry
>     HKEY_CURRENT_USER\Software\POV-Ray\CurrentVersion\Windows\Home
>     is not updated in the registry after installing 3.7 RC3 and the path
>     is still set to the old 3.6.2 installation.
>
>     Updating the HOME will be useful to make applications to find
>     the new version.

I guess this will be changed with the release proper.

> 2. should "Programs" be included in
> C:\Users\John\AppData\Local\Programs\POV-Ray\3.7 ?
>     All other applications are in [company]\[appName] dir. I know, there is no
> company with POV-Ray.

It depends on whether you install POV-Ray for all users, or for the 
current user only.

> 3. Command-line options limitations:
>
> - I can not render an image on background without showing POV-Ray GUI. This is
> perfectly possible with Linux POV-Ray, but not on Windows.

Note that this was already the case with POV-Ray 3.6x, and was actually 
done on purpose after some company or companies built their own products 
around POV-Ray without giving any credit, let alone informing their 
customers that the same render quality can be had for free.

Chances are POV-Ray 3.7 will come with a command-line only version for 
Windows again though.


Post a reply to this message

From: Christian Froeschlin
Subject: Re: command line limitations
Date: 14 Jun 2011 19:35:11
Message: <4df7f02f@news.povray.org>
PC John wrote:

> (a) there is no way to disable GUI (minor issue)
> (b) if the user is running its own instance of POV-Ray, nobody can schedule
> /EXIT because it fails with the message that only one instance of POV-Ray is
> allowed. Thus, there is no way to render images "on background" once there is
> running instance of POV-Ray.

a workaround may be to disable the "Keep Single Instance" option.


Post a reply to this message

From: Christian Froeschlin
Subject: Re: command line limitations
Date: 14 Jun 2011 19:39:34
Message: <4df7f136@news.povray.org>
clipka wrote:

>> 2. should "Programs" be included in
>> C:\Users\John\AppData\Local\Programs\POV-Ray\3.7 ?
>>     All other applications are in [company]\[appName] dir. I know, 
>> there is no
>> company with POV-Ray.
> 
> It depends on whether you install POV-Ray for all users, or for the 
> current user only.

I think the concern was not about the program files vs app data
issue, but only about the name used under app data. It is probably
difficult to compare this as most other software places only the
user-specific configuration files there, not the program itself.


Post a reply to this message

From: Chris Cason
Subject: Re: command line limitations
Date: 15 Jun 2011 12:08:10
Message: <4df8d8ea$1@news.povray.org>
On 11/06/2011 17:54, PC John wrote:
> - "/RENDER povFile" is nice, but I can not pass image dimensions, iniFile or
> other cmd-line settings to POV-Ray as pvengine wants just one argument of model
> name.

You should set the options in an INI file, and pass the INI file to POV.

> (b) if the user is running its own instance of POV-Ray, nobody can schedule
> /EXIT because it fails with the message that only one instance of POV-Ray is

Why not turn off single instance mode then?

> I can not render an image on background without showing POV-Ray GUI

This is intentional.

> allowed. Thus, there is no way to render images "on background" once there is
> running instance of POV-Ray.

At least in 3.6, if you set single instance mode and pass /render on the
command-line, and POV-Ray is *already running*, the render request is
passed to the *existing instance* and it will then render it. This should
still work in 3.7, though I haven't checked it recently.

Hence, once POV-Ray has started once (and shown its splash screen etc), you
can minimize it and provided you turn off the render preview display,
subsequent requests to render files sent via a command-line should render
within the existing instance.

-- Chris


Post a reply to this message

From: PC John
Subject: Re: command line limitations
Date: 21 Jun 2011 03:15:00
Message: <web.4e00440adfc674108a2333330@news.povray.org>
Chris Cason <del### [at] deletethistoopovrayorg> wrote:
> On 11/06/2011 17:54, PC John wrote:
> > - "/RENDER povFile" is nice, but I can not pass image dimensions, iniFile or
> > other cmd-line settings to POV-Ray as pvengine wants just one argument of
> > model name.
>
> You should set the options in an INI file, and pass the INI file to POV.

That is what I tried, but /RENDER accepts only single argument. Passing
"/RENDER model.pov povray.ini" ends with povray's error message and failure to
do the task.

New test: Unfortunately, this is very tricky. "/EXIT model.pov" does not read
povray.ini in the model directory while "/RENDER model.pov" does. Uff. Luckily,
/EXIT accepts more arguments, so I can safely pass "/EXIT model.pov povray.ini".
So, both of them can work for me.

Although it is tricky, I can go through.

> > (b) if the user is running its own instance of POV-Ray, nobody can schedule
> > /EXIT because it fails with the message that only one instance of POV-Ray is
>
> Why not turn off single instance mode then?

Can I do it programmatically? I expect "stupid" users that are able just to
install povray and click on a button in our application. I expect that they are
not able to do any customization of povray.

> > I can not render an image on background without showing POV-Ray GUI
>
> This is intentional.

I see. This gui is actually too complicated for our customers. All they want is
one pov-ray button and to see pov-ray generated image. We are very very happy
with povray on Linux. Do not worry that we will not give POV-Ray a credit.

> > allowed. Thus, there is no way to render images "on background" once there is
> > running instance of POV-Ray.
>
> At least in 3.6, if you set single instance mode and pass /render on the
> command-line, and POV-Ray is *already running*, the render request is
> passed to the *existing instance* and it will then render it. This should
> still work in 3.7, though I haven't checked it recently.

You are right - I expected that what I see is error message, but it is only a
dialog about "One instance *feature*". Hm, the dialog actually blocks the
rendering... and POV-Ray is kept running after the rendering...

> Hence, once POV-Ray has started once (and shown its splash screen etc), you
> can minimize it and provided you turn off the render preview display,
> subsequent requests to render files sent via a command-line should render
> within the existing instance.

Yes, but this is what I do not want. This advice is actually not for me (I am
advanced IT person etc.) but for our users, thus it should be given to doc or I
should visit each person and tell him this.

Seems, that there is no way to minimize it programmatically...


I am from far happy with linux povray. I guess the reasons why you want to keep
POV-Ray gui on Windows. Maybe, the possible compromise could be to enhance the
command line.

Anyway, povray is cool, I am just struggling with its interface.
John


Post a reply to this message

From: Christian Froeschlin
Subject: Re: command line limitations
Date: 21 Jun 2011 05:26:03
Message: <4e0063ab$1@news.povray.org>
PC John wrote:

> Seems, that there is no way to minimize it programmatically...

well, if you dive deep enough into the windows api ... ;)

I suppose you could enumerate all windows using EnumWindows
until you find one with the process id of your spawned povray
process, and, using that hwnd, call the ShowWindow function
to set it to a minimized state.

Of course it might be more useful to change the command
line behavior such that instead of starting the GUI, only
the splash screen is displayed for a few seconds (but not
longer than the render takes, otherwise it might slow down
fast-rendering animations). This would provide the desired
notification without confusing the 3rd party user with a
complicated extra GUI.


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: command line limitations
Date: 21 Jun 2011 09:50:32
Message: <4e00a1a8$1@news.povray.org>
On 21.06.11 09:13, PC John wrote:
> Chris Cason<del### [at] deletethistoopovrayorg>  wrote:
>> On 11/06/2011 17:54, PC John wrote:
>>> - "/RENDER povFile" is nice, but I can not pass image dimensions, iniFile or
>>> other cmd-line settings to POV-Ray as pvengine wants just one argument of
>>> model name.
>>
>> You should set the options in an INI file, and pass the INI file to POV.
>
> That is what I tried, but /RENDER accepts only single argument. Passing
> "/RENDER model.pov povray.ini" ends with povray's error message and failure to
> do the task.

Note that you can specify the POV-Ray scene file in the INI file.

	Thorsten


Post a reply to this message

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