如何初始化rs_matrix4x4类型的常量?
How to initialize constant of type rs_matrix4x4?
如何初始化rs_matrix4x4类型的常量?
类似的东西
const rs_matrix4x4 xyz2rgb_m = {
3.2406, -1.5372, -0.4986, 0.0000,
-0.9689, 1.8758, 0.0415, 0.0000,
0.0557, -0.2040, 1.0570, 0.0000,
0.0000, 0.0000, 0.0000, 1.0000};
不起作用。编译器returns一条错误信息:
Error:(11, 20) error: Reflection of initializer to variable 'xyz2rgb_m' (of type 'rs_matrix4x4') is unsupported currently.
我应该逐个元素地初始化函数中的矩阵吗?
有一个名为rsMatrixLoad
的set of functions用于rs_matrix4x4
初始化。他们可以从数组或矩阵中加载矩阵元素。
可以使用此函数按数组值进行初始化:
void rsMatrixLoad(rs_matrix2x2* destination, const float* array);
例如:
void init() {
float rgb2xyz_m_data[] = {
0.4124, 0.3576, 0.1805, 0.0000,
0.2126, 0.7152, 0.0722, 0.0000,
0.0193, 0.1192, 0.9505, 0.0000,
0.0000, 0.0000, 0.0000, 1.0000};
rsMatrixLoad(&rgb2xyz_m, rgb2xyz_m_data);
}
还有一套加载特殊矩阵的方法(例如投影一)
如何初始化rs_matrix4x4类型的常量?
类似的东西
const rs_matrix4x4 xyz2rgb_m = {
3.2406, -1.5372, -0.4986, 0.0000,
-0.9689, 1.8758, 0.0415, 0.0000,
0.0557, -0.2040, 1.0570, 0.0000,
0.0000, 0.0000, 0.0000, 1.0000};
不起作用。编译器returns一条错误信息:
Error:(11, 20) error: Reflection of initializer to variable 'xyz2rgb_m' (of type 'rs_matrix4x4') is unsupported currently.
我应该逐个元素地初始化函数中的矩阵吗?
有一个名为rsMatrixLoad
的set of functions用于rs_matrix4x4
初始化。他们可以从数组或矩阵中加载矩阵元素。
可以使用此函数按数组值进行初始化:
void rsMatrixLoad(rs_matrix2x2* destination, const float* array);
例如:
void init() {
float rgb2xyz_m_data[] = {
0.4124, 0.3576, 0.1805, 0.0000,
0.2126, 0.7152, 0.0722, 0.0000,
0.0193, 0.1192, 0.9505, 0.0000,
0.0000, 0.0000, 0.0000, 1.0000};
rsMatrixLoad(&rgb2xyz_m, rgb2xyz_m_data);
}
还有一套加载特殊矩阵的方法(例如投影一)