2
VR 2012 Tutorial proposal Contact: William R. Sherman ([email protected] ) Title: An indepth introduction to virtual reality programming Length: Full day Brief Description: This tutorial introduces basic programming concepts particular to virtual reality. The presentation progresses stepbystep from a very simple world with no interactions (apart from physical immersion), and continues to add features related to 3D user interfaces, interactive rendering and interesting ways to travel through virtual worlds. The presentation includes the opportunity for audience members to follow along with software on their laptops, though the tutorial will also be valuable for those who wish to expressly follow the lectures. No prior VR programming experience is required, and while the examples will be based on OpenGL, no prior OpenGL knowledge is required. With the focus of the tutorial specifically on VR techniques, early examples begin with very simple OpenGL objects. More complex objects are enabled through interfacing with scene graph libraries such as OpenSceneGraph. Some moderately advanced OpenGL features such as billboarding, clipping planes and shaders are used, but presented in a clear and simple manner that does not require foreknowledge. Examples are in fundamental C/C++ style, so users of any procedural language should be able to readily follow the progress. After the introduction, we will spend about 30 minutes allowing those who wish to follow along handson to install and setup their systems. The software will work under OSX, Linux and Cygwin. Software can be downloaded or read from USBsticks provided by the lecturer. Those interested in using Cygwin should come with it pre installed (this will be mentioned in the published tutorial description). Additionally, the published description will suggest that users can bring game controllers or spaceball/mouse devices to enhance the experience. Once all handson participants are ready to move forward, we will jump in with the simple applications and continue to build up to virtual worlds with interesting objects, interesting interactions, travel and virtual controls. Topics include: Overview of VR integration libraries Setup of laptops for participants who want to follow along handson Simple manipulations in a virtual world Travel and navigation through the virtual world

[IEEE 2012 IEEE Virtual Reality (VR) - Costa Mesa, CA, USA (2012.03.4-2012.03.8)] 2012 IEEE Virtual Reality (VR) - VR 2012 tutorial proposal title: An in-depth introduction to virtual

Embed Size (px)

Citation preview

Page 1: [IEEE 2012 IEEE Virtual Reality (VR) - Costa Mesa, CA, USA (2012.03.4-2012.03.8)] 2012 IEEE Virtual Reality (VR) - VR 2012 tutorial proposal title: An in-depth introduction to virtual

VR  2012  Tutorial  proposal    Contact:  William  R.  Sherman  ([email protected])    Title:  An  in-­‐depth  introduction  to  virtual  reality  programming    Length:  Full  day    Brief  Description:    This  tutorial  introduces  basic  programming  concepts  particular  to  virtual  reality.    The  presentation  progresses  step-­‐by-­‐step  from  a  very  simple  world  with  no  interactions  (apart  from  physical  immersion),  and  continues  to  add  features  related  to  3D  user  interfaces,  interactive  rendering  and  interesting  ways  to  travel  through  virtual  worlds.    The  presentation  includes  the  opportunity  for  audience  members  to  follow  along  with  software  on  their  laptops,  though  the  tutorial  will  also  be  valuable  for  those  who  wish  to  expressly  follow  the  lectures.    No  prior  VR  programming  experience  is  required,  and  while  the  examples  will  be  based  on  OpenGL,  no  prior  OpenGL  knowledge  is  required.    With  the  focus  of  the  tutorial  specifically  on  VR  techniques,  early  examples  begin  with  very  simple  OpenGL  objects.    More  complex  objects  are  enabled  through  interfacing  with  scene-­‐graph  libraries  such  as  OpenSceneGraph.    Some  moderately  advanced  OpenGL  features  such  as  billboarding,  clipping  planes  and  shaders  are  used,  but  presented  in  a  clear  and  simple  manner  that  does  not  require  foreknowledge.    Examples  are  in  fundamental  C/C++  style,  so  users  of  any  procedural  language  should  be  able  to  readily  follow  the  progress.    After  the  introduction,  we  will  spend  about  30  minutes  allowing  those  who  wish  to  follow  along  hands-­‐on  to  install  and  setup  their  systems.    The  software  will  work  under  OSX,  Linux  and  Cygwin.    Software  can  be  downloaded  or  read  from  USB-­‐sticks  provided  by  the  lecturer.    Those  interested  in  using  Cygwin  should  come  with  it  pre-­‐installed  (this  will  be  mentioned  in  the  published  tutorial  description).  Additionally,  the  published  description  will  suggest  that  users  can  bring  game  controllers  or  space-­‐ball/mouse  devices  to  enhance  the  experience.    Once  all  hands-­‐on  participants  are  ready  to  move  forward,  we  will  jump  in  with  the  simple  applications  and  continue  to  build  up  to  virtual  worlds  with  interesting  objects,  interesting  interactions,  travel  and  virtual  controls.    Topics  include:  

