next up previous contents index
Next: Surf Up: Rendering methods Previous: Twister   Contents   Index


The `QuickSurf' representation computes an isosurface extracted from a volumetric Gaussian density map computed from atoms or particles in the neighborhood of each lattice point. The density map generation algorithm accumulates Gaussian densities on a uniformly-spaced 3-D lattice defined within a bounding box large enough to contain all of the atoms or particles that are selected as part of the rendered surface; sufficient padding at the edges of the volume ensures that the extracted surface is not clipped off. The density map generation algorithm satisfies
= \sum_{i=1}^{N} e^\frac{-\vert\vec{r}-\vec{r}_{i}\vert^2}{2 \alpha^2},
\end{displaymath} (6.1)

where the density $\rho$ is evaluated at a position $\vec{r}$ by summing over all $N$ atoms. Each atom $i$ is located at position $\vec{r}_i$ and has an associated weighting factor $\alpha$ which is determined by multiplying its radius with user-defined weighting and scaling factors that customize the visualization to produce a surface with an appropriate user-defined level of detail.

The QuickSurf representation includes several controls which modify the parameters of Eq. 6.1 to produce a surface that meets the required spatial fidelity and interactive rendering performance.

Several factors influence the interactive calculation and display performance of the QuickSurf representation. The CPU version of the QuickSurf algorithm is multithreaded, but due to the potential for significant memory usage associated with CPU core, the number of CPU cores used by the algorithm may be clamped to a maximum of eight, and for density map volumes approaching 1GB in size, or larger, the algorithm may reduce the number of CPU cores used to four or less to prevent out-of-memory conditions from occuring at runtime.

On machines equipped with appropriate GPU hardware, the QuickSurf representation will use a GPU-accelerated implementation that runs one to two orders of magnitude faster than the CPU version. The speed of the GPU algorithm is somewhat dependent on the memory capacity of the target GPUs, since density maps larger than the capacity of the GPU must be computed in multiple passes.

next up previous contents index
Next: Surf Up: Rendering methods Previous: Twister   Contents   Index