We address the problems of the users' experience with real-time transparency, real-time motion blur, and real-time defocusing (e.g., per-object depth-of-field effects). Although all of these effects take more time to render, usually requiring multiple rendering passes, they can still be done by standard 3D graphics libraries and accelerators quickly enough to maintain the frame rate required by a VR application.
In the Macintosh Finder  the user clicks on an icon, and as she drags the icon across the screen, an outline of the icon (or a transparent copy in more recent versions) follows the pointer. When the user "drops" the icon, the transparent version becomes opaque and the old opaque version disappears.
Similarly, transparency can be used when manipulating a shared object whose lock has not yet been acquired. Two copies of the object are used, one that follows the user's manipulations and one that remains where the object will be if the lock fails (see color plate, left). Both objects are drawn transparent, indicating that both are tentative. If the lock is acquired, the copy the user is manipulating becomes solid and the other copy fades out (see color plate, bottom right). If the lock is not acquired, the copy the user is manipulating fades out while the other copy becomes solid (see color plate, top right). We call this technique "ghost locking".
Ghost locking makes the user aware of many aspects of manipulating a shared object in a networked environment. The user has an immediate response to her actions, affording a feeling of control over the environment. She also sees immediately that lag is occurring, because of the appearance of a "partial" or transparent object. Finally, fading out the copy that lost the lock gives the user time to understand the changed state of the manipulated object.
This effect can be customized by varying levels of opacity in either the grabbed object or the original object, depending on outside knowledge about the state of the lock or the likelihood that the lock will be taken successfully. For example, a lock is more likely to fail for a highly contended object. In this case, the grabbed object can be more transparent, while the remaining object is more opaque, showing the user the likely results of trying to grab a highly contended object.
Ghost locking can further be customized by only having the "ghost" copy, with no copy at the original location. This may make sense when the expected lag is short and the user probably will not move the ghost far from the original location (or acquiring the lock is very likely). Ghost locking with no original copy lessens clutter, but removes the reference to the original location. Without this reference object, lock denial may be more disruptive.
When an object is manipulated, motion blur can be used to show that the motion is a continuous path, even when network updates are late in arriving (in which situation many VR applications discard all but the latest update). Motion blur can similarly be used when correcting an object that has moved to an incorrect position because of dead reckoning.
A blur effect using the real-time motion blur effect can be integrated with ghost locking. The grabbed object can be blurred back to its original (producing a taffy-like look), until the lock is acquired, when the original blurs to the manipulated position. If the lock is not acquired, the "taffy" snaps back into its original position.
Defocusing can be applied in all situations when unknown delays are occurring. When a response is expected from an object (or an avatar) and none is forthcoming, the object that should be responding can be defocused. Note that this integrates nicely with earlier work, such as dead-reckoning - an object may be moving under dead-reckoning for too long, providing too much error. A blurry moving object tells the user that the object's position may in fact not be correct.
Objects can be defocused more as more delays occur. Eventually, a non-responsive object can fade out entirely. When integrated with motion blurring and transparency manipulation, defocusing can inform a participant when unantic ipated delays are occurring and how severe the delays are. This provides a participant with information about when an avatar or object is non-responsive, as opposed to unchanging.