繁体   English   中英

使用OpenGl ES如何减少Xcode中多维数据集上4个面的大小

[英]What to decrease the size of 4 faces on a cube in Xcode with OpenGl ES

我下载了一个使用Objective-C在ios中使用OpenGL ES的示例项目。 该应用程序创建一个简单的多维数据集。 我想通过减小立方体的正面和背面之间的距离(使其更纤细)将立方体制成矩形棱柱。 为此,我需要减小顶部,底部,左侧和右侧的尺寸。 我是openGL的新手,不知道要更改哪个代码以减少多维数据集的四个面。 这是代码

typedef struct {
  float Position[3];
  float Color[4];
  float TexCoord[2];
} Vertex;

const Vertex Vertices[] = {
  // Front
  {{1, -1, 1}, {1, 1, 1, 1}, {1, 0}},
  {{1, 1, 1}, {1, 1, 1, 1}, {1, 1}},
  {{-1, 1, 1}, {1, 1, 1, 1}, {0, 1}},
  {{-1, -1, 1}, {1, 1, 1, 1}, {0, 0}},
  // Back
  {{1, 1, -1}, {1, 1, 1, 1}, {0, 1}},
  {{-1, -1, -1}, {1, 1, 1, 1}, {1, 0}},
  {{1, -1, -1}, {1, 1, 1, 1}, {0, 0}},
  {{-1, 1, -1}, {1, 1, 1, 1}, {1, 1}},
  // Left
  {{-1, -1, 1}, {1, 1, 1, 1}, {1, 0}},
  {{-1, 1, 1}, {1, 1, 1, 1}, {1, 1}},
  {{-1, 1, -1}, {1, 1, 1, 1}, {0, 1}},
  {{-1, -1, -1}, {1, 1, 1, 1}, {0, 0}},
  // Right
  {{1, -1, -1}, {1, 1, 1, 1}, {1, 0}},
  {{1, 1, -1}, {1, 1, 1, 1}, {1, 1}},
  {{1, 1, 1}, {1, 1, 1, 1}, {0, 1}},
  {{1, -1, 1}, {1, 1, 1, 1}, {0, 0}},
  // Top
  {{1, 1, 1}, {1, 1, 1, 1}, {1, 0}},
  {{1, 1, -1}, {1, 1, 1, 1}, {1, 1}},
  {{-1, 1, -1}, {1, 1, 1, 1}, {0, 1}},
  {{-1, 1, 1}, {1, 1, 1, 1}, {0, 0}},
  // Bottom
  {{1, -1, -1}, {1, 1, 1, 1}, {1, 0}},
  {{1, -1, 1}, {1, 1, 1, 1}, {1, 1}},
  {{-1, -1, 1}, {1, 1, 1, 1}, {0, 1}},
  {{-1, -1, -1}, {1, 1, 1, 1}, {0, 0}}
};

const GLubyte Indices[] = {
  // Front
  0, 1, 2,
  2, 3, 0,
  // Back
  4, 6, 5,
  4, 5, 7,
  // Left
  8, 9, 10,
  10, 11, 8,
  // Right
  12, 13, 14,
  14, 15, 12,
  // Top
  16, 17, 18,
  18, 19, 16,
  // Bottom
  20, 21, 22,
  22, 23, 20
};

如果你们认为这不是确定面孔尺寸的代码,请告诉我可能使用了哪种方法,以便我可以在项目中找到它并将其发布在此处。

多亏了汤米,问题得以解决。 但是现在我有了新问题。 四个面的大小已减小,但是正面和背面现在在其余面之间有缝隙,这是屏幕截图。

在此处输入图片说明

如何将前表面向内朝向其他表面移动,使其与其他表面相连?

Vertices数组中的每个条目都定义了Vertex结构的一个实例。 因此,前三个是Position -列出的第一个顶点的位置为{1, -1, 1} ,第二个顶点的位置为{1, -1, 1} {1, 1, 1}等。它们都是此代码中的浮点数,因此会做。

Indices将顶点分组,强烈暗示为三角形。 因此,“前”是第0、1和2个顶点之间的三角形加上第2、3和0个顶点之间的三角形。

因此,顶面的大小由顶点0、1、2和3的位置确定。它们的z = 1 如果将其更改为z = 0.5则将顶面移向立方体的中心。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM