我在标准的OpenGL着色器中有以下代码:
vec3 I4, C1, A0, G5;
mat3 yuv_weighted;
vec4 i4 = yuv_weighted[0] * mat4x3(I4, C1, A0, G5);
如何将其转换为不支持矩形矩阵的OpenGL ES 2.0?
答案 0 :(得分:0)
您可以尝试这样的事情:
vec3 I4, C1, A0, G5;
mat3 yuv_weighted;
vec4 i4 = vec4(dot(yuv_weighted[0], I4), dot(yuv_weighted[0], C1),
dot(yuv_weighted[0], A0), dot(yuv_weighted[0], G5));
甚至
vec4 i4 = vec4(yuv_weighted[0]*mat3(I4, C1, A0), dot(yuv_weighted[0], G5));
虽然第一个版本可能更有效(不确定)。