Information Technology Reference
In-Depth Information
correlation markers helped to distinguish markers on the front-face
of the sphere.
x
Tumbling : The slow auto-rotation gave a new problem. Initially
the axis of rotation was arbitrarily set to vertical, and perception
was of a spinning sphere. However, after the sphere was rotated by
the user to a new arbitrary orientation, the auto-rotation axis also
moved to the new orientation, creating a sphere that appeared to be
rolling or tumbling, which was perceived as disconcerting. A
vertical axis of auto-rotation was implemented and seemed to be
more agreeable.
x
Navigation model : Initially, a 3D orbit camera was implemented,
but due to a sphere's lack of an obvious up axis, the virtual
trackball was settled on.
x
Flip view : Easily flipping the scene to view the reverse side of the
sphere was important for correlation analysis, but users
experimenting with virtual trackballs needed more than a single
click-and-drag operation to complete this task, resulting in potential
confusion. A simple “flip” button was preferred. To help users
maintain context, the flip was performed using a smooth animation.
x
Internal viewpoint : The mouse wheel enabled zooming into the
sphere. The application was not designed for internal view and had
issues with navigation, clipping planes, etc., when viewed from the
inside out.
Technical challenges of sphere visualizations
To be broadly accessible, it was decided to implement the sphere
experiments using web-browser based technology, specifically WebGL.
WebGL enables the JavaScript programming language to generate
interactive 3D content in a supported web browser. WebGL is a subset of
OpenGL and has additional limitations of JavaScript, i.e. a run-time
interpreted, loosely typed language that typically has slower performance
compared to compiled languages such as C++. Maximizing WebGL's
performance required geometry optimization, which introduced issues
with selection highlighting. Labels and tooltips were implemented as
HTML text layered above the WebGL canvas.
As WebGL does not provide immediate mode rendering, fully
leveraging client-side 3D graphics hardware required optimal use of vertex
buffers. An initial data-centric approach of creating one vertex buffer for
each graph node resulted in poor performance, while placing the entire
dataset in one vertex buffer overwhelmed various consumer-grade
graphics drivers. A balance of performance and reliability was achieved by
Search WWH ::




Custom Search