Because sorting polygons for display is such a crucial step in the graphics pipeline, the timing of this sort is used to characterize how the graphics pipeline is split into pieces.

Sort-first techniques begin by sorting polygons according to their distance from the camera. The drawback is that this approach's computational complexity is proportional to the number of polygons. For large data visualizations, this is usually not acceptable. The advantage is that, if everything is sorted early, there is much less communication among processes later.

Sort-last techniques distribute the geometry first, have each process render whatever geometry it contains, then accumulate that geometry into a buffer. This approach's computational complexity is proportional to the resolution of the image, not the number of triangles. It also means that only the latter part of the visualization pipeline needs to be recalculated if the relative positions of the camera and model change.

Hybrid versions of these two approaches are called sort-middle.

Locality for Sort-Last

ParaView uses the IceT library (Image Composition Engine for Tiles), which is based on sort-last parallel rendering. While sort-last implies that each parallel process can work on its own chunk of data and have everything work out in the end, IceT takes advantage of the locality of polygons in each process to optimize composition.

What does it mean to improve the locality of a model? If the model is a house, and the visualization program splits it according to the temperature of the walls, then the warmest parts may include the first and second floor ceilings. If the house is sliced as though it were deli meat, then at least all the pieces touch each other, but any view will see some part of all of the slices. A preferable split might subdivide the house into wall and floor tiles so that any individual view into the house will see only a small subset of all of the pieces.

 
©  |   Cornell University    |   Center for Advanced Computing    |   Copyright Statement    |   Inclusivity Statement