3

我需要在我的 Android 应用程序中绘制圆圈。实际上这是一个吃豆人游戏,我需要画平板电脑。由于现场有很多平板电脑,我决定用一个多边形绘制每个平板电脑。

这是我的想法的说明:

http://www.advancedigital.ru/ideal_circle_with_only_one_polygon.jpg

顶点坐标:

//  (x, y)
0 : -R, R * (Math.sqrt(2) + 1)
1 : -R, -R
2 : R * (Math.sqrt(2) + 1), -R

顶点坐标是相对于圆心计算的,以便以后轻松放置圆。

问题出在纹理映射中,根据我的计算,UV应该是这样的

0 : 0, -(Math.sqrt(2) + 0.5)
1 : 0, 1
2 : 1, (Math.sqrt(2) + 0.5)

但负 V 值会导致应用程序仅显示黑屏。这就是为什么我认为我错过了什么或者我走错了路……</p>

我的问题是:是否可以以这种方式渲染纹理?如果不可能,画小点的最佳方法是什么?

PS:我在 Android 上使用 OpenGL ES 2.0。

在我看来,这家伙正在尝试做同样的事情。

4

1 回答 1

1

和纹理参数默认设置GL_TEXTURE_WRAP_S为。将它们设置为以获得您正在寻找的效果(请参阅glTexParameter 文档GL_TEXTURE_WRAP_TGL_REPEATGL_CLAMP_TO_EDGE

于 2012-08-01T04:59:46.680 回答