| 37 | | Another option would be to separate scene graph rendering from WebKit by rendering WebKit2 with raw OpenGL through |
| 38 | | the Texture Mapper first and then the entire QML scene on top. |
| 39 | | |
| 40 | | The approach requiring probably the most effort is to essentially re-implement WebKit2 UI-process sided AC on top of |
| 41 | | the scene graph, i.e. let the web process serialize the layer & animation information to the UI process where the layer |
| 42 | | tree is replicated in terms of scene graph geometry nodes and texture materials that are subject to animation. |
| | 36 | * We're permanently in the state of composition. |
| | 37 | * Layers are tiled and the tiles are "managed" in the web process side. |
| | 38 | * Layer information is serialized and sent across to the UI process (LayerTreeHost and WebGraphicsLayer) |
| | 39 | * The UI process feeds the layers into the texture mapper (LayerTreeProxyHost) |
| | 40 | * The OpenGL texture mapper implementation renders before/after the scene graph. |
| 74 | | the ability to render video into textures. For fullscreen playback we should piggy-back on the fullscreen element feature in WebCore/WebKit2 |
| 75 | | that integrates with AC. The video texture becomes the root layer and the controls live in their own layer on top. |
| | 72 | the ability to render video into textures. Implementation bits that appear to be necessary: |
| | 73 | |
| | 74 | * For each platform, determine the way of sharing textures across process boundaries (for example X11: X pixmaps) |
| | 75 | * Add support for platform specific cross-process texture sharing to the WK2 AC implementation and the texture mapper. |
| | 76 | * Change the corresponding media player back-end to render into such texture-backed layers. |
| | 77 | * Implement support on the UI process side for establishing the UI for the temporary root layer for fullscreen elements. (maybe a dedicated QWindow subclass that renders straight with a dedicated GL texturemapper instance that small tree of texture mapper nodes that represent the layers of the fullscreen element hierarchy) |