OpenGL:缩放自适应网格线

2023-12-24

我正在尝试制作一个像大多数 3D 建模器中看到的那样的视口网格,其中缩放可以调整网格间距,这样线条就不会变得太密或相距太远。例如,缩小将间距从 1m 更改为 2m,然后是 5m,然后是 10m 和 20m 等。有什么帮助吗?


在这里,它通常不像您最初想象的那么复杂。例如,您可能会注意到平移和环绕相机对网格密度没有影响,即使从网格平面到观察者的最近距离可能会发生变化。同样,改变视场对所选网格单元大小没有影响,尽管理想情况下它可能会显着倾斜和缩小视图。

所以通常只有这种基本的一维概念zoom distance相对于观察目标(相机枢轴),它不涉及复杂的数学,只需调整影响传递到的值的标量glScale or glTranslate, e.g.

随着它的增加,用于绘制网格(并可能捕捉到它)的单位大小也会增加,这里它通常不是一些出色的数学解决方案,而只是从变焦距离到硬编码单位大小(如 1mm)的线性映射, 2毫米、5毫米、10毫米、20毫米、50毫米、1厘米等

这类事情通常不是某些算法论文的结果,而只是开发人员/设计师坐下来调整事物,直到它们看起来/感觉正确为止。如果您正在尝试开发 3D 软件,我建议永远不要忽视与用户交互相关的问题的基本解决方案,因为在 3D 中很容易相信一切都必须很复杂,并且需要进行大量研究和完美的解决方案。 - 其背后的精确数学解决方案。对于 UI 部分,您可以采用更加非正式的解决方案。

有时,这些 UI 视觉/交互的正式数学解决方案在实践中并不像这些拼凑的解决方案那么有效,正如您可能已经在来自更学术领域的用户界面中注意到的那样(这些领域通常在数学和算法上更加智能)这些东西,但实际上不太直观)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenGL:缩放自适应网格线 的相关文章

随机推荐