Povedit is a graphical user interface for POV. 

It is an IDE that helps you

  create images easily with POVRAY.




How to install povedit

1) Download povedit.tgz
2) uncompress the archive (tar xvzf povedit.tgz). A directory named povedit is created.
3) cd povedit
4) type ./install (you must be root to do that)

You can now launch povedit by typing povedit (I assume your PATH contains /usr/local/bin. You can change it by typing
export PATH=$PATH:/usr/local/bin )

Povedit is installed in the /usr/local/povedit directory.

You can also download povedit.rpm. I suppose you are able to install a rpm.


























  DIFFERENCES BETWEEN POVEDIT

AND POVWIN




Povedit has the same "look'n feel" than  povray for windows, but there are some important differences.

a) Povedit has some extra functionalities.
          a1) A part of the text can be hidden (without actually modifying the text).
          a2) The output of an external program can be inserted in an editor. For now you can access the "test" program (but it's not very interesting).
          a3) Refer to: 

Multiple renderings
Graphical control of the rendering

Storage of the successive renderings.
Povedit extends POV's SDL (Scene Description Language)
Clusterized rendering
Automatic upgrading

b) Povedit does not implement some povray for windows functionalities.
 There are 4 cases :
        b1) It is impossible to implement this functionality. For instance, the benchmark test is not shown.
        b2) This functionality seems useless.
        b3) I have been lazy... I'll do it later.
        b4) I don't know how to do it.

If you need some feature, send me a mail.

c) The rendering handling is different.
Povedit doesn't need a file to be saved before rendering.



INITIALIZATION


The very first time you launch povedit, the software tries to find some important addresses.
A dialog box opens up to look for these addresses.

Povedit needs:
    the address of the executable povray (it also works with megapov and others)
    the address of the include files for pov. You can consider that these files are mandatory.
                 
Your personal include files address. This address can be ommited.

You can also give some important parameters :
    the language (only French or English)
    the editors font
    the main window color.




 


This window gives you the control back only when the needed addresses are correct. These addresses are absolutely required, povedit depends on them. However, the last field is optional, you can leave it empty (you'll be able to fill it later).


These parameters will be written in a hidden configuration file named ~/.poveditrc.
In case of trouble, deleting this file may help you.



Povedit consists in a Menubar (1), a Toolbar (2), a pulldown option list (3), a window to write additional options (4) and a set of editors (5).



 




  MAIN MENU




Povedit's main menu has 12 options:
The grayed menu items mean that this option is currently inactive or is not yet implemented.

a) "File" menu


        a1) New: open an empty editor.
        a2) Open: open a file in a new editor.
        a3) Close: close current editor.
        a4) CloseAll: close all the editors.
        a5) Save: save the content of the current editor.
        a6) Save as: save the content of the current editor with a new name.
        a7) Save all: save the content of all the editors.
        a8) Print: print the content of the current editor.
        a9) Print Setup: not implemented yet.
        a10) Exit: quit povedit.
        a11) Older files: allow you to open a previously opened file. This menu item opens a cascade menu, where you can choose a file opened in a previous session.



b) "Edit" menu

 

     


        b1) Undo: cancel the last modification of the file.
        b3) Redo: cancel the last undo.
        b4) Cut: cut the selection and put it into the buffer.
        b5) Copy: put the selection into the buffer.
        b6) Paste: copy the buffer content at the current editor insert point.
        b7) Delete: delete the selection without copying it into the buffer.
        b8) Hide: hide the selection.
        b9) Show: show back the previously hidden text.
        b8) Select All: select the whole text.
        b9) The "Selection" submenu allows to work only on the selected text zone.



   
            b91) Uppercase: convert selected text in uppercase.
            b91) Lowercase: convert selected text in lowercase.
            b92) Convert Spaces to Tabs: convert spaces to tabulations.
            b93) Convert Tabs to Spaces: convert tabulations into spaces.




c) "Search" menu



    c1 ) Find: look for a character string in the current editor. The found strings are highlighted in red.
    c3) Replace: replace a string by another one.
    c4) Find Next: look for the same string again.
    c5) Match Brace: look for the bracket matching just before the insert point. If the insert point is not behind a bracket, this command has no effect. It works for opening and closing brackets.
    c6) Go to Line: put the insert point to the chosen line number.


d) "Text" menu




d1) Show White Space: show or hide spaces in the text.
d2) Set Repeat Count: set how many time the next command will be repeated.


e) "Editor" menu: not implemented yet.

f) "Insert" menu:


