opengl - 尝试在 OpenGL 中使用三角形绘制复杂多边形时出错
问题描述
我正在尝试在 OpenGL 中绘制复杂的二维多边形。我用 GL_TRIANGLES 编写了所有渲染方法,所以我不想更改为 GL_TRIANGLE_STRIP 或类似的东西。
本质上,我有一个有序坐标列表,我想从它们创建一个多边形,如下所示:
我最初使用的方法是在第一个顶点和接下来的两个顶点之间创建一个三角形,并这样做直到三角形位于第一个和最后两个顶点之间。但是,在上面的 L 形多边形上,我得到这样的结果:
如您所见,以这种方式索引顶点会在不应该有三角形的区域绘制三角形。如何使用 GL_TRIANGLES 索引顶点以获得类似于第一个结果的结果?顶点每次都会不同,但总是按顺时针顺序排列,所以我需要一种适用于任何多边形的通用方法。
解决方案
推荐阅读
- angular - 如何在 events.addUserLoaded Angular 6 中重定向
- html - Bootstrap 如何使模态外部可以滚动和模态固定?
- java - 是否可以在没有两个循环的情况下遍历二维数组?
- java - 无法使用 java 将值设置为 JxBrowser localstorage
- java - 通过在组中拖动矩形来扩大组时的Javafx setscale问题
- php - 在 Woocommerce 中重命名多个订单状态
- python - 在 64 位 Windows 上安装 Cloud SQL 代理时出现问题
- java - Spring如何手动注册不规则类bean
- ruby-on-rails - 如何在 termux 上安装特定版本的 ruby-dev
- ios - 使用 Swift 的聊天机器人中的 IBM Watson HyperLink