Ahead of the mesh shader in the pipeline is the task shader. The mesh shader stage produces triangles for the rasterizer, but uses a cooperative thread model internally instead of using a single-thread program model, similar to compute shaders. The new approach allows the memory to be read once and kept on-chip as opposed to previous approaches, such as compute shader-based primitive culling (see ,), where index buffers of visible triangles are computed and drawn indirectly. The mesh shader gives developers new possibilities to avoid such bottlenecks. Vertex and attribute fetch for data that is not visible (backface, frustum, or sub-pixel culling).Vertex batch creation by the hardware’s primitive distributor scanning the indexbuffer each time even if the topolgy doesn’t change.Some fixed-function steps in the pipeline may do wasteful work and memory loads in this scenario: Even after occlusion culling a significant amount of triangles can exist. : Large meshes can be decomposed into meshlets, which are rendered by mesh shaders.įor example CAD data can reach tens to hundreds of millions of triangles. Using the new hardware stages and this segmentation scheme, we can render more geometry in parallel while fetching less overall data. Each meshlet ideally optimizes the vertex re-use within it. The original mesh is segmented into smaller meshlets as figure 2 shows. In this post we look at mesh shaders to accelerate rendering of heavy triangle meshes. Other use-cases not shown above include geometries found in scientific computing (particles, glyphs, proxy objects, point clouds) or procedural shapes (electric engineering layouts, vfx particles, ribbons and trails, path rendering). The need for increasing realism drives massive increases in geometric complexity. Figure 1 shows several examples where today’s graphics pipeline with vertex, tessellation, and geometry shaders, instancing and multi draw indirect, while very effective, can still be limited when the full resolution geometry reaches hundreds of millions of triangles and hundreds of thousands of objects. ![]() ![]() In visual effects large structures, for example spaceships, are often detailed with “greebles”. CAD models present similar challenges with both complex shaped surfaces as well as machinery made of many small parts. Outdoor scenes in particular can be composed of hundreds of thousands of elements (rocks, trees, small plants, etc.). The real world is a visually rich, geometrically complex place.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |