3D on the Web in 2011

1,117 views

Published on

Published in: Technology, Art & Photos
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,117
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

3D on the Web in 2011

  1. 1. 3D on the Web in 2011<br />Chad Austin<br />Technical Director, IMVU<br />
  2. 2. Who is Chad?<br />Iowa State, 2005<br />M.S. Human Computer Interaction<br />Renaissance, a functional shading language<br />IMVU, 2005-Present<br />
  3. 3. What is IMVU?<br />Mass market 3D<br />World’s largest virtual catalog: 6 million items<br /> 7000 new items every day<br />50 million registered users<br />50,000 of which created content in last month<br />Downloadable client...<br />
  4. 4. IMVU likes 3D, so what?<br />Tasteful, responsive UI<br />Transitions<br />60 Hz animation<br />GPGPU<br />Harness local processing power from web pages<br />
  5. 5. Today’s Agenda<br />GPUs<br />WebGL<br />Flash 11<br />Unity3D<br />Silverlight 5<br />Native Client<br />Trends and Unsolved Problems<br />
  6. 6. Caveat<br />New and changing<br />Can you teach me?<br />
  7. 7. GPU<br />
  8. 8. Graphics Processors<br />Vector math accelerators external to CPU<br />Often with separate memory<br />~Every computer has a GPU in some form<br />Limited API access<br />Direct3D & OpenGL<br />Starting to see OpenCL, CUDA, DirectCompute…<br />Wildly different internal architectures<br />
  9. 9. History of Consumer 3D<br /><1999: OpenGL, Direct3D, niche APIs<br />2000: Direct3D 7 – “fixed function”, multitexturing<br />2001:Direct3D 8 – limited programmability<br />2003: Direct3D 9 – general programmability<br />2011: finally on the web!<br />
  10. 10. Modern GPUs<br />Buffers of data…<br />textures, vertex arrays<br />… and code that runs on them<br />Vertex shaders, pixel shaders<br />
  11. 11. Modern GPUs (con’t)<br />
  12. 12. Shaders<br />Small programs:<br />Input:<br />Vertex attributes<br />Textures<br />Output:<br />Pixels on screen<br />Syntax varies across platforms <br />But same basic functionality<br />
  13. 13. Today’s Market<br />Unity hardware survey<br />Steam hardware survey<br />IMVU experiences<br />
  14. 14. Today’s Market (con’t)<br />shader model 2.0!<br />8 textures<br />8 vec4f vertex attributes (wish it were 16…)<br />decent number of shader instructions<br />
  15. 15. What’s missing?<br />Vertex texture fetch<br />Geometry shaders<br />Gamma?<br />
  16. 16. Survey<br />
  17. 17. WebGL<br />
  18. 18. WebGL<br />JavaScript access to OpenGL ES 2.0<br />Fully programmable<br />Composites into HTML on page<br />
  19. 19. WebGL Demos<br />http://www.nihilogic.dk/labs/worlds_of_webgl/<br />http://o3d.googlecode.com/svn/trunk/samples_webgl/o3d-webgl-samples/pool.html<br />http://www.ro.me/<br />
  20. 20. WebGL, con’t<br />Uses ANGLE on Windows<br />Hardware and driver blacklist<br />
  21. 21. WebGL Unsolved Problems<br />No Safari (yet)<br />No iOS(yet)<br />Device ubiquity?<br />Example: GMA 950<br />Content storage<br />Fullscreen<br />Input handling<br />
  22. 22. Flash 11<br />
  23. 23. Flash 11<br />Stage3D<br />Exposes GPU capabilities to ActionScript<br />Custom shader language: AGAL<br />
  24. 24. AGAL example<br />http://pixelante.com/index.php?b=ambient_and_color_lighting_molehill_agal_flash_tutorial<br />
  25. 25. Flash 11 Demos<br />http://alternativaplatform.com/en/demos/maxracer/<br />http://molehill.zombietycoon.com/<br />
  26. 26. Flash 11, con’t<br />Expect widespread deployment<br />Automatic software fallback<br />Driver blacklist<br />GPU not capable of shaders<br />Windowless?<br />
  27. 27. Flash 11 Downsides<br />ActionScript<br />Low shader limits<br />8 vertex attributes<br />8 temporaries<br />no vertex texture fetch<br />Mobile...?<br />
  28. 28. Unity3D<br />
  29. 29. Unity3D<br />Web plugin, iOS, Wii, PlayStation 3, Xbox 360<br />Custom graphics engine<br />Built-in visual effects<br />Scene graph<br />Art pipeline<br />Built-in asset store<br />Runs on older hardware if necessary<br />
  30. 30. Unity3D demo<br />http://unity3d.com/gallery/live-demos/tropical-paradise<br />
  31. 31. Unity3D downsides<br />No windowless mode<br />Commercial software<br />No Linux<br />Requires plug-in (10% installed, 70% install rate)<br />Does not fully expose hardware<br />
  32. 32. Silverlight<br />
  33. 33. Silverlight 5<br />Integration with XNA 4<br />Limited to “Reach” profile, shader model 2.0<br />Demo: http://www.youtube.com/watch?v=RDIeijJkV14<br />
  34. 34. Native Client<br />
  35. 35. Native Client<br />Google’s in-browser, secure native code engine<br />Available in Chrome today<br />Write programs in C++, run them on the web<br />Exposes OpenGL ES 2.0 if supported<br />Remember ANGLE?<br />
  36. 36. Native Client Downsides<br />No cross-browser plans<br />Teething pains<br />
  37. 37. Trends & Open Questions<br />
  38. 38. Betting time!<br />Short-term: Flash 11<br />Long-term: WebGL<br />
  39. 39. Security<br />3D drivers suck<br />Rarely updated<br />Crashes<br />Security problems<br />3D on the web exposes all of the above<br />Driver blacklists<br />Important: this is a solvable problem<br />
  40. 40. Trends<br />3D is here to stay<br />I expect a killer app Very Soon Now<br />
  41. 41. Thank you! Questions?<br />chad@imvu.com<br />@chadaustin<br />http://engineering.imvu.com<br />We’re hiring!<br />http://www.imvu.com/jobs<br />

×