splat mesh blending perspective rasterization and
play

Splat/Mesh Blending, Perspective Rasterization and Transparency - PowerPoint PPT Presentation

Splat/Mesh Blending, Perspective Rasterization and Transparency for Point-Based Rendering Gal Guennebaud Loc Barthe, Mathias Paulin IRIT UPS CNRS TOULOUSE FRANCE http://www.irit.fr/~Gael.Guennebaud/ Gal Guennebaud IRIT


  1. Splat/Mesh Blending, Perspective Rasterization and Transparency for Point-Based Rendering Gaël Guennebaud Loïc Barthe, Mathias Paulin IRIT – UPS – CNRS TOULOUSE – FRANCE http://www.irit.fr/~Gael.Guennebaud/ Gaël Guennebaud – IRIT – Toulouse – SPBG06 1

  2. Approximate depth-peeling for Transparency Gaël Guennebaud – IRIT – Toulouse – SPBG06 2

  3. Transparency via depth-peeling ● Standard depth-peeling ● advantages: ● no pre-process ● no sort ● suitable for per-pixel lighting ● drawback: ● may requires several rendering passes ● => “approximate depth-peeling” ? Gaël Guennebaud – IRIT – Toulouse – SPBG06 3

  4. Approximate depth-peeling ● Idea: ● bound the number of rendering passes ● + approximate blending for the last layer c  x  = ∑ '  x   i c i  i ● blending heuristic: i ● no deferred shading Gaël Guennebaud – IRIT – Toulouse – SPBG06 4

  5. Approximate depth-peeling (results with 2 layers) complete only the first layer depth-peeling + a 2nd layer with approx blending Gaël Guennebaud – IRIT – Toulouse – SPBG06 5

  6. Approximate depth-peeling (results with 3 layers) complete only the first 2 layers depth-peeling + a 3th layer with approx blending Gaël Guennebaud – IRIT – Toulouse – SPBG06 6

  7. Splat rasterization Gaël Guennebaud – IRIT – Toulouse – SPBG06 7

  8. Point Cloud Rendering ● Ray-cast a reconstructed surface (MLS) ● Best quality but slow, requires pre-process... ● Rasterization (splatting) ● best quality criteria: ● perspectively correct splat rasterization ● per-pixel shading (=> deferred shading) ● high frequency filtering (aliasing) ● performance criteria: ● use the best of current GPU ● incremental calculations for the rasterization Gaël Guennebaud – IRIT – Toulouse – SPBG06 8

  9. Splat rasterization ● Decomposed as two stages: ● “splat setup” stage ● compute the screen space shape of the splat ● implemented in a vertex program ● rasterization stage ● generate the fragments with correct depth and weight ● implemented in a fragment program (+ point sprite) Gaël Guennebaud – IRIT – Toulouse – SPBG06 9

  10. splat rasterization implementations suitable for perspective EWA # instr. # instr. incremental OK filtering setup raster computation EWA Splatting ✘ ✔ ✔ software [Zwicker01] ✘ ✔ ✔ 51 6 [Guennebaud03] Perspec. Accu. (✔) ✔ ✔ 93 8 [Zwicker04] ✔ ✘ [Botsch05] 35 13 (ray casting) ✔ (✔) ✔ 58 3 [PBG06] Gaël Guennebaud – IRIT – Toulouse – SPBG06 10

  11. Perspective splatting (u,v) t reconstruction kernel  (gaussian) s p (x,y) local splat space screen space = [ s = M . [ . [ p ] [ z ] 1 ] 1 ] xz u u t yz v v Gaël Guennebaud – IRIT – Toulouse – SPBG06 11

  12. Perspective splatting (u,v) t reconstruction kernel  (gaussian) s p (x,y) local splat space screen space . [ T ] [ [ w ] 1 ] T  t × p  uw x = T vw y  p × s   s × t  Gaël Guennebaud – IRIT – Toulouse – SPBG06 12

  13. Depth value w = 1 depth = a 1 ● We have and z  b z ● Hence: [ ] T  t × p  . [ [ depth ] uw 1 ] T  p × s  x vw T =  s × t  y w  [ b ] T T a  s × t  0 T p 0  s × t  Gaël Guennebaud – IRIT – Toulouse – SPBG06 13

  14. GPU implementation computed in the [ ] vertex program T  t × p  . [ [ depth ] uw 1 ] T  p × s  x vw T =  s × t  y w  [ b ] T T a  s × t  0 T p 0  s × t  2 MAD 3 vectors  u ,v  =   w  1 projective 2D uw w , vw texture access fragment program Gaël Guennebaud – IRIT – Toulouse – SPBG06 14

  15. EWA filtering ● Object-space filter only ● EWA filtering ' ⊗ h  x  '  x    reconstruction warped low-pass filter kernel reconstruction kernel ● OK for affine mapping only Gaël Guennebaud – IRIT – Toulouse – SPBG06 15

  16. EWA filtering approximations magnification magnification minification + minification reconstruction kernel low-pass pre-filter EWA resampling filter approximation used in [BHZH05] '  x  ,h  x  max  aliasing OK OK Gaël Guennebaud – IRIT – Toulouse – SPBG06 16

  17. EWA filtering approximations magnification magnification minification + minification reconstruction kernel low-pass pre-filter EWA resampling filter ● Basic idea: approximation adjust the object space tangent vectors such used in [BHZH05] that the warped reconstruction kernel can contains the screen space low-pass filter EWA resampling filter our approximation Gaël Guennebaud – IRIT – Toulouse – SPBG06 17

  18. EWA filtering approximation ● Tangent vectors adjustment ● only check along the tangent vector directions screen space low-pass filter diameter ( =2h ) adjusted tangent vector t' s t p projected splat diameter along t Gaël Guennebaud – IRIT – Toulouse – SPBG06 18

  19. EWA filtering approximation ● Provides the expected result if and only if the projected tangent vectors are orthogonal ● => on the fly re-parametrization ? ● too much expensive ● => efficient heuristic for isotropic splats (disks): ● s = p x n ● t = n x s ● exact at the screen center ● exact for splats parallel to the screen plane ● “good” worst case Gaël Guennebaud – IRIT – Toulouse – SPBG06 19

  20. About depth values and EWA filtering our approach: constant depth values low-pass filter diameter B A current splat previous approaches => may generate arbitrary depth values ! Gaël Guennebaud – IRIT – Toulouse – SPBG06 20

  21. EWA filtering approximation (results) [Botsch et al. 05] our new approximation Gaël Guennebaud – IRIT – Toulouse – SPBG06 21

  22. Performances screen resolution: 1024x1024 fps (M splats/s) fps (M splats/s) Gaël Guennebaud – IRIT – Toulouse – SPBG06 22

  23. Hybrid rendering Gaël Guennebaud – IRIT – Toulouse – SPBG06 23

  24. Hybrid rendering (motivations) ● Flat surface or large zoom ● points are inefficient (both in speed and quality) ⇒ hybrid rendering points and polygons are complementary use triangles when points become less efficient ● What about the transitions ? Gaël Guennebaud – IRIT – Toulouse – SPBG06 24

  25. Hybrid rendering (transition smoothing) ● High quality => ● Key idea: to smooth the transitions use the sum of weights coming from the splatting to blend the representations ● straightforward ! ● no additional rendering cost ! standard splats & hybrid rendering splatting + ∑weights polygons rendering with alpha-blending Gaël Guennebaud – IRIT – Toulouse – SPBG06 25

  26. Hybrid rendering (transition smoothing) ● Too much straightforward ? ● Best quality => uniform sampling of the “transition edges” Gaël Guennebaud – IRIT – Toulouse – SPBG06 26

  27. Hybrid rendering (implementation example) ● Multi-resolution hierarchy of points ● Leaves store both points and polygons ● At the sampling time: ● explicitly sample the edges shared by two faces stored in two different leaves leaf “A” leaf “B” “transition splats” Gaël Guennebaud – IRIT – Toulouse – SPBG06 27

  28. Hybrid rendering (implementation example) ● Hybrid rendering rules: ● render the polygons (instead of the splats) of all visible and not dense enough leaf node. ● render the transition splats shared by at least one leaf rendered as a set of splats Gaël Guennebaud – IRIT – Toulouse – SPBG06 28

  29. Conclusion ● Summary: ● Approximate depth-peeling for efficient transparency ● Perspectively correct splat rasterization ● efficient on current GPU ● allows efficient dedicated implementation (incremental computation) ● EWA filtering approximation ● same quality as full EWA filtering ● only for isotropic splats ● Splat/polygon transitions smoothing Gaël Guennebaud – IRIT – Toulouse – SPBG06 29

  30. Gaël Guennebaud – IRIT – Toulouse – SPBG06 30

  31. ● Ray-casting -> splatting -> EWA splatting ● splat rasterization, 2 class of approaches: ● perspective approx ● match the center or the contour (better) ● allow EWA filtering (by an analytic convolution) ● expensive splat setup ● suitable for incr. rasterization ● ray casting ● simple to implement ● perspective correct ● simple splat setup (all the computation are performed at the fragment level) ● expensive rasterization shader Gaël Guennebaud – IRIT – Toulouse – SPBG06 31

  32. EWA filtering approximation ● Basic idea: ● adjust the tangent vectors s and t such that the warped reconstruction kernel can contains the screen space low-pass filter ● ~ adjust the tangent vectors s and t such that their screen space length are greater than the radius of the screen space low-pass filter ● OK if and only if the tangent vector are still orthogonal in the screen space and the low pass filter is radially symmetric Gaël Guennebaud – IRIT – Toulouse – SPBG06 32

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend