java - 如何将jointMatrix传递给着色器glTF?(java opengles20)
问题描述
我试图弄清楚如何在 Android 上显示 GLTF 文件。
我按照这里的说明做所有事情。
需要将参数float [] []传递给shader
我是这样试的
//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?
解决方案
推荐阅读
- r - 二进制运算符错误 R Studio 的非数字参数
- payment-gateway - Elavon Converge - emvchipsale 字段 ssl_tlv_enc
- php - 自动生成html页面
- php - 调试 SQL 中的错误 1064 以查看长 SQL 语句的失败原因
- multithreading - 时间片的价格是多少?
- javascript - 如何让弹出表单在 jQuery 中工作?
- c# - HttpContext.Session.SetString() 在 .net core 3.1 中不起作用
- java - 不和谐 Java JDA | 哪个反应是addet
- json - 结构标签选项不为字段提供标签名称
- python - Matplotlib x 轴日期到日期时间格式