c++ - 为多边形轮廓绘制圆的最有效方法

标签 c++ c opengl

我正在使用 OpenGL,并被告知我应该在轮廓的每个顶点绘制圆圈以获得平滑度。我试过了,效果很好。问题是速度。它削弱了我的应用程序在每个顶点绘制一个圆圈。我不确定除了圆之外还有什么方法可以修复我的轮廓异常,但是使用显示列表和尝试使用顶点数组都非常慢。谢谢

参见:Edges on polygon outlines not always correct

最佳答案

一个(可能太花哨了)备选方案是绘制一个单一的多边形来包围圆(比如四边形),然后使用片段程序丢弃片段。写起来并非易事,但我敢打赌这是最快的方法。

如果从片段中心到圆心的距离大于所需的半径,您只需将圆参数传递给片段程序并丢弃片段。

关于c++ - 为多边形轮廓绘制圆的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3041262/

相关文章:

c++ - CONFUSED -- c++ 第 3 方库,c++ 新手

c++ - 这种方法是否仅更改名称的对象?

c - 用于演示矩阵的简单 C 图形库

opengl - SSBO 和图像加载/存储之间的区别

c++ - GCC ICE——替代函数语法、可变参数模板和元组

c++ - OpenGL 二维旋转

c - scanf() 在 printf() 之前是如何执行的

c - 用openssl EVP在C中解密aes ccm 128,mic 8bit

c++ - Linux 下 OpenGL 中的段错误

opengl - 如何从深度纹理中获取深度值?