The insert menu proposes to select a "pov object" from a floating menu. This one corresponds with the content of the "Insert_Menu" directory, located in the povedit installation directory. Subdirectories correspond with cascading menu entries. Files with a "pov" or "txt" extension correspond with menu entries. To insert an object, just click on it, it will be inserted at the current editor insert point.
Of course you can add or delete some files in this directory, the changes will be made in the insert menu.







g) "Render" menu



                                   
    g1) Edit Settings/Render: this item proposes to edit the main initialization file, and the selectable options file.
This menu item opens a new window, allowing you to:
_ select the main pov configuration file.
_ change the main pov configuration file.
_ change the additional options.

Modifications of these two files will be saved for the following sessions.
    g2) Select File and Render: Ask you to select a file, and directly performs a rendering of this file.
    g3) Start Rendering: perform a rendering of the current editor. In case of trouble, povray's error messages are written in the "Messages" editor (in read-only).
    g4) Parallel rendering: launch a render of the current editor on the selected computers.
    g5) Control Box: see Graphical control .
    g6) Kill All: close all the rendering windows.



h) The options menu




h1) Launch server: launch a server on the local computer. Useful for clusterized rendering.
h2) Servers selection: this menu item pops up a new window, where you can select the servers needed for clusterized rendering.
h3) Configure povedit.
h4) Icon bar configuration.
h5) Show Port Folio.
h6) Show Toolbar.
h7) Record to Port Folio.


i) The help menu


i1) Update: connect to a server and upgrade povedit files. You will have to copy this files towards usr/local/povedit.
i2) About povedit: license, greetings, legal stuff.



The other menus are not implemented yet.



EDITORS


You have an unlimited number of editors. You can open a file, or open an empty editor. These editors provide most of the traditional editing functionalities.

You have the following controls in the edit window:

These controls do not depend upon an editor .

        Right button : pops up a floating menu, with lots of things...
Choose what you want to insert in your file, it will be inserted at the current cursor position.
        Shift right button : Inserts at the current position the result of an external program. A selection box pops up, where you can choose the program to execute, and its parameters.
        Control-h : Hides the selection. Caution! Even if the selection is hidden, the rendering process will use it.
        Alt-h : Show what had been previously hidden.
        Alt-a : Selects everything
        F9 :  Word completion.
        Control-r or F4 : Launches a render.
        Control-u :  Undo
        Control-r :  Redo
Note : "Undo" and "Redo" are unlimited.
        Control-c : Copies  the selection in the buffer.
        Control-v : Copies the buffer at the insertion point.
        Control-x : Deletes the selection, and copy it in the buffer.
        Control-z : Deletes the selection, without copying it in the buffer.
Note : when you copy anithing in the buffer, the previous contents is silently discarded.
        Control-f : Search.
        Control-g : demande un numero de ligne, et positionne le point d'insertion à ce numéro.
        Control-e : selection de la police.
        Control-k : ferme toutes les fenetres de rendu.
      Control-b : Recherche l'accolade correspondant à celle qui est juste après le point d'insertion, si c'est une accolade ouvrante, ou à celle qui est juste avant le point d'insertion, si c'est une accolade fermante.
        Control-p : ouvre l'album
       Return : force le recalcul de la coloration syntaxique
       F5 : rendu parallèle
       Control-o :  Ouvre un fichier
       Control-n :  Nouvel éditeur vide
       Control-s : Sauve
        Control-i : Insère un fichier dans l'éditeur courant
        Control-k : Ferme l'éditeur courant
        Control-Alt-k :  Ferme tout
        Control-Shift-s : Sauve tout
        Control-Alt-s : Sauve sous...




BUTTON BAR



Povedit has a customizable button bar.




The very first time you use povedit, the button bar is filled up with all the possible functions/icons. You can easily select the frequently needed functions with the menu  Options/Configure Button Bar.


A selection window pops up, in which you can choose the functions you prefer. An icon is attached to each function.
The icons are fairly clear and help balloons are bound to the buttons.
                                            .





RENDER CONTROL




The choice of the rendering options is a 3 step operation:
    1) First, options are read in a global configuration file.
    2) Second, you add to these options the choices of the list box.
    3) Finally, you add the content of the typing window.





The last frame helps you to fiddle the rendering process.
The slider selects the quality of the rendering (from 1 to 11, please report to pov documentation).
The combo box allows you to select additional options (these options can be changed, see menu doc).
You can give last minute options in the entry.
Finally, the check box sets the thumbnail option on or off.

PORT-FOLIO






Povedit can create a portfolio of all your images, and keeps in memory the pov file which has generated this image. At every moment, you can retrieve the pov file. This feature is particularly interesting if you make many renders and want to keep trace of your tries.


