1

私はレンダリングスクリプトを使用しています。配列の要素をレンダー スクリプトに渡し、レンダー スクリプトで各要素の 2 乗を実行し、データを Android フレームワークに戻したいと考えています。

次のコードでこれを実行しようとしています。

1.Java コード 2.RS コード

しかし、これらのコードでは、このことは不可能です。これらのコードでどのようなエラーが発生するか教えてください。

================================================== ==========================

Java コード

  public class SUM extends Activity {


private int[] input;
private int[] output;
private RenderScript mRS;
private Allocation mInAllocation;
private Allocation mOutAllocation;
private ScriptC_Sum mScript;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    input= new int[4];
    input[0]=0;
    input[1]=1;
    input[2]=2;
    input[3]=3;

    output =new int[4];

    createScript();
}


private void createScript() {

    mRS = RenderScript.create(this);

    mInAllocation    = Allocation.createSized(mRS, Element.U32(mRS),4);
    mOutAllocation   = Allocation.createTyped(mRS,mInAllocation.getType());
    mScript = new ScriptC_Sum(mRS, getResources(), R.raw.sum);

    mScript.bind_v_in(mInAllocation);
    mScript.bind_v_out(mOutAllocation);

    mScript.invoke_square(mInAllocation,mOutAllocation);


}
}

================================================== ========= RSコード

#pragma version(1)
#pragma rs java_package_name(com.cdacb.mars.summation)

#include "rs_types.rsh"
#include "rs_graphics.rsh"
#include "rs_core.rsh"

int32_t *v_in ;
int32_t *v_out;

 void square(){

}

void root(int32_t *v_in,int32_t *v_out )
{

   square();

 }
4

1 に答える 1