Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

expose context antialiasing and draw 3d things into main framebuffer #7821

Merged
merged 2 commits into from
Feb 25, 2019

Commits on Feb 25, 2019

  1. draw extrusions and custom layers into main framebuffer

    Previously, both fill-extrusions and custom layers were drawn into a
    offscreen framebuffer before being copied over to the main framebuffer.
    
    Drawing directly into the main frame buffer is better because:
    - it avoids fragment-expensive copies
    - it unblocks using msaa antialiasing (which only works in the main
    
    Drawing opaque extrusions and custom layers involved few changes.
    Transparent extrusions needed to be implemented differently. They now
    use a two pass approach:
    - the first pass only draws depth
    - the second pass only colors a sufrace if it's depth matches
    
    Some tweaks were made to how we draw stencil masks so that we could use
    the stencil buffer in the second pass to prevent double-shading. The
    changes should reduce the amount of stencil clears that happen.
    
    The way fill-extrusion-opacity works across layers was already kind of
    weird. This pr makes no attempt to change any of that behaviour. It
    should be completely backwards compatible.
    ansis committed Feb 25, 2019
    Configuration menu
    Copy the full SHA
    4eef3c9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6ee5daf View commit details
    Browse the repository at this point in the history