Introduction:

      Gl_render is a front-end to MolScript / BobScript, POV-Ray and Raster3D. MolScript and BobScript are popular programs to generate schematic and detailed representations of macromolecules. Gl_render was once part of the mol_ras package that was designed to facilitate the creation of high quality images of macromolecules. MolScript (version 1.4 ) and BobScript (version 2.4) are incredibly nice programs but are lacking any real-time capabilities. Thus, finding the right orientation by defining a set of rotation operations could be a daunting task. Some utility programs like o2mol helped to get a rough orientation, but the user still had to fine tune the orientation by a trial-and-error process.

      This is why gl_render was developed. It reads the output of MolScript (raster3d format) and displays it in an OpenGL window. The user can then freely rotate the molecule with the dials or mouse. If a suitable orientation is found, gl_render writes out a matrix that corresponds to the new orientation and re-runs MolScript upon request. At no time in this process, the user has to work with rotation values or matrices. MolScript (version 2) has some real time capabilities but does not yet produce input for POV-Ray.
The following schematic shows how gl_render acts as front-end to MolScript, POV-Ray and Raster3D :

To get a first impression of what can be done, visit the gallery. See Quick start.

A word of CAUTION: This documentation is not yet complete. I have however tried to make the interface as easy to understand as possible so that it should be possible for you to figure out how things work without a lengthy description. Also, this program may not be error ("bug")-free. (You are proceeding at your own risk). It has been tested extensively under IRIX6.2 and IRIX5.3, however much less under OSF1 and Linux.
Also read about anticipated changes.


Prerequisites:

Several programs besides gl_render need to be installed and their executables must be found in your PATH: (See Installation if you need more information on how to obtain these programs.)

Quick start:

Provided that you have completed the installation of gl_render do the following: You should see an image of a molecule (nearly identical to that in ex01 in the gallery). An updated view of the molecule appears on the screen after a while. ( If a blank screen appears, press the button "Show Log" to check errors in BobScript.) After a while a rendered image of the molecule will appear on the screen. (If nothing happens, x-povray did not run. Check the current window for error messages).

Study the examples ! Note that they all contain the statement : transform atom * by rotation @new_view.in ;


Gl_render

(beta release: version 0.7 7/10/1999)

Features:          Index:          Quick start:


Command Line Options:

Gl_render can be invoked with the following options:

 gl_render [-f] <filename> [-expert] [-p PID] [-h] [-xf <options>]

-f filename

Raster3d input file. -f is not necessary if there is only one command line option.
-p PID (OBSOLETE)
Process id of mol_ras. (Only useful when gl_render is used in combination with mol_ras)
-h
Command line help.
-xf <options>
The options following -xf are passed on to the xforms part of gl_render.
-expert
Access to experimental features like visualization of structures from SnB.

File:

With OpenRaster3D file you can open all standard and header-removed Raster3D (version 2.4h) files. (Up to ten levels of input file redirection [nesting] are supported.)

Open Surface file allows you to read in Grasp surface files.

Setup Molscript allows you to type in or select MolScript input and output files. You may also edit the command which will be used to run this program. This allows you to switch for instance from MolScript to BobScript.

Setup Povray is quite a bit more complex and requires some basic knowledge of POV-Ray. Jump to a more detailed description of Povray Setup.

Setup Raster3D allows you to define the standard parameters that are inportant to render as well as input and output file names.

Save Matrix opens an input field that allows you to specify a file name for the rotation matrix. The default name is new_view.in. It is crucial that this name matches the one in your MolScript input file. After pressing the okay-button or closing the window, the file with the current matrix will be written. If you just use the button in the Tools bar the matrix is written to the current file and you will not be prompted to enter a new file name.

Run Molscript:
     Pressing Run Molscript will immediately cause the execution of MolScript or any program defined in Setup Molscript.

Run Povray
      Pressing Run Povray will make gl_render determine whether the files <name>_1.povinc, < name>_2.povinc or <name>_text.povinc need to be written to the disk. If it is necessary it will do it without asking. If it is not necessary to write the mostly big object files to the disk again, a lot of i/o-time can be saved this way. <name>.pov will always be written, because it is most likely to change as it contains parameters like position of light source, clipping planes, background color and further transformation matrices of solid and transparent objects.