You can activate the portfolio by clicking the "Portfolio" checkbox, or with the menu Options/Record to Portfolio.
When the checkbox is on, the portfolio is automatically shown, and all your renderings are added in it. To retrieve an old rendering, simply click on its thumbnail, a new editor is created with the code you are looking for.

CAUTION! The options +FP and +O- have to be selected.





CONTROL BOXES




Control boxes are tools which can help you to quickly fine-tune some parameters. To activate a control box, simply select the part of the text containing the parameters you want to fiddle and click on menu Render/Control Box.

A new window pops up, containing a slider for each numeric value in the selection. These sliders control the numerical values.

Clicking on 'OK' changes the text of the file with the new values.

Clicking on 'VISU' renders the scene.

Clicking on 'Cancel',...




MULTIPLE RENDERINGS

Povedit can launch several renderings of the same scene, giving different values to some parameters. To activate this feature, simply add a line containing:
    the string "//;;"
    the name of the identifier
    the start value
    the end value
    the number of steps

For instance :
//;; tobozo 1 2 30
will run 30 renders, assigning values from 1 to 2 to the variable tobozo.

Here is a part of my screen, with this option:




CLUSTERIZED RENDERINGS


If you have access to several computers through the internet, or on a LAN, you can dramatically improve the rendering speed by clusterizing it.
I have got very good results with 60 computers (no, I'm not that rich. I'm a sysadmin...).
This operation is fairly simple with povedit, but you must proceed with order.
Your computer will be referred as "master", the other computers as "slaves".
Important:
a) You must know the IP, or symbolic address of the slaves.
b) A server process must run on slave computers. The server can be launched from povedit : menu Options/Launch Server, or from the shell, by typing /usr/local/povedit/povserver.py &
Note that it's straightforward to launch a bunch of servers, if you have ssh access to them.

You must now select the servers. Click on Options/Server selection.
A new window pops up, and you will have to fill the leftmost editor with the addresses of the slaves.
You must now click on "test", and all the servers will be tested by povedit. The valid servers will be written in the second editor. You may now select all the servers you want for the render. Click 'OK' when you are done with selection.

That's all
!

Just click Render/Parallel render (ShortKey F5) , and povedit will ask every  slave to proceed a part of the final image, and store the partial results.
The partial images are named mm0.tga, mm1.tga, ... in the current directory.





Notes and caveats:
If you are behind a firewall, you can have problems. Povedit uses port 50007 by default. It's easy to change it.
If you need it, povedit can run even if the slaves are behind a fw. But, in my quality of a sysadmin, I do not really like that...
There is no load balancing, but you can manually tune it. If a slave is faster than the others, select it twice, it will have to render two parts of the image.
The final image is not created by povedit because pov has a bug in the png output of partial files. I want to use png format, and this bug will probably be fixed one day.

CONNEXION TO AN EXTERNAL PROGRAM


Povedit can launch an external program (typically a mesh generator), pass its parameters, and insert the result of this program in the active editor.
This program can be written in any language (an example is given in python). It simply has to read its arguments from the command line, and write its output to stdout. Povedit will catch this output and insert it at the selection point of the active editor.

UPGRADING POVEDIT


The first download of povedit is long, because the doc has many images, and there are lots of example files. When a new version is released, no need to download again the big tarball. You can upgrade povedit by clicking menu Help/Upgrade.
Povedit will connect to a server, compare the MD5 signatures of your files with the signatures of the server's files, and automatically download only the needed files. These files will be stored in the /tmp/povedit.update/ directory. You will want to move them towards /usr/local/povedit.

Some known problems...;-(

...and some hints to solve them ;-)


The Tkinter module doesn't load: are you sure that it's really installed?
Try to modify the sys.path variable, at the very beginning of main.py, but that's not normal, the Tkinter module is not installed properly, python should find it on its own.

The rendering doesn't work: check the AdresseIncludesPourPOV and AdresseDePOV variables.
Launch Options/Configure povedit.
You'll find it in the file ~/.povinitrc. You could possibly delete this file, and launch again povinit, and check these addresses very carefully. Povedit checks very basically the input of the initialization dialog box.
Don't forget to look in the "Messages" editor, maybe there's an error in your pov file...

If you can't find the address of the executable povray, type in a shell: "which povray".
It's the same for the include files of pov, you can try "locate colors.inc".
As a last resort you can try "find / -name colors.inc ", but this command will explore the whole filesystem /, it could take a long time depending on the disk size (about 5 minutes).

Povedit is somehow lengthy to load... Be patient.

  Known bugs

When you insert something, the scroll bar goes down... don't understand why...

Bugs report, request for new functions, etc, etc: guignot@wanadoo.fr

Back to download page