我试图创建一个z = y ^ 2 - x ^ 2的网格进行单一评估。我创建了一个矩阵数组来保存我想要绘制为GL_LINE_STRIPS
的sqaures sqaureMatrix[100]
。我想知道的是我如何将它发送到顶点着色器并显示它。
我将在下面添加一些代码,说明我到目前为止如何设置
asessment.cpp
mat4 squareMatrix[100];
// this is in general how i fill the matrix
mat4 pseudo = mat4
(
vec4(1,1,1,1),
vec4(1,1,1,1),
vec4(1,1,1,1),
vec4(1,1,1,1)
);
// loop through and actually add to the squarematrix like
squareMatrix[0] = pseudo;
vshader.glsl
uniform mat4 mMatrix;
void
main()
{
for (int i = 0; i < 100; i++)
{
gl_Position = mMatrix[i];
}
}
嗯,你得到它的主旨。矩阵设置得很好。我想我会加上它来澄清一些事情。
答案 0 :(得分:1)
好吧,你已经拥有了这个阵列。因此,通过将OpenGL作为顶点数组(或将其复制到顶点缓冲区对象,然后将其作为顶点数组引用)将OpenGL指向它。 Google会根据这些条款了解他们的所作所为。它们是每个现代OpenGL教程的一部分。然后根据该数据进行OpenGL绘制。
碰巧我刚刚添加了minimal VBO example to my codesamples GitHub repository,以回应另一个StackOverflow问题。它也与您的问题相符。