我正在尝试获取一个简单的渲染脚本函数来获取两个数字,将它们相加并返回结果,但是我还没有找到一个示例项目来顺利完成这项工作。当我尝试加载文件时,我不断收到一个奇怪的错误:
ScriptC_myexamplescript myScript;
RenderScript rs = RenderScript.create(this);
我得到错误:
Symbol not found: .rs.dtor on the next line:
myScript = new ScriptC_myexamplescript(rs, getResources(), R.raw.myexamplescript);
我的 .rs 文件很简单:
#pragma version(1)
#pragma rs java_package_name(com.exercise.<my pacakge name>);
void init(){
}
void root(const float *v_in, float *v_out) {
const float *data = v_in;
float *outData = v_out;
*outData = *data;
}
有谁知道这意味着什么,或者如果有一个简单的项目我可以为 Android ICS 下载,然后它可以进行数学运算,而不是实际的渲染?
(我可以让渲染脚本文件工作,但这不是我想要的。我不想要任何图形)
编辑今天我试图让它运行,并得到以下问题:
Allocation mInAllocation = null;
Allocation mOutAllocation;
float[] A = new float[1];
for (int i = 0; i < 1; i++) {
A[i] = 2;
}
Allocation inFloatPointer = Allocation.createSized(rs, Element.F32(rs), A.length, Allocation.USAGE_SCRIPT);
Allocation outFloatPointer = Allocation.createSized(rs, Element.F32(rs), A.length, Allocation.USAGE_SCRIPT);
inFloatPointer.copyFrom(A); // copies from an array of floats (random numbers in this test case).
mScript.forEach_root(inFloatPointer, outFloatPointer);
我收到错误消息:对于类型 ScriptC_RenderScript 的 forEach_root 方法未定义 .java 文件中没有 forEach_root 函数,即使在我清理项目后它仍然不存在。
是否有一个简单的项目可以下载,只需一个数学函数即可下载?