gpt4 book ai didi

opengl-es-2.0 - 在 OpenGL ES 2.0 中,除了相邻共面面上的线之外,如何绘制三角形线框?

转载 作者:行者123 更新时间:2023-12-01 02:46:10 24 4
gpt4 key购买 nike

我依稀记得在 OpenGL 中看到过一些东西(不是 ES,当我遇到这个时,它仍然是 iPhone 上的 v1.0,这就是我从未使用它的原因)让我指定我的多边形的哪些边被认为是轮廓与那些组成面部的内部。因此,这与整个模型的轮廓(我知道如何做)不同,而是平面的轮廓及其所有三角形基本上混合成一个多边形。例如,在一个由 tris 组成的立方体中,每个面实际上是两个 tris。我想渲染正方形的轮廓,而不是脸上的对角线。六边形也是一样。这需要四个tris,但面部轮廓只需要一个。

现在是的,我知道我可以简单地测试所有边,看看它们是否共享共面,但我可以发誓我记得在定义三网格数据时看到某处,你可以说'这条线勾勒出一个面,而这条线勾勒出一个面一个在一张脸里面。这样在渲染时,你可以设置一个标志,基本上说“给我一个线框,但只有完整面边缘周围的线,而不是组成它们的三边形。”

顺便说一句,我的目标是所有支持 OpenGL ES 2.0 的平台,但我的开发平台是 iOS。同样,这个我很确定最初是在 OpenGL 中,一旦着色器出现,它可能已经贬值,但我什至找不到这个功能的引用来检查是否是这种情况。

我现在知道的唯一方法是拥有一组顶点,但有两组独立的索引……一组用于渲染 tris,另一组用于渲染面的线框。这是一个真正的痛苦,因为我最终手动编写了很多代码,再次,我 99% 确定您可以在渲染线条时定义。

最佳答案

OpenGL ES 不支持 GL_QUADS、glEdgeFlag 和 glPolygonMode。

您可以使用 LINES 绘制线框:要获得隐藏线,首先绘制黑色填充三角形(打开 DEPTH),然后使用 GL_LINES 绘制您感兴趣的边。

关于opengl-es-2.0 - 在 OpenGL ES 2.0 中,除了相邻共面面上的线之外,如何绘制三角形线框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6885305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com