所以,我目前正在尝试学习Android的OpenGL ES作为我正在接受的移动编程课程的一部分。我想制作一个快速基本的3D游戏,用户在其中旋转“枪”,并在一定的时间限制内拍摄目标。我遇到的问题是设计我的目标形状。OpenGL ES 1.0 Android - 绘制更多高级形状
我想要目标形状是基本的钻石宝石形状。 我已经阅读了android开发人员指南,用于绘制带有顶点和索引的金字塔/多维数据集,这些顶点和索引描述了要绘制的形状矢量和脸部,但我在获取所需形状方面遇到了很多麻烦。
这里是我的目标的顶点和索引
float[] vertices =
{
-1.0f, -1.0f, -1.0f, //0. Back Right
1.0f, -1.0f, -1.0f, // 1. Back Left
0.0f, 1.0f, 0.0f, // 2. Top
-1.0f, -1.0f, 1.0f, //3. Front Right
1.0f, -1.0f, 1.0f, // 4. Front Left
0.0f, -2.0f, 1.0f //5. Bottom
};
byte[] indices =
{
3, 2, 4, 4, 5, 3, //draw front face
0, 2, 4, 5, 4, 0, // draw right face
1, 0, 5, 2, 0, 1, // draw back face
3, 1, 2, 5, 1, 3 // draw left
}; // end byte[] indices
在我试图绘制顶面,高于底面,并在我的形状包裹在一个计数器的时钟明智地指数
这里开始从前面移动到右边,然后分别离开。然而,凭借这一点,我的形状看起来就像是一艘旧式的福克斯星船。我以前寻找过帮助,但找不到任何帮助我的东西,无论是通过我的理解,还是一个类似的问题,但是关于着色器或纹理。
我想我的问题是你如何正确应用这种形状的图纸?我已经尝试过很多反时钟智者的尝试,这些尝试总是把我引向最奇怪的形状。我不认为我完全理解如何按顺序绘制指数。我会张贴一些照片,但我是新来的>>
谢谢你提前给所有帮助。
什么原始您使用的类型(glDrawElements'的'第一个参数)?它是“GL_TRIANGLES”吗?如果没有人跳进去,我今天晚些时候可以看一看。请在纸上画一些草图...... –
是的,它是GL_TRIANGLES。我还没有搞砸其他任何人,仍然想让我的基础知识得到解决。 –