Introduction to BORG

ArticleCategory: [Choose a category for your article]

Graphics

AuthorImage:[Here we need a little image from you]

[Photo of the Authors]

TranslationInfo:[Author and translation history]

original in tr Erdal Mutlu, Ceyhun Elmas

tr to en Erdal Mutlu

AboutTheAuthor:[A small biography about the author]

Erdal works at Istanbul Technical University Informatics Institute as a research assistant and Linux System, Network and WEB Administrator. He uses Linux since 1992 and since then he is a Linux fan. Nowadays he works on his graduate thesis, an Internet based education system using the Java programming language. He also supports _LF_ with translations and system issues.

Ceyhun is a Mathematics Engineer and he works at Ford Motor Company Turkey as Unix System Administrator. He is one of the Turkish _LF_ editors. He also works on a simulation and animation of Hydrogen atoms using BMRT (blue moon rendering tools, see the references section) at Istanbul Technical University Informatics Institute. He wants to spend more time to play classical guitar and travel to the most beautiful natural and historical places of Turkey. He has no free time even to find a girlfriend:)))

Abstract:[Here you write a little summary]

If you have thousands of frames to render and don't have powerful graphical workstations, but a lot of PC's , BORG will turn these PC's into a render farm.

ArticleIllustration:[illustration]

[Illustration]

ArticleBody:[The article body]

What is BORG (BMRT Ordinary Rendering GUI) ?

BORG is written in Java. BORG is a graphical user interface to BMRT, but it is not just a GUI. It distrbutres the rendering work across different computers where BMRT is used to render frames. After the rendering process BORG collects as well the data in one place.

Why do we need BORG?

Starting from the first use of computers in the animation process there have been many developments in software and hardware systems. Today it is difficult to distinguish between the work done by using computer animations and the real world around us. Now there are films produced entirely by using computer animations. Both scientists and artists are effectively using computer animations. The benefits of computer animations techniques are widely used in car crash tests, brain surgery, space researches, education and etc.

Despite these developments we need even today expensive and big systems for rendering purposes and the time which is spend in order to complete the task is quite high. There are two main reasons for this. First, resulting scenes must be more photo realistic then ever. For this reason ray tracing and other techniques are used which require more computational power and time to accomplish the task. Second, at least 25 frames per second must pass in order for the human eye to see motions smoothly for animation.

How to install BORG?

You can freely download BORG from http://www.project-borg.org . When writing this article the current version of BORG was 0.2.90. So we used this version. The file to download is approximately 1 MB big. The command tar xvfz borg0.2.90_install.tar.gz can be used to unpack the files. After that you get the following directories and files :

borg_install/
borg_install/bin/
borg_install/bin/install.jar
borg_install/sm/
borg_install/sm/borg.jar
borg_install/sm/credits.jpg
borg_install/sm/startup.jpg
borg_install/sm/topimage.jpg
borg_install/sm/english.borg.lang
borg_install/sm/german.borg.lang
borg_install/sm/borg.bat
borg_install/bserver/
borg_install/bserver/bserver.jar
borg_install/bserver/bserver.bat
borg_install/doc/
borg_install/doc/doc.zip
borg_install/icons/
borg_install/icons/BorgServer.xpm
borg_install/icons/BorgServerManager.xpm
borg_install/CHANGES
borg_install/CHANGES.GERMAN
borg_install/FEATURELIST
borg_install/README
borg_install/Win32.txt
borg_install/chmode.sh
borg_install/install_for_jre1.1.x/
borg_install/install_for_jre1.1.x/install.bat
borg_install/install_for_jre1.1.x/install.sh
borg_install/install_for_jre1.1.x/install.x11
borg_install/install_for_jre1.2.x/
borg_install/install_for_jre1.2.x/install.bat
borg_install/install_for_jre1.2.x/install.sh
borg_install/install_for_jre1.2.x/install.x11
borg_install/license.borg.txt

