首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Glsl矩阵中设置列

在Glsl矩阵中设置列
EN

Stack Overflow用户
提问于 2013-10-20 19:58:57
回答 1查看 818关注 0票数 1

如何在Glsl中更改矩阵中的值。我想在第三栏中更改nMatrix的词句。

到目前为止,我尝试过这个:

代码语言:javascript
复制
mat4 nMatrix;

for (int i = 0; i < 3; i++) {

    nMatrix = uMatrix;
    for (int k = 0; k < 2; k++) {
         //nMatrix[3].xyz = 0.0;
         nMatrix[3][k]= 0.0;
    }
}

但是我得到了一个编译错误:

向量从1到3的隐式截断。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-20 20:10:19

为什么要用不变的内环循环三次呢?

无论如何,如果要在4x4矩阵中设置特定的列(第3),可以这样做:

代码语言:javascript
复制
mat4 nMatrix = uMatrix; // Assuming uMatrix is mat4
nMatrix [2]  = vec4 (0.0, 1.0, 2.0, 3.0);

GLSL在使用数组下标表示法时使用列主矩阵。这将允许您以vec4的形式访问矩阵的第三列。原始代码片段中的数组下标是逐个关闭的,而且还不清楚uMatrix是否与nMatrix的大小矩阵相同。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19482147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档