在带有纹理的2D网格上创建自定义边框

时间:2018-08-09 03:46:42

标签: opengl graphics textures

我正在尝试将边界添加到将在3D空间中渲染的2D三角形网格中。网格将变形,就像在空中挥舞着任意形状的旗帜一样。具体来说,我想为网格边缘添加一些法线贴图,以获取更多细节。

假设我的网格看起来像这样:

My Mesh

我想使用此纹理使边框对齐:

Texture

所以我最终应该得到的是这样的东西:

Wanted Result

我有信息可以知道哪些顶点位于外边缘上,因此对于每个顶点,我都可以循环遍历它们以告诉到最近的外边缘的距离。通过使用此距离,我可以计算V坐标以对纹理进行采样。由于我的纹理在水平方向上是均匀的,因此我现在对所有顶点使用恒定的U值。

我实际上得到的是:

Actual Result

在拐角处的三角形,所有三个顶点都位于外边缘,都在黑色部分采样了纹理,当我只希望沿外边缘的区域为黑色时,导致整个三角形显示为黑色:< / p>

Vertices sampling the black part of the texture

有没有办法确保我可以在网格物体上得到想要的边框?我什至在正确的轨道上吗?

0 个答案:

没有答案