3d on the web in 2011
TRANSCRIPT
![Page 1: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/1.jpg)
IMVU Confidential
3D on the Web in 2011
Chad AustinTechnical Director, IMVU
![Page 2: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/2.jpg)
IMVU Confidential
Who is Chad?
Iowa State, 2005M.S. Human Computer InteractionRenaissance, a functional shading language
IMVU, 2005-Present
![Page 3: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/3.jpg)
IMVU Confidential
What is IMVU?
Mass market 3DWorld’s largest virtual catalog: 6 million items
7000 new items every day50 million registered users
50,000 of which created content in last monthDownloadable client...
![Page 4: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/4.jpg)
IMVU Confidential
IMVU likes 3D, so what?
Tasteful, responsive UITransitions60 Hz animation
GPGPUHarness local processing power from web pages
![Page 5: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/5.jpg)
IMVU Confidential
Today’s Agenda
GPUsWebGLFlash 11Unity3DSilverlight 5Native ClientTrends and Unsolved Problems
![Page 6: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/6.jpg)
IMVU Confidential
Caveat
New and changingCan you teach me?
![Page 7: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/7.jpg)
GPU
![Page 8: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/8.jpg)
IMVU Confidential
Graphics Processors
Vector math accelerators external to CPUOften with separate memory
~Every computer has a GPU in some formLimited API access
Direct3D & OpenGLStarting to see OpenCL, CUDA, DirectCompute…
Wildly different internal architectures
![Page 9: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/9.jpg)
IMVU Confidential
History of Consumer 3D
<1999: OpenGL, Direct3D, niche APIs2000: Direct3D 7 – “fixed function”, multitexturing2001: Direct3D 8 – limited programmability2003: Direct3D 9 – general programmability2011: finally on the web!
![Page 10: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/10.jpg)
IMVU Confidential
Modern GPUs
Buffers of data…textures, vertex arrays
… and code that runs on themVertex shaders, pixel shaders
![Page 11: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/11.jpg)
IMVU Confidential
Modern GPUs (con’t)
![Page 12: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/12.jpg)
IMVU Confidential
Shaders
Small programs:Input:
Vertex attributesTextures
Output:Pixels on screen
Syntax varies across platformsBut same basic functionality
![Page 13: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/13.jpg)
IMVU Confidential
Today’s Market
Unity hardware surveySteam hardware surveyIMVU experiences
![Page 14: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/14.jpg)
IMVU Confidential
Today’s Market (con’t)
shader model 2.0!8 textures8 vec4f vertex attributes (wish it were 16…)decent number of shader instructions
![Page 15: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/15.jpg)
IMVU Confidential
What’s missing?
Vertex texture fetchGeometry shadersGamma?
![Page 16: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/16.jpg)
SURVEY
![Page 17: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/17.jpg)
WEBGL
![Page 18: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/18.jpg)
IMVU Confidential
WebGL
JavaScript access to OpenGL ES 2.0Fully programmableComposites into HTML on page
![Page 19: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/19.jpg)
IMVU Confidential
WebGL Demos
http://www.nihilogic.dk/labs/worlds_of_webgl/http://o3d.googlecode.com/svn/trunk/samples_webgl/o3d-webgl-samples/pool.htmlhttp://www.ro.me/
![Page 20: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/20.jpg)
IMVU Confidential
WebGL, con’t
Uses ANGLE on WindowsHardware and driver blacklist
![Page 21: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/21.jpg)
IMVU Confidential
WebGL Unsolved Problems
No Safari (yet)No iOS (yet)Device ubiquity?
Example: GMA 950Content storageFullscreenInput handling
![Page 22: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/22.jpg)
FLASH 11
![Page 23: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/23.jpg)
IMVU Confidential
Flash 11
Stage3DExposes GPU capabilities to ActionScriptCustom shader language: AGAL
![Page 24: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/24.jpg)
IMVU Confidential
AGAL example
http://pixelante.com/index.php?b=ambient_and_color_lighting_molehill_agal_flash_tutorial
![Page 25: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/25.jpg)
IMVU Confidential
Flash 11 Demos
http://alternativaplatform.com/en/demos/maxracer/http://molehill.zombietycoon.com/
![Page 26: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/26.jpg)
IMVU Confidential
Flash 11, con’t
Expect widespread deploymentAutomatic software fallback
Driver blacklistGPU not capable of shaders
Windowless?
![Page 27: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/27.jpg)
IMVU Confidential
Flash 11 Downsides
ActionScriptLow shader limits
8 vertex attributes8 temporariesno vertex texture fetch
Mobile...?
![Page 28: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/28.jpg)
UNITY3D
![Page 29: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/29.jpg)
IMVU Confidential
Unity3D
Web plugin, iOS, Wii, PlayStation 3, Xbox 360Custom graphics engine
Built-in visual effectsScene graphArt pipeline
Built-in asset storeRuns on older hardware if necessary
![Page 30: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/30.jpg)
IMVU Confidential
Unity3D demo
http://unity3d.com/gallery/live-demos/tropical-paradise
![Page 31: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/31.jpg)
IMVU Confidential
Unity3D downsides
No windowless modeCommercial software
No LinuxRequires plug-in (10% installed, 70% install rate)
Does not fully expose hardware
![Page 32: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/32.jpg)
SILVERLIGHT
![Page 33: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/33.jpg)
IMVU Confidential
Silverlight 5
Integration with XNA 4Limited to “Reach” profile, shader model 2.0Demo: http://www.youtube.com/watch?v=RDIeijJkV14
![Page 34: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/34.jpg)
NATIVE CLIENT
![Page 35: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/35.jpg)
IMVU Confidential
Native Client
Google’s in-browser, secure native code engineAvailable in Chrome todayWrite programs in C++, run them on the webExposes OpenGL ES 2.0 if supported
Remember ANGLE?
![Page 36: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/36.jpg)
IMVU Confidential
Native Client Downsides
No cross-browser plansTeething pains
![Page 37: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/37.jpg)
TRENDS & OPEN QUESTIONS
![Page 38: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/38.jpg)
IMVU Confidential
Betting time!
Short-term: Flash 11Long-term: WebGL
![Page 39: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/39.jpg)
IMVU Confidential
Security
3D drivers suckRarely updatedCrashesSecurity problems
3D on the web exposes all of the aboveDriver blacklists
Important: this is a solvable problem
![Page 40: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/40.jpg)
IMVU Confidential
Trends
3D is here to stayI expect a killer app Very Soon Now
![Page 41: 3D on the Web in 2011](https://reader034.vdocument.in/reader034/viewer/2022051413/5554ddc5b4c9051b6e8b51d0/html5/thumbnails/41.jpg)
IMVU Confidential
Thank you! Questions?
[email protected]@chadaustin
http://engineering.imvu.com
We’re hiring!http://www.imvu.com/jobs