intercept tags enhancing intercept-based...

21
Intercept Tags Enhancing Intercept-based Systems David J. Zielinski Regis Kopper Ryan P. McMahan Wenjie Lu Silvia Ferrari

Upload: others

Post on 19-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Intercept TagsEnhancing Intercept-based Systems

David J. Zielinski Regis Kopper Ryan P. McMahanWenjie Lu Silvia Ferrari

Page 2: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Virtual Reality Experience

Desktop Computer Application

Intercept Technique

Background: Virtual Reality Sofware

Custom Virtual Reality Software

Virtual Reality Experience

Page 3: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Intercept Case

Standard Case

Intercept Technique Example

Drawing Command (e.g. “draw a triangle”)

Graphics Driver (opengl32.dll)

Graphics Driver (opengl32.dll)

Intercept Driver (new opengl32.dll)

Drawing Command (e.g. “draw a triangle”)

Page 4: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Existing Intercept Systems

Name DescriptionTechviz Commercial software

Conduit from Mechdyne

Commercial software

Chromium,WireGL

Open-source project

ML2VR Open-source framework focused on MATLAB. Presented as a poster at IEEE VR 2013.

Page 5: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Intercept System Challenges

Drawing Command(e.g. “draw a triangle”)

Desktop Application(e.g. MATLAB)

Data: User’s hand position, orientation, buttons.

(1) complex realistic simulations take time to compute and will cause low frame rates

(2) large scenes, with lots of objects, take time to send over ethernet, leading to low frame rates

● There are some bottlenecks in our system

our special opengl32.dll

Page 6: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Why is Low Frame Rate Bad?

Interaction Latency

SimulatorSickness

● Nausea● Headache● Dizziness

● frustration, confusion● undershoot, overshoot

and miss target● repeat action (multiple

button presses) when getting no response

Page 7: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Motivation: Improving commonly used “Virtual Hand” Interaction Technique

our special opengl32.dll

Desktop Application VR Application (fast)

slow?

slow?

● Opportunity: The VR Application runs at a fast frame rate

● What if we could have the VR Application take control for the Virtual Hand?

Page 8: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Our Solution: Intercept Tags

MATLAB:

draw_cubedraw_cube2

intercept_tag draw_sphereintercept_tag

draw_cube3draw_cube4

● Specific geometry calls● Chosen to not appear in scene● Interpreted, not rendered

ML2VR:

draw_cubedraw_cube2

load V-Hand transform draw_sphereunload transform

draw_cube3draw_cube4

draw_cubedraw_cube2

draw_triangle(0,0..) draw_spheredraw_triangle(0,0..)

draw_cube3draw_cube4

Page 9: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Hand-Off Manipulation. Step by Step.

intercept driver

Desktop Application VR Application

draw_cube

draw_sphere

intercept driver

Desktop Application

draw_cube<intercept tag> draw_sphere<intercept tag>

user presses and holds button

intercept driver

Desktop Application

draw_cube<intercept tag> draw_sphere<intercept tag>

intercept driver

Desktop Application

draw_cube

draw_sphere user releases button

1.

2.

3.

4.

VR Application

VR Application

VR Application

Page 10: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Hand-Off Techniques

(1) Hand-Off Manipulation previously discussed

(2) Hand-Off Slice Planesmoothly move slice plane which affects only certain objects, even if desktop is at low frame rate.

Page 11: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Display Techniques

(1) Display ListsWe can specify sections of static (unchanging) geometry, and thus avoid transferring it each frame.

(2) Level Of DetailWe can use the tags to specify multiple representations of the object (with varying polygon-count).

draw_moving_sphere <dl_intercept_tag> draw_static_cube(1...100) <dl_intercept_tag>

Page 12: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Visual Enhancements

(1) Interpolated Animations

(2) Advanced Shader Insertion

vertex shaded vs per pixel

Page 13: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Hand-Off Manipulation User Study

● place a solid cube completely inside a wireframe cube● varying sizes of wireframe cube (10%,20%,40%) ● within subjects design

○ hand-off manipulation vs original virtual hand○ 54 + 54 = 108 total tasks

Page 14: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

User Study Setup

● Six-sided CAVE-type display. Active stereo glasses● Tracking provided by Intersense IS-900● MATLAB script with framework/interception by ML2VR● 14 unpaid subjects

Page 15: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Time Analysis

● Hand-off manipulation always significantly faster● Significant Interaction effect was found

○ harder the task, better hand-off manipulation○ easier the task, less benefit found

Page 16: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Clutch Analysis

● Hand-off manipulation caused significantly fewer clutches● Smaller targets required significantly more clutches● No significant interaction effect

○ Possibly due to small sample size

Page 17: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Questionnaire Analysis● Usability Questionaire (SUS)

“I think that I would like to use this interaction system frequently.”● Sickness Questionaire (SSQ)

“Fatigue, Headache, Sweating, Nausea, Dizziness, Eyestrain”● Presence Questionare (SUS)

“Rate your sense of being in the room with the cubes.”

Interaction Usability Sickness Presence

Hand-Off

Traditional

Page 18: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Limitations:

● Techniques apply only to intercept based systems.

● Tags need to enclose geometry. (May not function in higher order desktop applications that re-order geometry calls).

Page 19: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Contributions:● Proposed the concept of intercept tags ● Proposed ideas for hand-off techniques,

display techniques, and visual enhancements

● Implemented the hand-off techniques for use in ML2VR.

● Conducted a user study of the benefits of using intercept tags for hand off manipulation.

Page 20: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Future Work (Features implemented in ML2VR)

hand-off techniques

display techniques

visual enhancements

Page 21: Intercept Tags Enhancing Intercept-based Systemspeople.duke.edu/~djzielin//slides/Intercept_Slides.pdf · (e.g. “draw a triangle”) Desktop Application (e.g. MATLAB) Data: User’s

Thank You!

Questions?

[email protected]:

National Science Foundation.IGERT Grant No. DGE-1068871.