41
IMVU Confidential 3D on the Web in 2011 Chad Austin Technical Director, IMVU

3D on the Web in 2011

Embed Size (px)

Citation preview

Page 1: 3D on the Web in 2011

IMVU Confidential

3D on the Web in 2011

Chad AustinTechnical Director, IMVU

Page 2: 3D on the Web in 2011

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

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

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

IMVU Confidential

Today’s Agenda

GPUsWebGLFlash 11Unity3DSilverlight 5Native ClientTrends and Unsolved Problems

Page 6: 3D on the Web in 2011

IMVU Confidential

Caveat

New and changingCan you teach me?

Page 7: 3D on the Web in 2011

GPU

Page 8: 3D on the Web in 2011

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

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

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

IMVU Confidential

Modern GPUs (con’t)

Page 12: 3D on the Web in 2011

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

IMVU Confidential

Today’s Market

Unity hardware surveySteam hardware surveyIMVU experiences

Page 14: 3D on the Web in 2011

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

IMVU Confidential

What’s missing?

Vertex texture fetchGeometry shadersGamma?

Page 16: 3D on the Web in 2011

SURVEY

Page 17: 3D on the Web in 2011

WEBGL

Page 18: 3D on the Web in 2011

IMVU Confidential

WebGL

JavaScript access to OpenGL ES 2.0Fully programmableComposites into HTML on page

Page 20: 3D on the Web in 2011

IMVU Confidential

WebGL, con’t

Uses ANGLE on WindowsHardware and driver blacklist

Page 21: 3D on the Web in 2011

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

FLASH 11

Page 23: 3D on the Web in 2011

IMVU Confidential

Flash 11

Stage3DExposes GPU capabilities to ActionScriptCustom shader language: AGAL

Page 24: 3D on the Web in 2011

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

IMVU Confidential

Flash 11 Demos

http://alternativaplatform.com/en/demos/maxracer/http://molehill.zombietycoon.com/

Page 26: 3D on the Web in 2011

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

IMVU Confidential

Flash 11 Downsides

ActionScriptLow shader limits

8 vertex attributes8 temporariesno vertex texture fetch

Mobile...?

Page 28: 3D on the Web in 2011

UNITY3D

Page 29: 3D on the Web in 2011

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

IMVU Confidential

Unity3D demo

http://unity3d.com/gallery/live-demos/tropical-paradise

Page 31: 3D on the Web in 2011

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

SILVERLIGHT

Page 33: 3D on the Web in 2011

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

NATIVE CLIENT

Page 35: 3D on the Web in 2011

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

IMVU Confidential

Native Client Downsides

No cross-browser plansTeething pains

Page 37: 3D on the Web in 2011

TRENDS & OPEN QUESTIONS

Page 38: 3D on the Web in 2011

IMVU Confidential

Betting time!

Short-term: Flash 11Long-term: WebGL

Page 39: 3D on the Web in 2011

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

IMVU Confidential

Trends

3D is here to stayI expect a killer app Very Soon Now

Page 41: 3D on the Web in 2011

IMVU Confidential

Thank you! Questions?

[email protected]@chadaustin

http://engineering.imvu.com

We’re hiring!http://www.imvu.com/jobs