将 vec2 数组传递给 Fragment Shader Opengl es 2.0

发布于 2024-11-03 15:18:16 字数 503 浏览 0 评论 0原文

我正在尝试将 vec2 数组传递给片段着色器,但我似乎不知道如何传递。

在我的应用程序中,我有以下数组。

GLfloat myMatrix[] = { 100.0, 100.0,
    200.0, 200.0 };

glUniformMatrix2fv(matrixLocation, 2, 0, myMatrix);

在我的片段着色器中,我试图像这样访问这些值

uniform vec2 myMatrix[2];

gl_FragColor = gl_FragCoord.xy + myMatrix[0].xy;

,但是 fragcolor 不会改变它应该就像我将其硬编码到

gl_FragColor = gl_FragCoord.xy + vec2( 100.0, 100.0 ).xy;

任何想法如何将这些 vec2 值传递到着色器中

提前致谢

I am trying to pass in an array of vec2 to a fragment shader but i can't seem to work out how.

In my application i have the following array.

GLfloat myMatrix[] = { 100.0, 100.0,
    200.0, 200.0 };

glUniformMatrix2fv(matrixLocation, 2, 0, myMatrix);

and in my fragment shader i am trying to access those values like so

uniform vec2 myMatrix[2];

gl_FragColor = gl_FragCoord.xy + myMatrix[0].xy;

however the fragcolor does not change which it should as if i hard code it to

gl_FragColor = gl_FragCoord.xy + vec2( 100.0, 100.0 ).xy;

Any ideas how i can pass these vec2 values into the shader

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文