Android OpenGl什么是跨步?
我正在学习opengl 我使用了一个函数,比如Drawxxxxxx,其中一个参数是stride 我不知道它的用法,也不知道跨步的含义Android OpenGl什么是跨步?,android,graphics,opengl-es,Android,Graphics,Opengl Es,我正在学习opengl 我使用了一个函数,比如Drawxxxxxx,其中一个参数是stride 我不知道它的用法,也不知道跨步的含义 有人能告诉我吗?Stride允许顶点数组在数组中定期访问其所需的数据。例如,为了仅引用交织数组中的颜色值,以下调用从数组的开头开始(也可以作为&interwined[0]传递),并向前跳转6*sizeof(GLfloat)字节,这是颜色和顶点坐标值的大小。此跳转足以到达下一个顶点数据的开头 GLCOLORPOINT(3,GL_浮点,6*sizeof(GLfloat
有人能告诉我吗?Stride允许顶点数组在数组中定期访问其所需的数据。例如,为了仅引用交织数组中的颜色值,以下调用从数组的开头开始(也可以作为&interwined[0]传递),并向前跳转6*sizeof(GLfloat)字节,这是颜色和顶点坐标值的大小。此跳转足以到达下一个顶点数据的开头 GLCOLORPOINT(3,GL_浮点,6*sizeof(GLfloat),交织) 您可以点击以下链接----
当您希望向顶点着色器传递更多信息而不仅仅是顶点的位置时,可以使用所谓的交错阵列。例如:
struct Information {
GLfloat position[3];
GLfloat color[3];
GLfloat texture[2];
};
因此,该结构的一个可能实例是:
struct Information vertices[] = {
// Positions // Colors // Texture Coords
{{0.5f, 0.5f, 0.0f}, {1.0f, 0.0f, 0.0f}, {1.0f, 1.0f}},
{{0.5f, -0.5f, 0.0f}, {0.0f, 1.0f, 0.0f}, {1.0f, 0.0f}},
{{-0.5f, -0.5f, 0.0f}, {0.0f, 0.0f, 1.0f}, {0.0f, 0.0f}},
{{-0.5f, 0.5f, 0.0f}, {1.0f, 1.0f, 0.0f}, {0.0f, 1.0f}}
};
为了正确地将其传递给着色器属性,您需要准确地通知它如何提取(例如)位置信息。这就是大步前进的地方
Stride是在此数组上启动新索引所需的跳转字节数。在本例中,它是sizeof(结构信息)
。下面的图片很有帮助
有关更多信息,请参阅教程我可以给我一些简单解释的例子吗?这个答案比公认的答案更清楚,图片清楚地解释了发生的事情。