0

我试图创建一个 z = y^2 - x^2 的网格以进行 uni 评估。我创建了一个矩阵数组来保存我想要绘制的GL_LINE_STRIPS正方形sqaureMatrix[100]。我想知道的是如何将它发送到顶点着色器并显示它。

我将在下面放一些代码,说明到目前为止我是如何设置的

评估.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];
    }
}

好吧,你明白了。矩阵设置得很好。我想我会添加它来澄清一些事情。

4

1 回答 1

1

好吧,你已经有了数组。因此,您可以通过将 OpenGL 作为顶点数组传递来将其指向它(或者将其复制到顶点缓冲区对象上,然后将其作为顶点数组引用)。谷歌这些术语以了解它们的作用。它们是每个现代 OpenGL 教程的一部分。然后让 OpenGL 从该数据中进行绘制。

碰巧的是,我最近才在我的 codesamples GitHub 存储库中添加了一个最小的 VBO 示例,以回应另一个 StackOverflow 问题。它也符合你的问题。

于 2013-09-21T13:21:14.703 回答