假设我有两个四边形是重叠的,形成一个X。
有可能阻止这种情况发生吗?这样GPU就可以移除这些重叠的四角体之一?
这个案子是关于广告牌的,这些广告牌能穿透静态的墙壁。在理想的情况下,当广告牌与墙壁重叠时,我不愿将它移除,而不用花费大量的CPU资源(我有大约10.000块广告牌和墙壁)。
目前,我的广告牌是通过计算物体和相机之间的角度来实现的。
发布于 2012-02-28 18:35:16
目前我的广告牌是通过计算物体和相机之间的角度来实现的。
完全错误的方法。通常的OpenGL透视投影是平面平行投影。因此,这意味着你通常希望你的广告牌与你的近/远剪裁平面是共面的。
这是最容易做到的,采取逆的左上角3×3部分的世界-眼空间变换矩阵,并使用X任何Y列作为你的广告牌四元的基向量。
正因为如此,旋转矩阵的逆是转置。因此,只需将摄像机转换矩阵的第一行和第二行向量(每个仅为前3个元素)作为广告牌的基础。别在这里乱搞计量学或角度,那你就弄错了。
这种重叠通常通过深度测试来处理。对于半透明几何,禁用深度写入和预排序您的几何远近。
https://stackoverflow.com/questions/9486978
复制相似问题