POV-Ray for Network

POV-Ray for Network

"Exizt" for animations
"App" for stills

Introduction:
POV-Ray has a huge problem for people who have their own home-network: It doesn't support raytracing using a network. My program Exizt is the solution for this problem: Now you can render animations with many frames using POV-Ray distributed over several PCs.

Exizt is FREEWARE. You may use it free of charge and copy it to everyone!

How it works:
Before each frame of the animation, Exizt checks the file in the network directory (the directory all finished files are copied to). There are many possibilities my program handles, but if you want to know it: The program checks the output file POV-Ray wants to use. If it does not exist, it creates a file with the same name only containing 4 bytes ('Used') and tells the PC to render the file. If the file already exists and there's 'Used' in it, another PC from the network renders the file. So the frame is skipped. After a frame has been finished, my program moves the file from the local directory to the network directory.

What you need:

  • Several PCs (okay, you can run Exizt on one PC without network, but this would not be very useful.)
  • A DOS/Win3.1/Win95/Win98/WinNT network between them, allowing them to write to ONE output directory on the hard disk of ONE PC
  • POV-Ray for DOS/Win3.1/Win95/Win98/WinNT X.XX (you should use the same version on every PC) - Exizt is specially written for POV-Ray 3.0 and higher
  • Exizt!

    How to use it:

    1. Write or model your animation.
    2. Create an INI-file containing these lines:

        Pre_Frame_Command=Exizt.exe %o 123456 c:\local e:\network
        Pre_Frame_Return=S
        Post_Frame_Command=Postex.bat %o c:\local e:\network

      Explanation of the INI file:
      Pre_Frame_Command Command executed by POV-Ray before each frame
      Exizt.exe Path and name of Exizt
      %o Output filename
      (Warning: If you have set a standard output directory for POV-Ray,
      you have to use <standard output directory>\%o .)

      Remember: Every PC has to use the same output directory used by the others
      123456 Finished file size: The size of a finished, rendered file in bytes (Exizt will compare this value with the file size of the current output file, so give the exact, correct size)
      c:\local The local directory that POV-Ray renders to
      e:\network The network directory, Exizt will check and move the files into. The LOCAL directory and the NETWORK directories MAY NOT BE THE SAME!!! The NETWORK directory has to be the SAME on each computer!!! Do not use backslashes ('\') at the end of a directory!!!
      Pre_Frame_Return Action done by POV-Ray after the Pre_Frame_Command has ended
      S POV-Ray will skip the current frame if an error in the Pre_Frame_Command occured
      Post_Frame_Command Command executed by POV-Ray after each frame
      Postex.bat Path and name of Postex.bat
      %o c:\local e:\network See above

      If you don't want to use the network for moving the files after they have been finished, you can remove the Post_Frame_Command. The finished files will remain on the computer that rendered them. When you copy them together (to the network directory), you have to replace the 4-byte-files with 'Used' in it.

      Don't forget: Every PC that started a file has to finish it! You could use the +sfXXX and the +efYYY commands of POV-Ray to finish a particular file of an animation (topic "General Output Options" in the POV-Ray help files).

      You should also use the command line switch +C, because if a frame exists, my program does NOT report an error, and POV-Ray wants to render the frame. If you have set the +C switch (Continue) POV-Ray will continue the frame instead of overwriting it. If you stop a rendering and want to continue at the frame where you stopped before, +C can be very handy (Exizt will neither let POV-Ray overwrite a finished file nor continue it).

    3. Now open the files with all PCs in the network and start rendering with the same INI file (The network directory has to be the same on every computer, the local directories have to be different!!!) USING THE SAME RESOLUTION ON EVERY COMPUTER!!! Before each frame, Exizt will check the output file and tell POV-Ray whether to use it or not. You can add or remove any PC you want while you are rendering, if Exizt and POV-Ray are running on it, it will work. Warning:If you remove one PC from the network, it has to finish its file, because no other PC will continue it!!!

    Known problems:

  • You shouldn't use long filenames or filenames with spaces, because Exizt can't handle them.
  • If you think the program has a problem or mistake or whatever, write to me: SebaB@Stb-Citynet.de (I think a small program like this shouldn't have too many bugs).
  • Don't forget any parameters! The program doesn't have an error-handling-routine!

    Have fun with EXIZT!!!

    By the way, you may also write to me, if you have any suggestions, want to show me another program like Exizt or if you need help with my program!!!
    Documentation for Exizt 2.00

    Introduction:
    There is a big difference between POV-Ray and other professional rendering programs (like 3D Studio, Lightwave): POV-Ray "raytraces" an image (look into your POV-Ray documentation for further information on the word "raytracing" (topic "Ray-Tracing?")). Raytracing is a very accurate but also slow way to generate an image. So you need much time - because POV-Ray doesn't support raytracing over several PCs. But with my program App, you can render a .POV-file distributed over several computers.

    App is FREEWARE. You may use it free of charge and copy it to everyone!

    How it works:
    It's very easy: You render the file on several PCs, each computer has to render different lines of the image. Then you run my program on it: You have ONE file.

    What you need:

  • Several PCs (like Exizt, you can use ONE PC, but I didn't write App for ONE PC rendering ONE file!)
  • Any version of POV-Ray that can create uncompressed Targa-files (.TGA)
  • At least ONE DOS/Win3.1/Win95/Win98/WinNT to run App (it's a DOS-program)
  • App!

    How to use it:

    1. Write or model your image.
    2. Render the file on each PC with these options:
        +ft +srXXX +erYYY +oAAAAABBB.TGA
      Explanation:
      +ft POV-Ray will create uncompressed Targa-files (TGA). My program only works with TGAs, so you'll have to set this switch!
      +srXXX POV-Ray will start rendering at line XXX.
      +erYYY POV-Ray will end rendering at line YYY.
      +oAAAAABBB.TGA POV-Ray will use this filename for output. AAAAA MUST be the same on every computer. BBB is a number used by App to determine the order of the images. The first PC uses '1' (NOT '001'!!!). The second PC uses '2'..., the tenth uses '10'..., the hundredth uses '100'... etc.
      Let's say you have 3 computers and want to render a .POV-file in 800x600. You load the .POV-file to each PC. The first one should have '+ft +sr1 +er200 +oIMG1.TGA', the second one '+ft +sr201 +er400 +oIMG2.TGA', the third one '+ft +sr401 +er600 +oIMG3.TGA'. You could also use the +scXXX and the +ecYYY switches, but remember: The lines or pixels of each computer have to fit to the lines or pixels of the others, e.g. the first PC could render 1x1 to 1x5, the second 1x6 to 500x6, the third 501x6 to 800x600. For additional information on rendering partial images look into your POV-Ray documentation (topic "General Output Options").
    3. Now, run my program:
        App outfile.tga AAAAA
      Explanation:
      App Path and name of App
      outfile.tga The filename App writes to. Don't forget .TGA or you'll get a filename without extension.
      AAAAA The beginning of the output filename of the PCs. If you created a file 'IMG.POV' you have probably called the output files of the computers 'IMG1.TGA', 'IMG2.TGA' and 'IMG3.TGA'. Now you just write 'IMG'.

    Known problems:

  • You shouldn't use long filenames or filenames with spaces, because App can't handle them.
  • Yes, I know, App is very slow. But that's not a bug!
  • Don't forget any parameters! The program doesn't have an error-handling-routine!
  • If you think the program has a problem or mistake or whatever, write to me: SebaB@Stb-Citynet.de (I think a small program like this shouldn't have too many bugs).

    Have fun with App!!!

    By the way, you may also write to me, if you have any suggestions, want to show me another program like App or if you need help with my program!!!
    Documentation for App 1.00
    © Sebastian Breier, 1998. All rights reserved.
    People say, God is the one, you believe in.
    I believe in me, so I am God! ;-)