In the default setup, x-povray will display the scene on the screen and write a file with the extension .tga .

Run Render:
     This will create input suitable for render of the Raster3D package and execute it subsequently. In the default setup, the output of render is a file that will be shown at the end with display ( ImageMagick ).

Show log file will show a browser with the output (stdout and stderr) of MolScript. Use this to check error messages.

Stop - kill povray:
      Select a process you want to stop. Processes are displayed in a multi-line browser and the user has the option to select more than one process. Use the KILL button to stop the selected processes. (Gl_render uses the system command ps -g PID -f to inquire about the possible processes; this is a bit unfortunate because this is somewhat dependent on the unix flavour (IRIX, OSF, Linux...).

Preferences:
      This window allows you to select what kind of dial response you wish to have. Options are O-, Grasp-, Insight- and Rasmol-style. (Default: O-style).

Dial / Mouse speed:
      This will bring up two small windows. The first allows you to select an arbitrary speed of the dials and mouse in the range of 0 to 1. The second one allows you to perform exact rotations about the three axis by a given angle. This is ideal for quick rotations and for generating stereo pairs.

Quit:
      This will terminate Gl_render immediately. Only if there are unsaved changes to the light sources or labels it will ask you whether you want to save them. Before Gl_render exits it will write a new .gl_renderrc file with the last parameters. If you exit the program with cntrl c or by pressing the Esc key, the file .gl_renderrc will not be updated.


MolScript Input:

The communication between MolScript and gl_render proceeds via a file that contains the new orientation matrix. The default name is new_view.in. In order to make MolScript recognize the new matrix you need to have the lines:

transform atom * by centre position atom *;
transform atom * by rotation @new_view.in ;

in your input file for MolScript. Note that the second line redirects the input stream to the file new_view.in in your local directory. The file contains nine numbers that make up the new orientation matrix. See example 1 for the syntax.


Povray Setup

Povray Setup

Upon selecting Run Povray (update) for the first time, the following povray input files are generated:

<name> stands for the root of the input file. But you may choose other filenames by selecting existing files ( which will be overwritten ) or typing in new filenames.
In this example the filename is tmp15.r3d. Therefore the files names tmp15.pov, tmp15_1.povinc, tmp15_2.povinc and tmp15_text.povinc were automatically generated.

<name>.pov is the master file that contains general information for povray like:
global definitions, camera position, background color, light sources, optional definitions of clipping planes, a parameter for the generation of stereo images, an optional include file with text objects, and finally two include files with object information. While file 1 (Object 1) contains solid (non-transparent) objects, file 2 (Object 2) contains all transparent objects.

The input field labeled Program allows you to customize the parameters for POV-Ray. With a click on Select, you can select predefined image sizes and antialiasing options for POV-Ray. For a fast preview +H600 +W600 ( height=width=600 pixels) should suffice. For the final image you may want to select +H1200 +W1200 +AM2 +A0.2 +J1.0. This will render an image of 1200x1200 pixels and also perform antialiasing (jitter 1.0 pixel). You may also enter other values and options that you find useful. ( Refer to POV-Ray documentation). In this case it is useful to select user1 or user2 and enter the options you prefer.

     To quickly generate and update file names for POV-Ray , type in a new (root) file name in the input field Input file and press the button labeled Update file names.

      The button Write default textures will generate two files in your local directory: Material.inc and Txtr.inc. Both files are essential for POV-Ray to work with the objects generated by gl_render.


Options in Povray Setup(back)

Average normals:
      MolScript (v.1.4) does not generate appropriate normals for triangles that define strands and beta-sheets. (Neither does MolScript 2.0). Consequently, surfaces look very crude. If you select this option, Gl_render will not only generate normals for each vertex but also average the normals of connected triangles. This results in very smooth surfaces when rendered in POV-Ray.
The user has the option to select how many passes of averaging are done. Edge detection is done by calculating the cosine of the angle between pairs of normals before averaging. If the angle exceeds a predefined limit, no averaging will be performed. Limits are 1 to 20 for averaging passes and 0 to 360 deg. for edge detection. Note that values larger 360 deg. disable edge detection.

There are Raster3D files which contain normals that should not be averaged. An example of these objects are surfaces. Their normals conatin valuable informatio about the curvature. Surfaces from  GRASP can be converted to Raster3D objects with ungrasp.

Note: It is however recommended to use the new feature of gl_render to read GRASP surface files directly. Much tedious work can be avoided that way!

To protect triangle normals that belong to a surface from being averaged in a mixed input file ( GRASP surface + MolScript secondary structure ), use the following card(s) in your Raster3D file:

Insert a comment card beginning with # to protect the normals from averaging:

# surface on
.... (triangles, normals, etc...)
# surface off

This is non-standard Raster3D syntax but it will be recognized by gl_render and ignored in Raster3D! Provided that E. A. Merritt does not object, a new version of ungrasp, here called grasp2r3d, can be obtained from the author. Grasp2r3d will automatically insert the necessary cards to protect surface normals and generate new (vers. >= 2.4 Raster3D) input by including vertex color cards (card 17). It also facilitates the proper rotation, translation and scaling operation of the surface to fit it to your MolScript objects. Thus no runs of Normal3d are necessary. Grasp2r3d will read a file that contains the following information:

1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
-10.0 10.0 10.0 70.0

The first nine numbers represent the rotation matrix that MolScript prints in the log file and the last line contains the three components of the translation vector and the window size from MolScript. It is however important that you use the exact syntax in MolScript for the transformation of the pdb file coordinates !

A similar conversion program called msms2r3d exists for M. Sanner's MSMS program and can be obtained from the author.

Filter metallic spheres:
      If selected, gl_render will assign a special texture to all white (!) spheres it encounters. This will not change the appearance of the sphere in the real-time display (white) but POV-Ray will treat these spheres differently. Thus white spheres will be assigned the texture: MET_SPHE_TEXTURE.

Backfacing triangles:
      If selected, gl_render will assign a different finish (or texture) to those triangles whose back is facing the observer. This is useful to enhance the contrast between the "outer" surface of a helix and the "inner" surface. This has no effect on strands because the user never gets to see the backside of the strands. Turn this option off if you deliberately assign a different color to the back side of helices !

Shadow:
      If selected, all objects will cast shadows. The only exception is text. Whether a text object will cast a shadow is controlled in the Text window.

Equal transparency:
      If selected, all transparent object no matter what alpha value they might have, will be rendered in povray with the same transmission value. This is done by defining a global variable TRMS in the master file which will be used in each pigment (color) statement.

Complex textures:
      If selected, Gl_render will produce povray files with the option to define and re-define your own textures. (This is why it is called complex.) Otherwise only the finishes declared in Material.inc will be applied to the objects.
Note that both Material.inc and Txtr.inc can be renamed and edited ! I am currently improving this function to make it a bit easier for the user to select different textures. At the moment you can select wood, stone, metal and glass textures.

Camera local:
      If selected, the camera is positioned close to the scene which results in noticeable perspective distortions. ( Local and remote field of view are 45 deg. and 0.8 deg, respectively.) Feel free to play around with the camera location and field-of-view parameters.

Lens flare: (still not fully implemented)
      If selected, additional variables for lens flare effects based on Chris Colefax's "lens.inc" script will be prepared. In the current version the effect position has to be typed in by the user.

Filter vs. transparency:
      If selected, transparency will be modeled by filtering the light by the color of the "transparent" object rather than allowing a part of its true color to shine through. This is what colored glass does to white light that is reflected from a surface.

Depthcue and Depthcolor:
      If selected, depthcuing will be performed in POV-Ray. This is done by layering a transparent texture map on top of each object. The degree of transparency is controlled by the depth ( z-value). Depthcuing in POV-Ray has the advantage that very smooth gradients can be obtained. Here depthcuing is preformed on a per pixel and not on a per object basis. The latter is for instance unavoidable in programs like BobScript. Objects far away from the observer slowly blend in with the background ( color ). The background color is usually black. This is the default color. But if the background color differs from black you may want to select "Depthcolor" so that the color of the objects blends with that of the background.

It is now possible to select depthcuing in the Image menu. Two sliding bars allow you to set the start of the depth-effect and the extend ( called window ). For simple objects, POV-Ray will layer an increasing amount of background color onto more and more distant objects. This may not yet work with the Povray option "complex textures" at the moment.


Setup Raster3D

This setup allows you to define input and output files for Raster3D. The file in "Main" will contain a complete header plus file redirections to the file containing labels ( characters that have been converted with FONT3D to raster3d format) and the file containing information about additional light sources ( typically glow light sources ). The parameters under Options are the standard options for render.
( In order to render characters, you need to have FONT3D installed, true-type fonts available and the awk script raw2r3d.awk. The latter script comes with this distribution of gl_render ).


Edit.(back)

Edit input allows the user to edit some of the various input files for MolScript or POV-Ray. This is still somewhat experimental but will eventually greatly facilitate the generation of input for MolScript and POV-Ray.

 Text or labels can be added to the scene. In the current implementation up to 50 ( 0 to 49 ) labels can be edited and then rendered in POV-Ray ( as well as in gl_render ). This menu allows you to select and edit labels, change their fonts, style and color.

      The File menu allows you to read and write texts for your convenience. The format of this file is necessarily quite complex as it contains font, style, size, color, ...etc. information. Therefore it is not recommended to write it with an ascii editor from scratch.
Type or paste text into the input field. The length of the text is not limited as such - only by the physical memory of your computer.

    Note that you have to press the OK button to have the label drawn on the screen. Carriage return will move you only to the next line as gl_render is capable of displaying multiple lines of text for each label.

To position a label on the screen, make sure the Position button is pressed and press and hold the left mouse button as you move over the gl_render window. You can also use the dials.
Furthermore, a label can be attached to a sphere by pointing at it and clicking the left button. The active label will move  to the 3D position of the sphere. It will always be left-aligned.

To change a label selection click on the lower left corner of a label or use the label counter. However, the latter can turn out to be too time consuming as you have to go through all labels one by one. By clicking on the framed Label button, a label browser will be activated providing you with a very convenient way of selecting labels.

The direction of a label can only be changed with the selection mechanism described above. First select a label, then under Special, select Change label direction and click with the left button on a sphere: A straight line is drawn between the start and the end point. The direction of the label is now aligned parallel to this line. It is now possible to shift the label along and vertically to this direction vector with the mouse or with the dials.

      Drawing of a label can be turned on and off with the Visible button. Pressing the Position button tells gl_render to interpret dial rotations and mouse movement  as changes to the label position. Some times it is desired to change the font, size or style of all labels to something else. You can do this one by one or all at once. The latter is possible by selecting Apply all attributes labels to labels of this font under Special. Use the Protect button to protect a label from having its font, size or style changed.
If a label is supposed to cast a shadow in POV-Ray you have to press the Shadow button. The default is that labels cast no shadows.
For multi-line input you have two alignment options; they are either left-aligned ( default ) or centered ( press Center ).
The Move button determines whether a label is static or moves as you rotate the other objects.

 Special characters like Å, å or German umlauts (Ä, Ö, Ü, ä, ö and ü) can be inserted by placing a \ (backslash) or ^ (caret) character in front of the standard letters, respectively. The backslash or caret character will disappear from the input field. They are also not visible in the gl_render window, instead the standard letter is used. However, when rendered in povray the text will have the appropriate character at the right place provided that the font you use contains these letters.

Currently there seems to be a problem with single quotes (').
Also if you edit a label for the second time that contained an Angstrøm symbol or any other special character, gl_render will forget that it was a special character and consequently the symbol rendered in POV-Ray or Raster3D will be a regular character !

It is now possible by selecting Use Font3d in Options to render single lines of labels in Font3D instead of using the character rendering capabilities of POV-Ray. All labels will have by default the same color unless the option Use color is selected. Some parameters that determine the bevel type and output format can be selected by the user. If you want to use defaults that have been defined in font3d.def select Use defaults which will deactivate any options.

Lights: There is a maximum of eight light sources that can be turned on and freely placed in object space. Their color can be changed with the slide bars: Ambient, Diffuse and Specular. Each set of four is labeled with I, R, G and B for overall intensity and the red, green and blue channel.
If the light source is a so-called local light source, it can be turned into a Spot Light by narrowing the cone-angle down to a value of less than 90.0 deg. (Values between 90 and 180 deg. are not allowed). A value larger than zero for the spot exponent (denoted with X) enhances the appearance of a spot light which is very bright in the center and whose intensity drops exponentially off with the distance to the center.

      To change the color of a light source make sure that it is On and the option Color is selected. Selecting Visible will generate a sphere that represents the light source. All types of light sources whether they are local or infinite (default) can be placed in the scene. However it only makes sense for local light sources to have a direction.
Select Position to move the light source around and Direction to change the direction of a spot light.
A light source can be static ( default ) or can rotate as the whole scene is rotated so that its relative position to the object is fixed. To do that click on Moving.
Reset will restore the light source to its original position (0, 0, 10) and change it into an infinite light source, but won't change any other parameters (like color etc.).
Find will draw a blue sphere around which a small yellow sphere moves as the position of the light source is changed. This is an indicator for the position of the currently selected light source.
Note that you can rotate a light source around the origin with the dials only when Freeze object from the Image menu is selected.

You have the option to save the current parameters of the light sources or restore previously saved values with the File menu.

Global ambient lighting that will be used in POV-Ray can be adjusted by changing the ambient contribution of light source 0. This remains in effect regardless whether light 0 is turned on or off. To indicate its dual function the label "Ambient" is change to "Global ambient lighting" when you select light source 0.

Since the lighting model in OpenGL with its three separate contributions ( ambient, diffuse and specular ) differs from that in POV-Ray with just one color per light source, only the diffuse contribution of a light source is used in POV-Ray. In other words if you adjust the light source's ambient as well as its specular contribution to enhance the lighting in Gl_render, you will not be able to reproduce the exact same effect in POV-Ray. So ambient and specular lighting is totally ignored with one exception ( see above: Global ambient lighting).

Light attenuation that is actually supported by OpenGL and has its equivalent in POV-Ray has not been implemented in this version of Gl_render.

Clipping planes:
      OpenGL allows the use of another 6 clipping planes. In this implementation a clipping plane is initially horizontal with its normal pointing toward the positive y-axis. Clipping planes can then be oriented and translated with the dials or mouse. To have a visible representation of the plane click on Visible. A filled or striped plane can be chosen by clicking on Filled with either the left or the right mouse button ( left -> filled, right -> striped). Clipping planes can act differently on solid and transparent objects. By default each plane clips both solid and transparent objects: (Clip All is selected ). To clip only solid (non-transparent) objects, click on Clip Solid. If you deselect Clip All and Clip Solid, only transparent objects are clipped.
Placing a clipping plane accurately is possible by selecting a sphere in the scene and clicking on it with the middle mouse button. This will translate the origin vector of the plane to that point. This has however no effect on the current orientation of the plane in space.

Background Color:
      A new background color can be chosen by adjusting the rgb channels with the slide bars while you are in rgb mode. It is also possible to change the color while in HSB mode. To transfer the color to the window, click with the left mouse button on the color field. ( Sorry there is currently no UNDO function to reset the background color to the original value).

View:
      It is possible to store up to 100 different orientation matrices that allow you to quickly switch between orientations during a session. The current matrix is saved by clicking on the "Store" button. For your convenience you can type in the "Text" field a short description otherwise each orientation will be assigned a unique number.

Animate:
      An animation consists of one or more ( up to 250 ) scenes. Each scene can consist of several steps. To create an animation, press "Add". This will set several default values. Now the user is free to modify the scene. The "Scene" input field allows the user to input a short description about the scene which may be easier to remember than just a number. To create a 360 deg rotation of a molecule around the y axis select "Rot." and type in the input field ( addressed wih Y, To ) 360.0. Now change the number of "Steps" to say 10. The "Y, Incr." field will now show 36.0 which is the increment in degrees per step.
Select from the View menu "Quick Preview" and the current molecule will rotate in the window. If you are satisfied with the result you can select "Excecute" from the Run menu. Beginning with the current orientation, Molscript will be executed and gl_render will write input files for POV-Ray. The file names will be derived from the string in the "Root" input field ( default file name is anim_ ). At the end you will have all the input files needed to run POV-Ray. This needs to be done outside of gl_render ( at the moment ).
The following shell script may serve as an example of how to create an animation with POV-Ray using files generated by gl_render:

#! /bin/tcsh
set f = `ls -1 anim_*.pov`
set n = $#f
set i = 1
# POV-Ray options for high quality animation follow:
set POVOPT = " +H400 +W400 +A0.3 +AM2 +J0.0"
# Go through all files in this directory starting with anim_
while ( $i <= $n )
      echo Working on frame $i
      povray +I$f[$i]:r $POVOPT -P >& pov.log
      @ i++
end
# Use ImageMagick's conversion program and then animate the sequence
convert -delay 10 anim*.tga out.gif
# out.gif is a so-called animated gif.
animate out.gif &

Surface color
     This menu allows one to adjust the color of GRASP surfaces according to properties like potential, curvature or distance information - provided that this information was present in the surface file. There is limited support for vertex colors. Colors for three values according to the limit ( minimum, medium, maximum) can be set in RGBA format. RGBA stands for red, green, blue and alpha channel. An alpha value of less than 1.0 makes an object more transparent ( allowed range: 1 = opaque, 0 = fully transparent). By clicking on the labels Min., Mid. and Max. a color editor is popped up to facilitate the selection of the color. Because the recalculation of the colors may take some time, changes may not be reflected immediately. It is therefore necessary to press the "Update" button or the color field of the color editor.


Image(back)

Reload image:
      Gl_render reads the current input file again and resets the orientation matrix.

Antialiasing:
      Gl_render performs an antialiasing operation by averaging 15 images. After that it waits 10 seconds until it accepts further input. You may use this time to capture the image from the screen.

Depthcue:
      To enhance the depth perception, objects farther away from the observer get more background color mixed into their own color.

Wireframe:
      Very large objects like molecular surfaces from GRASP can slow the system down. Therefore, the user has the option to render all objects in wire frame mode where only the outline of triangles are drawn. Spheres and cylinders are drawn as dots and lines respectively.

High resolution:
      High resolution mode can slow the system down which is why it is not the default. However, when turned on, spheres and cylinders are drawn with a very high number of facets to make them look smooth. Also colors are much more frequently updated in this mode which leads to more smoothly shaded surfaces - but again at the expense of performance.

Hide transparent:
This allows you to turn off the rendition of transparent objects.

Show bounding box:
      Draws a rectangular box around the object. Not very useful. Maybe more so with Wireframe active.

Freeze object:
      Once you have found the right orientation but still need to play around with the light sources or add some labels, it it desirable to freeze the rotation / translation of the objects so that they cannot be moved accidentally. Freeze object effects only the objects you have read in. Labels, light sources and clipping planes can still be moved.


Tools

Selecting Show process tools will show a tool bar with the following items:

  1. Write matrix file to the disk.
  2. Run MolScript.
  3. Show a browser with output from MolScript.
  4. Write POV-Ray files to the disk.
  5. Write POV-Ray files to the disk and run POV-Ray when clicked with the left mouse button. Just run POV-Ray without prior saving any files, when clicked with the right mouse button.
  6. Write Raster3D files to the disk.
  7. Write Raster3D files to the disk and run render when clicked with the left mouse button. Just run render without prior saving any files, when clicked with right mouse button.
  8. Display a multi-line browser to kill processes. It can also be used to stop animations.

Window

      This menu allows you to iconize and de-iconize the graphic window. Note that if you use the button Minimize Window and then raise the window by clicking on the icon, gl_render will most likely be inactive. Use Raise Window to activate it.


Help

This will launch Netscape and display this help.
Balloons are drawn to give you information about he function of the tool bar buttons. This can be activated or deactivated with Hide/Show balloons.
Selecting Statistics will bring up a multiline browser with some self-explanatory statistical data.


Dial and Mouse Functions

      The dials respond by default the way they work in O. However, the user has the option to select a dial response corresponding to that in GRASP, InsightII or Rasmol. The dial response is changed in File Preferences.

      Objects can also be rotated by moving the mouse pointer inside the window and pressing and holding the left mouse button.
      To change the position or direction of labels, light sources and clipping planes you need to move the mouse while the left mouse button is pressed.
The selection of a sphere (as an anchor for labels or clipping planes) is done by pointing with the mouse arrow at it and pressing the left mouse button.
A label is selected by clicking on the lower left corner with the left mouse button. In case of multi-line labels, you need to click on the lower left corner of the first line.
It is now possible to select an area consisting of cylinders ( like electron density ) from within the Text menu.


Useful Hints

1) For each project, create a new directory !

2) Write out the Material.inc and Txtr.inc file and keep this copy in your current directory !

