|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I am interested in running through bash a series of invocations of povray.
I would like to be able to use povray to "process" a series of PNG's.
Perhaps this is impossible; perhaps I need to have a unique INI for each
PNG where that PNG were declared as a variable; perhaps bash can do this in
a really slick way.
In other words, I'm currently doing:
i) For every PNG I am working with, create a different povray file where
the PNG is referenced and used. The stack of povray files are identical
save a bitmap input filename.
ii) Run every one of them one at a time in a Windows version of povray.
This is an inefficient approach.
Any tips on how bash in linux (or even the Windows version) could do this
more efficiently?
Post a reply to this message
|
|
| |
| |
|
|
From: Nicolas Calimet
Subject: Re: bash: povray INPUT_PNG.png MY_INI.ini
Date: 30 May 2007 14:43:13
Message: <465dc5c1@news.povray.org>
|
|
|
| |
| |
|
|
Not sure what you're trying to do exactly, but let's see:
> i) For every PNG I am working with, create a different povray file where
> the PNG is referenced and used.
You might have a unique scene.pov file that uses an imgfile variable
which is initialized at the command-line:
http://povray.org/documentation/view/3.6.1/220/
Thus, for your bunch of PNG image files, do e.g.:
#!/bin/sh
for file in `ls *.png`; do
povray scene.pov [options] Declare=imgfile=$file
done
- NC
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Nicolas Calimet <pov### [at] freefr> wrote:
> You might have a unique scene.pov file that uses an imgfile variable
> which is initialized at the command-line:
> http://povray.org/documentation/view/3.6.1/220/
>
That is great news. I hadn't RTFM well enough to realize you could declare
variables at the command-line. Bash is one of the great treats of linux.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Nicolas Calimet schrieb:
>
> #!/bin/sh
> for file in `ls *.png`; do
i think better would be
for file in *.png ; do
since ls is not guaranteed to only print the file names AFAIK.
> povray scene.pov [options] Declare=imgfile=$file
I think this only works for floats.
Simple solution:
for file in *.png ; do
cp $file temp.png
povray -iscene.pov [options] \
-o`echo "$file" | sed 's?png$?render.png?'`
done
where scene.pov always uses temp.png
-- Christoph
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> i think better would be
> for file in *.png ; do
> since ls is not guaranteed to only print the file names AFAIK.
Yep.
> I think this only works for floats.
That's indeed what the docs seem to imply (IMO it would be quite sad
if there's such a limitation). Actually I never tried using anything but
a constant for this command-line option.
- NC
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Christoph Hormann <chr### [at] gmxde> wrote:
> Simple solution:
>
> for file in *.png ; do
> cp $file temp.png
> povray -iscene.pov [options]
> -o`echo "$file" | sed 's?png$?render.png?'`
> done
>
> where scene.pov always uses temp.png
>
> -- Christoph
Thanks. But to make sure I understand what's happening there, could you
briefly explain line by line, especially the [options] part? I'm trying to
figure out what kind of iscene.pov I would have to set up beforehand.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
gregjohn wrote:
>
> Thanks. But to make sure I understand what's happening there, could you
> briefly explain line by line, especially the [options] part? I'm trying to
> figure out what kind of iscene.pov I would have to set up beforehand.
well - i won't give a whole shell scripting tutorial here but the "for
file in *.png ; do" together with the "done" is a loop setting variable
'file' to each of '*.png'.
cp $file temp.png
should be obvious.
povray -iscene.pov [options] -o...
is simply meant to render scene.pov (which is supposed to use image file
temp.png somewhere of course) with additional options of your choice
into image file ... which is the output of
echo "$file" | sed 's?png$?render.png?'
which replaces the ending 'png' in the file name with 'render.png' so
image.png results in image.render.png (the '$' in the sed command
matches the string end so only a trailing 'png' is replaced).
Christoph
--
Views of the Earth: http://earth.imagico.de/
Images, include files, tutorials: http://www.imagico.de/
MegaPOV with mechanics simulation: http://megapov.inetart.net/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> povray -iscene.pov [options] \
> -o`echo "$file" | sed 's?png$?render.png?'`
... which might better be:
povray scene.pov [options] -o${file%%png}render.png
:-)
- NC
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |