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.
Study the examples ! Note that they all contain
the statement : transform atom * by rotation @new_view.in ;
Features: Index: Quick start:
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.
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.
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.
Upon selecting Run Povray (update) for the first time, the following povray input files are 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.
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.
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 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.
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.
Selecting Show process tools will show a tool bar with the following items:
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.
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.
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.
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.
In order to make full use of all option provided by gl_render, the following programs should already be on your system:
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).
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.
3
*
*
*
(Do not substitute * with format statements !).
Gl_render recognizes the following standard Raster3d objects:
Material.inc contains POV-Ray 3.0 style material definitions. A graphical representation of a macro molecule is noting more than a bunch of triangles, spheres and cylinders (primitives). Although, say, each triangle has its own color, it shares some common properties with all other triangles. There are several predefined properties that effect the appearance of the graphic primitve:
Txtr.inc is only important if the user wishes to uses "Complex textures"
or depthcuing. It is not necessary to modify this file.
Note: Material.inc and Txtr.inc
are likely to be changed from version to version. Be sure to work with
the current version of these files, i.e. in case of doubt write out the
default textures that come with gl_render.
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.
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.
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.
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