2009-07-07 125 views
2

我真的很新鲜OpenGL,这对我来说是一件非常糟糕的事情: 我需要用openGl画出一颗星星,但我不确定我应该从哪里开始。OpenGl明星绘图

结果应该是这样的:

是否有一个简单的方法来做到这一点?

回答

3

最简单的方法是绘制具有“星”纹理的纹理映射四边形。您可以在这里阅读关于纹理映射的教程:http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=06

该教程教会如何使用纹理绘制立方体。 你只需绘制一张脸,而不是全部六张。

本教程是用C++编写的,但接近尾声时可以下载Delphi版本的源代码。

您还可能希望稍后添加其他效果,例如透明度。你也可以在NeHe网站上阅读。它在OpenGL上有很多有用的教程。这是学习OpenGL的好地方。

+0

问题是我不想绘制纹理映射的四边形: 所有需要完成编码,没有图像需要使用,我需要这个,因为我确实需要改变光照水平。 谢谢你的回答! – Andy 2009-07-07 22:33:36

+1

然后你最好得到一个不同的例子。您显示的图像_looks_像一个有纹理的四边形,不像多边形数据。纹理本身当然可以从代码生成,但这与OpenGL完全无关。你能否给我们提供一个你想达到的更好的例子? – 2009-07-08 18:50:00

2

如果您是OpenGL的新手,并且您使用的是Delphi,那么您可能最需要的是GLScene。成熟,活泼,代码质量非常好,当然,免费。

0

为什么不写一个算法来在程序中使用2D GLuByte数组在代码中生成纹理,如Redbook中的“checker.c”示例?不要遵循一个完美的棋盘图案,找出如何使用glTexImage2D(...)制作该星形的2D纹理并将其映射到四边形。