在OpenGL中绘制一个简单的抗锯齿火柴人

时间:2011-04-29 10:12:28

标签: c++ c opengl

我想在屏幕上画一个简单的2D火柴人。我也想让它消除锯齿。

问题在于我想使用一个骨骼系统,在我知道如何根据关节位置绘制火柴人本身之后编写。这意味着我不能使用精灵 - 我希望我的火柴人在代码中完全可以控制。

如果能够绘制曲线也会很棒。

使用模型绘制3D火柴人即使不是更好也会很棒。相机将被定位为2D,但我仍然会有深度。问题是我只有Maya的经验,OpenGL中模型的导出和顶点加权看起来很乱......

我试图找到用于2D抗锯齿绘图的库或启用多次采样并正常绘制,但我没有运气。我也尝试使用OpenGL的原生抗锯齿,但它似乎已被弃用,并且行连接很糟糕......

我不希望它太复杂,因为,它不应该 - 它只是我的程序的第一部分,它正在绘制一个火柴人 ......

我希望你们能帮助我,我相信你们比我更了解。)

2 个答案:

答案 0 :(得分:4)

您可以启用GL_SMOOTH。要检查设备是否支持平滑线所需的线宽,可以使用glGet(GL_SMOOTH_LINE_WIDTH_RANGE);

如果您希望代码是通用的,您还可以使用抗锯齿纹理。 看一下这个链接

http://www.opengl.org/resources/code/samples/advanced/advanced97/notes/node62.html

答案 1 :(得分:0)

获得抗锯齿的唯一方法是使用GL库,它知道如何为example,SDL获得抗锯齿GL上下文。从火柴人那里,你可以用彩色多边形画他。