Questions tagged «decal-system»

1
延期贴花正常问题
我一直在研究延迟贴花系统。到目前为止,我已经完成了投影部分,这意味着我可以单击场景中的某些东西,它将正确地将贴图投影到对象的表面上。 我希望添加到此系统中的其他几项内容:普通裁剪和普通映射贴花。正常剪裁是当我丢弃延伸锐角的片段时。在这里看到。解决此问题的一种方法是,丢弃G缓冲区中的法线与贴花法线之间存在较大差异的片段。这将需要读取G缓冲区的正常纹理。 为了进行贴图法线贴图,我需要将贴图的法线(来自法线贴图)与G缓冲区的法线混合。需要写入G缓冲区的常规纹理。 我希望很明显,为了支持这两个功能,我需要在同一着色器通道中读取和写入普通纹理。可悲的是,这是未定义的行为,所以我想知道是否还有其他方法可以实现这些功能。

2
贴花实施
我在查找有关贴花的信息时遇到了问题,因此也许这个问题会对他人有所帮助。该实现适用于前向渲染器。 有人可以确认我是否可以执行贴花吗? 您可以定义任意尺寸的立方体,以定义公共空间中的投影体积。您检查与定义的立方体的三角形相交以接收投影将影响的三角形。 您修剪这些三角形并保存它们。 然后,您可以使用矩阵技巧来为已保存的三角形计算UV坐标,这些三角形将参考您要投影的纹理。 为此,您可以使用表示公共空间中立方体的高度,宽度和深度的向量,以使fe的左下角为原点。 将其作为i,j,k单位向量放入矩阵中,设置多维数据集的平移,然后对该矩阵求逆。 您可以将保存的三角形的顶点乘以该矩阵,这样就可以将它们的坐标保存在用作UV坐标的0到1大小的立方体内。 这样,您可以将原始三角形投影到其上,并具有UV坐标(UV坐标参考要投影的纹理)。 然后,将保存的三角形重新渲染到场景上,它们将用投影图像覆盖投影区域。 现在,我找不到答案的问题。最后一点对吗?我从未做过软件裁剪,但由于精度有限,似乎容易出错,因为投影纹理会发生一些z争斗。另外,获得UV坐标的方法是否正确?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.