In order to use BORG on your system you must have installed a version of the Java runtime or develpment environment. Depending on the version of your Java environment there are two directories borg_install/install_for_jre1.1.xi and borg_install/install_for_jre1.2.x. Each contains three installation files. install.bat for Window$ systems, install.sh and install.x11 for UNIX systems. The UNIX/Linux systems install.sh is used to install BORG in command mode and install.x11 is used to install in the X Window environment.

We installed BORG on more than 70 PC's in our computer labs. There is no point in installing a software by hand to such number of computers. Erdal has developed a small, but useful BASH script to accomplish this task. May be we will describe this in another article. Hey, we are Linux admins and can't live without the benefits of this environment and the command line tools. But here we will describe the graphical installation process.

Before installing BORG please ensure that your system has an installed version of BMRT.

In order to find which version of Java environment you are using issue the following command :
java -version
We are using 1.3 therefore the output is :
java version "1.3.0
Now we change to the borg_install/install_for_jre1.2.x directory and run the command install.x11. If you see
"Unable to initialize threads: cannot find class java/lang/Thread
Could not create Java VM"

such a message, it means that you haven't defined the CLASSPATH environment variable. For this purpose issue the following commands :
bash:
CLASSPATH=/usr/lib/java
export CLASSPATH

tcsh:
setenv CLASSPATH /usr/lib/java
Once you succeeded to run the installation program you get the license window:

[license window]

Great news : By the release of the BORG's next verion mid of April it is going to be GPL. After reading the current license of BORG you'll get :

[BORG install menu]

Here you can choose one or both of the BORG's components the BORG Server Manager and the BORG Server. The BORG Server manager is what the name says a manager GUI. The BORG Server is a program which uses BMRT for rendering and sends the resulting frames to the BORG Server Manager. This can be schematically seen below :

[BORG's components in a network]

First you must install the BORG Server Manager on the computer from which you are going to work. After that you can install BORG Servers on other computers. For the sake of simplicity we are going to install both of BORG components on this machine. If you are installing BORG Server you must provide BORG Server Manager's IP, that's why you need first to install BORG Server Manager.

[borg install menu]

Be careful here when providing the pathnames in the install menu. Only if the pathnames are correct, the installation will successfully finish.
[install window]

[install competed]

Following the installation notes above you can successfully install BORG Servers to other computers.

How to use BORG?

First of all you must start the BORG Server Manager. For this purpose its enough to issue the command borg .


(click on the image to see it in full size)

Press New to open a new project.

[New project]

Here you choose a place where your resulting frames will be collected and which rib file to render. Also you can change various rendrib settings. This way you can create more then one project.

Okay, now our projects are ready, but we don't have BORG Servers to render. So we issue the command :
bserver
where the BORG Servers are installed. When the BORG Server is successfully started you can see this on the BORG Server Manages's panel.


(click on the image to see it in full size)

Internationalize Borg

You can easily translate the BORG Server Manager's labels and messages into your language!

The fine thing about BORG is that you can easily translate its labels and messages into your language. For this purpose change the value of the LANG variable in the borg.conf file to your language name (Example : Turkish) and make a copy of english.borg.lang file to yourlang.borg.lang and translate it.

Conclusion.

As you'll see by using more BORG Servers the time of rendering is greatly reduced. You are doing this by using all of your available computers.

The new version of BORG is going to be GPL licensed. This is very important, because similar programs are very expensive and they need expensive systems to run on.

BORG is still in beta version , it has some limitations. One of the limitations is that you have no way to start the BORG Servers from the BORG Server Manager. In order to start BORG Servers you should start them from the computers where they are installed. May be later this will change, and the authors will write BORG Servers as daemon programs which will listen on a specified port and connect when needed. The second, but not that important limitation we saw when we translate BORG Server Manager's labels and messages into Turkish, there were resize problems, you couldn't see some parts of the labels.

Anyhow the conclusion is that BORG speeds up the process of rendering a lot!

References.

Here is a Galaxy created with Borg. You can click on the image to see it in full size:
[linuxfocus in space]