3) Create input for MolScript with rasmol:

<unix> rasmol 1crn.pdb
RasMol> write molscript 1crn_org.in
RasMol> quit
<unix> sortmol 1crn_org.in > 1crn.in

Although rasmol creates completely legal MolScript input, the drawing of the secondary structure proceeds as given by the structure. However it is more convenient to have the secondary structure sorted by helix, strand, coil and turn because in MolScript the same color variables apply for all secondary structure elements. The program sortmol will sort the secondary structure by type.

One can also use MolAuto to create input for MolScript.

4) Other programs that generate Raster3D-style input  (to my knowledge): Spock, VMD, XtalView
So far I have tested only VMD. Gl_render takes the output without problems. It produces nice results with surfaces, less so with secondary structure representations.

5) To render a high quality image with POV-Ray use :

povray +I<file> +O<output file> +A0.2 +AM2 +J1.0 +H1200 +W1200 >& pov.log &

<file> = input file, usually <something>.pov; <output file> = any output filename. The extension is .tga. This produces a file that can be opened directly in Photoshop and has a resolution of 300 dpi for a 4x4" or 150 for a 8x8" final image size.
It is usually preferable to run POV-Ray from outside of gl_render as a POV-Ray job may take several hours. This is not to say that it cannot be done in gl_render. As a matter of fact, gl_render submits POV-Ray jobs in the background and is immediately active afterwards but there may be a chance that by killing gl_render any submitted background job gets killed as well.

