【发布时间】:2020-05-29 07:24:53
【问题描述】:
我正在尝试在 Android 和 iOS 应用上使用 OpenGL 渲染的图像周围绘制边框。我现在这样做的方法是,我指定图像每个角周围的 3 个顶点,如图所示,并通过绘制三角形来填充它们。
我计算这些顶点的方法是添加/减去一个名为 BORDER_WIDTH 的绝对值,该值设置为浮点数。例如,渲染图像左角周围的 3 个顶点(在上面链接的图像中标记为 0,1,2)计算如下。
[bottom_left_viewport_vertex[0] - BORDER_WIDTH, bottom_left_viewport_vertex[1], 0.0f,
bottom_left_viewport_vertex[0] - BORDER_WIDTH, bottom_left_viewport_vertex[1] - BORDER_WIDTH, 0.0f,
bottom_left_viewport_vertex[0], bottom_left_viewport_vertex[1] - BORDER_WIDTH, 0.0f]
这种方法会导致2个问题:
- 与 Android 设备相比,iOS 设备上的边框要厚得多,这可能是因为 Retina 显示屏。
- 图片顶部和底部的边框宽度与图片侧面的边框宽度不同。
解决此类问题的正确方法是什么? 谢谢。
【问题讨论】:
-
您是否在搜索类似OpenGL Line Width 的内容?
-
感谢@Rabbid76 的帮助。我是一个 OpenGL 新手,仍然必须完全理解你的方法并使其适应我所拥有的。但首先我要试试solidpixel 的建议,看看我能不能让它发挥作用。