如何初始化rs_matrix4x4类型的常量?

问题描述:

如何初始化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}; 

不起作用。编译器将返回一个错误消息:

Error:(11, 20) error: Reflection of initializer to variable 'xyz2rgb_m' (of type 'rs_matrix4x4') is unsupported currently.

我应该初始化在由元件的功能元件的矩阵?

对于rs_matrix4x4初始化,有一个set of functions,通用名为rsMatrixLoad。他们可以从数组或矩阵中加载矩阵元素。

例如人们可以通过数组的值使用该功能进行初始化:

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); 
} 

也有一组用于加载的特殊矩阵(例如投影)的方法。