Molecular Visualization
Paper: "Ambient Occlusion and Edge Cueing to Enhance Real Time Molecular Visualization" by Tarini et al.
Implementation by Florian Groh (1168186) and Sascha Wiplinger (0702060)
Implemented Techniques:
- 2D Impostor of 3D Spheres:
Massive reduction of data, every sphere only needs 4 vertices and a position in world space as its representation.
Correct position and depth are calculated in the fragment shader.
- Ambient Occlusion:
To calculate proper ambient occlusion terms, the scene is rendered from up to 256 uniformly distributed directions
in a preprocess step in order to determine visibility from those directions.
These visibility terms are factored in during final rendering.
- Depth aware contours:
For this effect, fragments, that are right outside the sphere are assigned an edge color (black)
as well as pushed back towards to far clipping plane of the current camera.
This way, atoms which are far in front of other atoms get thicker edges.
Implementation Overview:
- Javascript
- WebGL
- three.js
- jQuery
- dat.GUI
- Our Own PDB reader
Go to Documentation Page
Go to Program