The code MD_render
The pictures are results of the
MD_render code (Int. J. Mod. Phys. C, 15, (2004), Large-Scale Molecular-Dynamics
Simulation of 19 Billion particles by K. Kadau, T.C. Germann, and P.S. Lomdahl).
The program renders spheres, cylinders, and arrows in a perspective manner.
Utilization of the Message Passing Interface for parallel processing of the
rendering process, with almost 100% efficiency, allows to render several
millions of objects in a timely fashion. Due to a pre-sorting of objects
the computational wall-clock time is under-proportional to the number of
objects. Two light sources can be positioned and the spheres can generate
shadows on all other objects (solid walls can also be positioned). Due to
the pre-sorting of objects, the shadow-calculation wall-clock time rises
slower than the square of the number of objects (which is the scaling for
a brute force shadow calculation). The resulting picture has no limited pixel
resolution with a 24 bit color-depth (approx 17 million colors), and can
be written directly into a picture file. The user can specify different levels
of anti-aliasing. The implementation can be done on every platform having
an ANSI-C compiler, no graphic libraries are needed, since the code implements
its own graphic functions. Large-scale simulations, in particular massive-parallel
molecular-dynamics (MD), as for example represented by the SPaSM code, need to visualize
a large number of objects like spheres or cylinders. While, there is a number
of comercial and non-comercial software to fullfill that need, most of this
software depends on specific graphics libraries and run only in a single-processor
mode. The purpose of the code presented here, is to fill this gap, since
the code is fully parallel and does not depend on any graphic-labraries,
hence it is easy to install even on parallel machines.
By the way, the pictures and movies
on the molecular-dynamics
simulations movie page are
rendered using a prototype version of that code. You can download
a document about the code in pdf (17MB) here)
The first row shows the different light-contributions
(from left to right): The emission-component (the only difference between
emission and ambient is the influence of the ambient light source), the diffusive
component, and the specular component add up the whole intensity (right).
The second row demonstrates the effect of the light source position. The
third row shows the influence of the shininess parameter (Mshi=1, 10, 100,
1000 (left to right)). The last row illustrates a second light-source with
different color-components (white, red, green, yellow (left to right)).
The effect of anti-aliasing: The
left scene was rendered without any anti-aliasing. For the right scene anti-aliasing
was applied. The scene was rendered with spheres creating shadows. Anti-aliasing
is especially important when objects consist of straight lines.
Example: The effect of multiple light sources and walls
Example: radial component of T2g mode of fcc
Example: 400 hundred Ising spins relaxing from an unordered state
Example: some more walls and shadows ...
Example: Cylinders in outer space
Example: 64,000 atoms arranged in the A11 Ga ground state structure (dimers are shown) creating shadows on each other
Example: 1,000,000 atoms arranged in the A11 structure
Example: Bond-structure of 64,000 atoms (32,000 bonds)
Example: Shadows on clustered spheres