Graphics 在3D图形中,为什么不经常使用纹理实现抗锯齿?

Graphics 在3D图形中,为什么不经常使用纹理实现抗锯齿?,graphics,3d,antialiasing,multisampling,Graphics,3d,Antialiasing,Multisampling,通常,超采样或多重采样等技术用于生成高保真图像 我最近一直在移动设备上玩CSS3 3D,在四边形上获得高质量的非锯齿边方面做得非常出色 该技巧的工作方式是,四边形的纹理在每个维度中增加两个额外像素,在边界外形成一个透明的一像素宽的轮廓。由于纹理采样插值,只要变换不会使摄影机太靠近边缘,效果就与预过滤抗锯齿渲染方法不同 例如,采用这种方法渲染三维模型的概念和技术限制是什么 我想我已经有一点排除了在一般情况下使用这种技巧。当几何体不是矩形时,它对减少混叠没有任何作用:对于使用CSS3的HTML5,具

通常,超采样或多重采样等技术用于生成高保真图像

我最近一直在移动设备上玩CSS3 3D,在四边形上获得高质量的非锯齿边方面做得非常出色

该技巧的工作方式是,四边形的纹理在每个维度中增加两个额外像素,在边界外形成一个透明的一像素宽的轮廓。由于纹理采样插值,只要变换不会使摄影机太靠近边缘,效果就与预过滤抗锯齿渲染方法不同

例如,采用这种方法渲染三维模型的概念和技术限制是什么


我想我已经有一点排除了在一般情况下使用这种技巧。当几何体不是矩形时,它对减少混叠没有任何作用:对于使用CSS3的HTML5,具有透明1px轮廓边框的结果是平滑的,这一事实取决于这些元素是矩形的,以便它们整齐地栅格化为像素网格

链接的技巧似乎与纹理插值无关。CSS添加了一条画成线的边框。浏览器中的光栅化器正在绘制不带抗锯齿的多边形,并正在绘制带抗锯齿的直线


要回答为什么不希望在1像素边界上混合透明度的问题,透明度很难正确绘制,如果多边形不是从后向前绘制,可能会导致瑕疵。您需要根据距离对多边形进行预排序,或者使用深度缓冲区和多重采样检查不透明多边形的遮挡情况。

链接的技巧似乎与纹理插值无关。CSS添加了一条画成线的边框。浏览器中的光栅化器正在绘制不带抗锯齿的多边形,并正在绘制带抗锯齿的直线


要回答为什么不希望在1像素边界上混合透明度的问题,透明度很难正确绘制,如果多边形不是从后向前绘制,可能会导致瑕疵。您需要根据距离对多边形进行预分类,或者使用深度缓冲区和多重采样检查不透明多边形的遮挡情况。

如果有许多这样的四边形(或者实际上是三角形)形成网格,该怎么办?任何空隙都会让人分心。我不认为一定会有空隙。这可能需要调整参数或以不合理的复杂方式渲染纹理,但如果某个特定像素最终得到纹理中正确的插值alpha值(与其几何覆盖率匹配),那么它将是正确的(例如,使用加法混合)。。。看起来任何一种观点都会把事情搞砸。那么,这就是不使用它的一个很好的理由。(对我来说,最初似乎是为了避免alpha必须在多边形/三角形剪辑外部渲染的间隙;否则alpha纹理只能在剪辑内部应用。)是的,它需要顶点偏移。。。老实说,这可能是有史以来最糟糕的想法。基于Edge的AA以前就被使用过。例如,PS2在硬件上支持它。事实上,它基本上是不可用的,因为一方面它需要一个完美的多边形后->前排序,因为它依赖于alpha混合。如果有许多这样的四边形(或者实际上是三角形)形成一个网格呢?任何空隙都会让人分心。我不认为一定会有空隙。这可能需要调整参数或以不合理的复杂方式渲染纹理,但如果某个特定像素最终得到纹理中正确的插值alpha值(与其几何覆盖率匹配),那么它将是正确的(例如,使用加法混合)。。。看起来任何一种观点都会把事情搞砸。那么,这就是不使用它的一个很好的理由。(对我来说,最初似乎是为了避免alpha必须在多边形/三角形剪辑外部渲染的间隙;否则alpha纹理只能在剪辑内部应用。)是的,它需要顶点偏移。。。老实说,这可能是有史以来最糟糕的想法。基于Edge的AA以前就被使用过。例如,PS2在硬件上支持它。事实上,它基本上是不可用的,因为一方面它需要一个完美的多边形背面->正面排序,因为它取决于alpha混合。你有证据表明轮廓是以直线原语绘制的吗?是的,如果你看轮廓()的定义,你会注意到有一种样式可以是实心、虚线、虚线,等等。这意味着轮廓被视为笔划形状,而不是填充形状,如四边形或三角形。笔划基本体的绘制方式通常与填充基本体的绘制方式不同,在本例中,笔划基本体似乎是使用抗锯齿绘制的,而实体基本体则不是。这可能是因为绘制抗锯齿线比绘制抗锯齿实体更容易(也可能更重要)。我仍然相信元素会被绘制到纹理渲染目标上,而这些(作为单纹理四边形)是由
变换
样式操纵的。您是否建议使用变换的顶点对线进行笔划?我强烈反对这种情况,因为许多/大多数现代GPU似乎不支持正确(快速和/或可变宽度)的线条绘制。当然,纯水平线/垂直线需要/受益于无抗锯齿。我不确定你为什么认为涉及纹理。你能指出支持这一主张的证据吗?你链接的讨论没有提到纹理。我也不清楚你认为纹理是如何使用的。渲染到纹理将与在屏幕上渲染相同。至于l的硬件支持