我使用以下过程将数字数组传输float
到RenderScript 内核,它工作正常。
float[] w = new float[10];
Allocation w_rs = Allocation.createSized(rs, Element.F32(rs), 10);
w_rs.copy1DRangeFrom(0, 10, w);
我想使用类似的过程来传输 Float4 值,如下所示
Float4[] w = new Float4[10];
for (int i = 0; i < 10; i++) {
w[i] = new Float4(i, 2*i, 3*i, 4*i);
}
Allocation w_rs = Allocation.createSized(rs, Element.F32_4(rs), 10);
w_rs.copy1DRangeFromUnchecked(0, 10, w);
导致以下错误
传递的对象不是基元数组
显然,w
应该是原语数组。但我想w
成为Float4
.