如果您执意使用线条而不是用两个矩形绘制 2D 框,则可以绘制多条彼此相邻的线条。您可以通过一次调用多次绘制相同的两个顶点来实现这一点drawPrimitives,只需增加 来instanceCount模拟厚度,然后在顶点着色器函数中,您可以使用vertex_id模数运算或某种其他类型的逻辑来转换顶点的位置线来模拟厚度。这可能比尝试在片段着色器中做一些奇特的事情要容易得多。
如果您要绘制多条线,请将您的线instanceCount乘以所需的粗细,然后调整顶点着色器函数逻辑,将这些附加线彼此相邻放置。
我对此进行了实验,发现这是一个相当麻烦的过程。因为您需要额外的数学来定位额外的线条以正确加粗。例如,如果您正在绘制一条水平线并希望将厚度增加两倍,您需要修改 y 值,但如果它是垂直的,您需要修改 x 值。以一定角度绘图会变得更加复杂。如果您尝试绘制形状,您还会遇到尝试匹配长度和宽度的问题。
我认为最好只画两个三角形来制作一个矩形来假造一条线。数学将变得更容易、更容易理解。
在几何中,欧几里得的线没有任何宽度,它们只有长度,它们在绘图时获得的宽度只是为了表示。因此,虽然我认为线条可能有利于调试和开发,例如用于显示矢量或创建网格来查看比例,但如果您尝试设计它们的样式以将它们呈现给用户,则它们不是您想要的。在这种情况下,它是不适合这项工作的工具。
| 归档时间: |
|
| 查看次数: |
4744 次 |
| 最近记录: |