密铺(Tessellation)或称平面填充、细分曲面(subdivision surface),是指把一些较小的表面填满一个较大的表面而不留任何空隙。在数学上,密铺可以推广到更高的维度,称为空间填充。
有规律的密铺具有周期性的重复模式,较特殊的种类有平面正密铺由正多边形组成,而且是由同一种形状独立完成整个密铺,和平面半正密铺与不完全正密铺用不只一个正多边形完成密铺,前者在每个角落都有相同配置,后者则是周期性的重复模式。有规律的密铺形成的图案可分为17组。缺乏重复图案的密铺被称为“非周期密铺”。非周期性平铺使用一些较小的表面填满一个较大的表面而不留任何空隙,但由于每一片的形状皆不相同,以致无法形成重复图案。有时可用在面积上计算图案的大小。
在几何学中的平面密铺分为规则镶嵌和不规则镶嵌二种,规则镶嵌即重复组合一种或多种不同的图形,由正多边形组成的可以分为正镶嵌、半正镶嵌和不均匀半正镶嵌和复合多边形镶嵌等种类。
正三角形镶嵌,一种正镶嵌
正方形镶嵌,一种正镶嵌
正六边形镶嵌,一种正镶嵌
扭棱六边形镶嵌,一种半正镶嵌
截半六边形镶嵌,一种半正镶嵌
异扭棱正方形镶嵌,一种半正镶嵌
扭棱正方形镶嵌,一种半正镶嵌
小斜方截半六边形镶嵌,一种半正镶嵌
截角正方形镶嵌,一种半正镶嵌
截角六边形镶嵌,一种半正镶嵌
大斜方截半六边形镶嵌,一种半正镶嵌
截半截角正方形镶嵌,一种不完全正镶嵌
扭棱截半六边形镶嵌,一种不完全正镶嵌
异扭棱六边形镶嵌,一种不完全正镶嵌
六角化大斜方截半六边形镶嵌,一种不完全正镶嵌
同相截半六边形柱镶嵌,一种不完全正镶嵌
另外也存在非欧几里得空间的密铺,如正七边形镶嵌、七阶三角形镶嵌等。
Tessellation 原意是镶嵌,是一种细分曲面的技术,可以快速让成像3D的小三角型快速增加。目前GPU内透过 Programmable Tessellator来实现细分曲面,使得渲染对象的表面和边缘更平滑,物件呈现更为精细。ATi-AMD自2001年研发Tessellation,为微软Xbox360研发的GPU已部分支持此技术,2007年的R600(Radeon HD 2000系列)通过私有方案支援镶嵌技术。
DirectX 已实作出Tessellation, DirectX 11在绘图流程内新增Hull Shader、Tessellator及Domain Shader三个部分来实现Tessellation. Hull Shader将琐碎的资料(patches, 由quad mesh计算取得)作调整后传给Tessellator, Tessellator据此产生大量的点,最后Domain Shader将点转换成顶点。OpenGL提供了RT-Patch Tessellation的支援。
等角周期平铺,每个形状毗邻的任何边缘正好能摆入另一种尺寸的形状。
正三角形镶嵌
扭棱六边形镶嵌
蜂窝,一种自然的密铺结构
彭罗斯平铺(英语:Penrose tilling),包含多种对称性,但它永远无法周期性重复。
沃德格镶嵌(英语:Voderberg tiling),是一种著名的螺旋充填,由九边形制成的一面体镶嵌。
沃罗诺伊密铺