как передать JointMatrix в шейдер GLTF? (java opengles20) - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь выяснить, как отобразить файл GLTF на Android.

Я делаю все в соответствии с инструкциями здесь.

это требуется передать параметр float [] [] в шейдер

Я пробовал это так,

    //joinMatrix
    float[][] jointmatrix = new float[12][];
    ...
    glUniformMatrix4fv(rs.u_jointMat, 1, false, jointmatrix, 0);

, но массив float [] [] не хочет передавать.

...
attribute vec4 a_joint;
attribute vec4 a_weight;

uniform mat4 u_jointMat[12];

...
void main(void)
{
    mat4 skinMat =
        a_weight.x * u_jointMat[int(a_joint.x)] +
        a_weight.y * u_jointMat[int(a_joint.y)] +
        a_weight.z * u_jointMat[int(a_joint.z)] +
        a_weight.w * u_jointMat[int(a_joint.w)];
    vec4 pos = u_modelViewMatrix * skinMat * vec4(a_position,1.0);
    gl_Position = u_projectionMatrix * pos;
}

скажите, пожалуйста, как передать u_jointMat в шейдер glTF?

...