1 / 35

3D Hidden Surface Removal

3D Hidden Surface Removal. 2001.2.28 김 성 남. Contents. Goal Motivation Approaches - back face detection - depth buffer - A-buffer - Scan line - Depth sorting - BSP-tree - Area subdivision - Ray casting Conclusion. Goal.

iliana-neal
Download Presentation

3D Hidden Surface Removal

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 3D Hidden Surface Removal 2001.2.28 김 성 남

  2. Contents • Goal • Motivation • Approaches- back face detection- depth buffer- A-buffer- Scan line- Depth sorting- BSP-tree- Area subdivision- Ray casting • Conclusion

  3. Goal • A major consideration is identifying those parts of a scene that are visible from a chosen view position. • Represent realistic 3D display • Visual-surface detection methods≈ hidden-surface elimination methods

  4. Motivation (1/4) • Surfaces may be various of situations according to view positions.- surfaces may be back-facing

  5. Motivation (2/4) • Surface may be occluding

  6. Motivation (3/4) • Surfaces may be overlapping

  7. Motivation (4/4) • Surfaces may be intersecting

  8. Approaches • Back-face detection • Depth buffer • A-buffer • Scan line • Depth sorting • BSP-tree • Area subdivision • Ray casting

  9. Classification • Object–space methods- Viewer의 가시선상에서object가 보이는지,안보이는지를 직접 결정- wire frame display에서line display시 사용 • Image-space methods- using most methods- projection plane상의 각pixel position에point에 따라visibility결정

  10. Back-face detection (1/2) • Fast & simple object-space method • Be based on Inside-outside test- decide on the back face P(x,y,z) on the polygon Ax + By + Cz + D < 0 inside back face V • N > 0 back faceV : Viewing direction vector(eye,camera) N : Normal vector to a polygon surface

  11. Back-face detection (2/2) V를 다음과 같이Vz축에 평행하게projection coordinates로 convert한다면 Vy Vx V = (0,0,Vz) Vz V V • N = VzC ( C : variable) C의 기호(+ or -)에 따라back face 결정C ≤ 0 N V viewer

  12. Vy Vx S3 S2 S1 Vz Depth-Buffer Method (1/3) • Image-space method • Compare surface depths at each pixelposition on the projection plane. • Z-buffer method

  13. Depth-Buffer Method (2/3) • Step- initialize the depth & refresh buffer depth(x,y) = 0, refresh(x,y) = Ibackground- compare depth values to previously stored values in depth buffer • Calculate the depth z for each (x,y) position on the polygon • if z > depth(x,y), then set depth(x,y) = z, refresh(x,y) = Isurf(x,y)

  14. Depth-Buffer Method (3/3) • Comments- requires lots of memory a system with resolution 1024 by 1024 = 1024 x 1024 x 24bits- subject to aliasing(A-buffer)- commonly implemented in hardware

  15. A-Buffer Method (1/3) • Extension of the depth-buffer method • Antialiased,Area-averaged,Accumulation-buffer method by Lucasfilm • For implementation in the surface rendering system- REYES(Renders Everything You Ever Saw) • Viewing for more than one surface • Antialiasing

  16. A-Buffer Method (2/3) • A-Buffer has two fields- depth field : store +,- real number- intensity field • Using Linked list - d > 0 : single surface overlap - d < 0 : multiple surface overlap Surf1 Surf2 d > 0 I • • d < 0 • Depthfield Intensityfield Depthfield Intensityfield

  17. A-Buffer Method (3/3) • Included data in the linked list- RGB intensity components- Opacity parameter(present of transparency)- Depth- Persent of area coverage- surface identifier- other surface-rendering parameters- pointer to next surface foreground transparent surface background opaque surface

  18. Scan-Line Method (1/2) • Image-space method • Extension of the scan line algorithm • Using Edge tables, polygon tables • Set up an active list of edges cross the current scan line • Define a flag for each surface (on or off)- to indicate whether inside or outside • Take advantage of Coherence along scan lines • Commonly implemented in software

  19. C G F Scan line 1 S1 S2 Scan line 2 Scan line 3 D E A B Scan-Line Method (2/2) • Scan line 1 : no depth calculations • Scan line 2 : depth calculations • Scan line 3 : no depth calculations- take advantage of coherence

  20. Depth Sorting Method (1/7) • Both image-space and object-space method- sorting operation : both- scan conversion : image-space method • Painter’s algorithm : oil painting • Sort surfaces in order of decreasing depth • No depth overlap - Scan convert surfaces in order, starting with the surface of greatest depth • Depth overlap- need to additional reordering process

  21. Depth Sorting Method (2/7)

  22. Depth Sorting Method (3/7) • Overlap test1.Bounding rectangles in the xy plane for the two surfaces do not overlap.2.Surface S is completely behind the overlap -ping surface relative to the view position3.Overlapping surface is completely in front of S relative to the view position4.The projections of the two surfaces onto the view plane do not overlap one of these test is true no reordering

  23. S S’ Vx Xmin Xmax X’min X’max Vz Depth Sorting Method (4/7) 1. bounding rectangles in the xy plane for the two surfaces do not overlap

  24. Depth Sorting Method (5/7) 2.Surface S is completely behind the overlap-ping surface relative to the view position 3.Overlapping surface is completely in frontof S relative to the view position S S S’ S’ Vx Vx Vz Vz Test2 is not true Test2,3 are true

  25. Depth Sorting Method (6/7) 4.The projections of the two surfaces onto the view plane do not overlap

  26. Depth Sorting Method (7/7) • When 4 tests failed,interchange surfaces in the sorted list S S S’ S’ S’’ Vx Vx Vz Vz In sorted list S’,S S,S’ In sorted list S,S’,S” S’,S”,S

  27. BSP-Tree Method (1/2) • A kind of Depth-sorting Method • Be useful when the view reference pointchanges,but the objects are fixed position • Painting in the order back to front • Commonly implemented in hardware

  28. BSP-Tree Method (2/2) P2 P1 back C front P1 front front back back P2 P2 D A front back front back A C B D B Painting order D → B → C → A

  29. Area-Subdivision Method (1/4) • Image-space method- object-space method : depth ordering • Start with total view → determine whether subdivision or not →subdivision → until a single surface or the size of a single pixel • Similar to quad tree

  30. Area-Subdivision Method (2/4) surface Boundary area • If one of conditions is true, no subdivision1. All surfaces are outside2. Only one surface intersects in the area3. One surface occludes other surfaces within area Surrounding surface Overlapping surface inside surface outside surface

  31. Area-Subdivision Method (3/4) • All surfaces are outside- check the bounding rectangles of all surfaces against the area boundaries • Only one surface intersects in the area- bounding rectangles can be used as initial check- no intersection → inside intersection → need to additional check whether overlap,outside,surrounding

  32. Area-Subdivision Method (4/4) • One surface occludes other surfaceswithin area - using 4 vertices method the minimum depth of all other surface within the area maximum depth of surrounding surface > Zmax(surroundingsurface) Vx Vz Area

  33. Ray Casting Method (1/2) • Cast ray from viewpoint through each pixelto find front-most surface

  34. Ray Casting Method (2/2) • Light-ray paths backward from the pixelsthrough the scene • More effective detection method- Curved surface, particularly spheres • a variation on the depth buffer method • Conceptually simple, but not generally used

  35. Summary • Hidden Surface Removal Algorithm- Back-face detection- Depth buffer- A-buffer- Scan line- Depth sorting- BSP-tree- Area subdivision- Ray casting

More Related