如何使用opengl在Haskell中绘制一个圆

lew*_*mbs 2 opengl geometry haskell

我想知道如何绘制圆圈.根据我的理解,这只能使用很多三角形来完成.但是,我找不到足够清楚地解释它的教程,以便我理解和复制.有没有人知道任何好的教程网站/可以向我解释如何制作一个?

C. *_*ann 5

我不认为有任何方法可以在OpenGL中绘制一个真正的圆,但有两种基本方法来近似它:

  • 使用纹理:确保纹理支持透明度并且适当地设置了混合(在任何OpenGL介绍中都应该找到),然后只需加载包含圆的图像文件并将其应用于正方形.要绘制许多小圆圈(比如粒子引擎),这就是要走的路.

  • 绘制一个有很多边的多边形:一个角落的三角形扇形,或者在中心相交的一堆切片.您使用的三角形越多,它看起来越接近真圆,但这些是有限的资源,并且您并不总是希望花费大量多边形来近似曲线.如果你只有几个圆圈被绘制得足够大以使纹理变得笨拙,那么这是最好的.

对于后一种方法的一个例子,可以看graphics-drawingcombinators封装,它采用了24边的多边形.对于前者的示例,任何使用纹理的教程都可以.