• Overview  of  VR  integration  libraries  • Setup  of  laptops  for  participants  who  want  to  follow  along  hands-­‐on  • Simple  manipulations  in  a  virtual  world  • Travel  and  navigation  through  the  virtual  world  

Page 2: [IEEE 2012 IEEE Virtual Reality (VR) - Costa Mesa, CA, USA (2012.03.4-2012.03.8)] 2012 IEEE Virtual Reality (VR) - VR 2012 tutorial proposal title: An in-depth introduction to virtual

• Adding  complexity  to  the  virtual  world  • Virtual  widgets  in  the  virtual  world  • Working  with  shaders,  clipping  planes  and  other  graphics  techniques  • Interfacing  with  open-­‐source  scene-­‐graph  libraries  • Interfacing  with  open-­‐source  sound  libraries  • Interfacing  with  open-­‐source  physics  libraries  • How  to  create  a  simple  low-­‐cost  VR  system  

 Each  topic  will  take  approximately  30  minutes  (60  minutes  for  the  low-­‐cost  VR  topic).    Technical  level  of  the  intended  audience:  Beginner     This  tutorial  is  for  people  interested  in  getting  started  with  virtual  reality  programming,  and  does  not  require  advanced  knowledge  of  any  graphics  library  or  scene-­‐graph  library.    Basic  programming  skills  in  any  procedural  language  will  be  expected.    Expected  value  to  the  audience:     Attendees  will  be  able  to  go  from  little-­‐to-­‐no  knowledge  in  programming  virtual  reality  experiences  to  having  a  good  grasp  of  the  basics,  plus  a  feeling  for  how  more  advanced  techniques  fit  within  the  model.    Instructor:    William  R.  Sherman     Sherman  has  over  20  years  experience  in  the  field  of  computer  graphics,  and  visualization,  with  a  focus  on  virtual  reality  interfaces  over  the  past  19  years.    He  is  co-­‐author  of  two  books  on  virtual  reality  (Understanding  Virtual  Reality  and  Developing  Virtual  Reality  Applications),  and  has  taught  several  semester  courses  on  virtual  reality  at  the  University  of  Illinois  and  the  University  of  Nevada,  as  well  as  lectured  on  virtual  reality  programming  for  courses  at  Old  Dominion  University  and  Vassar  College.    Sherman  was  the  VR  Impresario  at  the  National  Center  for  Supercomputing  Applications  for  twelve  years.    Following  that  he  spent  five  years  leading  the  effort  to  build  a  new  visualization  and  virtual  reality  facility  at  the  Desert  Research  Institute  in  Reno  Nevada.    This  facility  included  a  4-­‐sided  FLEX  CAVE,  a  high-­‐resolution  6-­‐sided  CAVE-­‐like  display,  as  well  as  low-­‐cost  VR  displays.    He  currently  is  the  Senior  Technology  Advisor  for  the  Advanced  Visualization  Lab  at  the  Pervasive  Technology  Institute  of  Indiana  University.    He  was  also  the  program  chair,  chair  and  senior  chair  of  the  IEEE  VR  2007,  2008,  and  2009  conferences  respectively.    Past  presentations:     This  tutorial  was  presented  at  IEEE  VR  2011,  with  good  attendance  even  while  competing  with  3  other  tutorials,  keynotes  in  a  side  symposium  as  well  as  3DUI.    This  year’s  effort  has  enhancements  based  on  the  2011  tutorial.    It  builds  on  material  distilled  from  courses  taught  at  the  University  of  Illinois,  University  of  Nevada  and  Old  Dominion  University.