6) Visit the gallery for inspiration.

7) The author is happy to answer any questions you might have : e-mail.


Installation

In order to make full use of all option provided by gl_render, the following programs should already be on your system:

Run the script check_config.csh to check your configuration and to get help for the installation of these programs. (Look at your check_config.log; look at an example)
In short: These are the files you need: Set the environment variable GL_RENDER_PATH to the directory where gl_render resides.

Example:

setenv GL_RENDER_PATH /usr/local/progs/gl_render

Availability: SGI Irix 5.3 (or higher). DEC-Alpha. Linux. Download. (Version 0.7 7/9/99)

Gl_render comes as an executable (and Html documentation) in form of a compressed tar file. (In the future the source code will also be available.)

The gl_render GUI is based on xforms v0.88. In addition to that gl_render makes use of OpenGL, GLUT and the shared library libGLC.so. While mol_ras should run fine on any SGI (Irix 5.3 or 6.2), gl_render requires that libGLC.so is installed on your system. This library is relatively new and may therefore only be found on the new Irix 6.2 systems. This library has not yet been ported to Digital Unix so that the real-time rendering of labels is severely impaired. This has some effect on the text part of the POV-Ray input. (In the near future this restriction will be removed).


Changes:

With the introduction of macros in POV-Ray 3.1, there will be some changes in the treatment of textures. It will be much more efficient to deal with complex textures and color schemes. I anticipate major changes in Txtr.inc and some in Material.inc. The current version 0.3 still supports POV-Ray 3.02 but it is likely that the next version will only work with POV-Ray version 3.1.


File formats:

Disclaimer

The program is provided "as is" without any kind of warranty expressed or implied. In no event shall the author, UTSW or HHMI, Dallas be liable for any damages this software might cause directly or indirectly. Do not distribute this software without my knowledge.


Known Bugs

Acknowledgement

The author wishes to express thanks to those who have contributed to the development of gl_render by testing it during the "alpha" phase and by making useful suggestions.

Font3D was developed by Todd A. Prater and the lens flare effects as well as the texture mapping that allows the assignment of different colors to the three vertices of a triangle is based on work done by Chris Colefax. I'd like to explicitly acknowledge their work.

Some inspiration to work with the raytracing programs like POV-Ray and Rayshade came to me when I used Dr. Peisach's programs povscript and rayscript.

Special thanks to Prof. Dr. Johann Deisenhofer who allowed me to pursue the development of gl_render.


References:

Gl_render has not yet been published. If you should use it to prepare figures for publications please contact me :

Lothar Esser 10/9/1998
University of Texas, Southwestern Medical Center and the
Howard Hughes Medical Institute at Dallas
5323 Harry Hines Blvd.
Dallas, TX, 75235-9050