Skip to content
  • cmarrin@apple.com's avatar
    Final patch for Canvas 3D support · 4e7728f4
    cmarrin@apple.com authored
            https://bugs.webkit.org/show_bug.cgi?id=28018
    
            This hooks everything up and provides a working implementation of
            Canvas 3D. I plumb the creation of the 3D canvas down to GraphicsLayer,
            passing the opaque context and texture pointers so a Canvas3DLayer can be
            created (more on that later). It also plumbs changes to the 3D canvas so
            that Canvas3DLayer can recomposite the results.
            
            A 3D Canvas element needs a RenderLayer and compositing layer to render.
            This is because it renders to an off-screen texture in the GPU and then
            hands it to a Canvas3DLayer, which is a subclass of CAOpenGLLayer, to
            render that texture as a 3D quad. This keeps everything in GPU memory to 
            maximize performance. When a CanvasRenderingContext3D is created it 
            forces a style recalc which creates the RenderLayer and compositing 
            layer if needed. 
            
            I repurposed an existing...
    4e7728f4