Pocket web gl sk
description
Transcript of Pocket web gl sk
![Page 1: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/1.jpg)
POCKET WEBGL
![Page 2: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/2.jpg)
What is WebGL?Khronos
“WebGL is a cross-platform, royalty-free web standard for a low-level 3D graphics API based on OpenGL ES 2.0, exposed through the HTML5 Canvas element as Document Object Model interfaces.”
![Page 3: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/3.jpg)
![Page 4: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/4.jpg)
Why do we want WebGL?
Platform shouldn’t hold back content
True portability with performance
Battery life
![Page 5: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/5.jpg)
HELLO WEBGL
![Page 6: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/6.jpg)
How do I WebGL?
![Page 7: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/7.jpg)
CREATE A SHADER (1/3)
![Page 8: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/8.jpg)
CREATE A SHADER (2/3)
![Page 9: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/9.jpg)
CREATE A SHADER (3/3)
![Page 10: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/10.jpg)
CREATE BUFFERS
![Page 11: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/11.jpg)
CREATE TEXTURES
![Page 12: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/12.jpg)
MATRIX STACK AND TRANSFORM (1/5)
![Page 13: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/13.jpg)
MATRIX STACK AND TRANSFORM (2/5)
![Page 14: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/14.jpg)
MATRIX STACK AND TRANSFORM (3/5)
![Page 15: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/15.jpg)
MATRIX STACK AND TRANSFORM (4/5)
![Page 16: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/16.jpg)
MATRIX STACK AND TRANSFORM (5/5)
![Page 17: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/17.jpg)
DRAWIMAGE AND STROKERECT (1/5)
![Page 18: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/18.jpg)
DRAWIMAGE AND STROKERECT (2/5)
![Page 19: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/19.jpg)
DRAWIMAGE AND STROKERECT (3/5)
![Page 20: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/20.jpg)
DRAWIMAGE AND STROKERECT (4/5)
![Page 21: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/21.jpg)
DRAWIMAGE AND STROKERECT (5/5)
![Page 22: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/22.jpg)
PROFILING
![Page 23: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/23.jpg)
MAKE A DEMO SCENE, MAKE IT SLOW
![Page 24: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/24.jpg)
DEVELOPER TOOLS
![Page 25: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/25.jpg)
2D CANVAS CONTEXT
![Page 26: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/26.jpg)
WEBGL CONTEXT
![Page 27: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/27.jpg)
JS PROFILE
![Page 28: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/28.jpg)
OPTIMIZE
![Page 29: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/29.jpg)
DRAW IMAGE (1/3)
![Page 30: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/30.jpg)
DRAW IMAGE (2/3)
![Page 31: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/31.jpg)
DRAW IMAGE (3/3)
![Page 32: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/32.jpg)
BUFFER RESIZE AND DRAW (1/2)
![Page 33: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/33.jpg)
BUFFER RESIZE AND DRAW (2/2)
![Page 34: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/34.jpg)
SINGLE DRAW ELEMENTS
![Page 35: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/35.jpg)
MOVING TO MOBILE
![Page 36: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/36.jpg)
OVERVIEW
Does it run WKWebView What’s different
![Page 37: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/37.jpg)
Tile-basedDeferred rendering
![Page 38: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/38.jpg)
TBDR
Hardware - PowerVR
What is the bottleneck
Mobile specific concerns
![Page 39: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/39.jpg)
TBDR
Draw calls are buffered and tiled
Hardware hidden surface removal
0 overdraw (only opaque fragments)
![Page 40: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/40.jpg)
Going deeper on mobileNative profiling
![Page 41: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/41.jpg)
Mobile Profiling
Instruments
OpenGL ES Analyzer
Custom build an app
![Page 42: Pocket web gl sk](https://reader033.fdocuments.in/reader033/viewer/2022061203/547d6c00b4af9fa5248b4657/html5/thumbnails/42.jpg)
ResourcesResources
- OpenGL Insights (http://openglinsights.com/)- MDN (https://developer.mozilla.org/en-US/)- WebGL Spec (https://www.khronos.org/webgl/)- Your hardware vendor (http://www.imgtec.com/powervr/graphics.asp)- Your platform vendor (https://developer.apple.com/library/ios)- Learning WebGL (http://learningwebgl.com)