che*_*ica 6 opengl-es glsl ipad ios opengl-es-2.0
我想在我的OpenGL ES 2.0顶点着色器中转置一个矩阵,但显然我的iPad 3不支持#version 120
内置函数所需的GLSL transpose(mat4)
.
我知道有一些方法可以解决这个问题,比如在将矩阵传递到图形芯片之前将其转换到CPU上,但是如果我可以将它转置到那里,它会使我的着色器变得更加简单.
那么,transpose
iOS 6设备上的着色器中有mat4 选项吗?
另一件事:问题
说OpenGL ES 2.0使用GLSL 1.20.那么为什么不能#version 120
在iPad 3上运行呢?
Jeb*_*Jeb 13
您是否尝试过自己调换一下?这是性能问题吗?如果没有,我会尝试它,因为它是优化器应该处理的东西,它将花费两分钟.就像是:
highp mat4 transpose(in highp mat4 inMatrix) {
highp vec4 i0 = inMatrix[0];
highp vec4 i1 = inMatrix[1];
highp vec4 i2 = inMatrix[2];
highp vec4 i3 = inMatrix[3];
highp mat4 outMatrix = mat4(
vec4(i0.x, i1.x, i2.x, i3.x),
vec4(i0.y, i1.y, i2.y, i3.y),
vec4(i0.z, i1.z, i2.z, i3.z),
vec4(i0.w, i1.w, i2.w, i3.w)
);
return outMatrix;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5845 次 |
最近记录: |