2013-10-22 2 views
1

커널 완료시 Java로 다시 전달할 목적으로 RS의 전역 값을 증가시킵니다. rsDebug는 각 반복에서 값이 상승하는 것을 보여 주지만, mScript.get_var()는 초기 값 1을 반환합니다. MAX의 마지막 값을 얻는 올바른 방법은 무엇입니까?RenderScript 전역에서 다시 Java로 값 가져 오기

RS :

int MAX = 1; 

void root(const input* in, float* out){ 
    MAX = MAX+1; 
    rsDebug("MAX",MAX); 
    *out = atan2(in->first, in->second); 
} 

자바 :

float[] out = new float[100000]; 
mScript.forEach_root(mInAllocation, mOutAllocation); 
mOutAllocation.copyTo(out); 
Log.i("Max Count...", Integer.toString(mScript.get_MAX())); 

답변

2

get_var는 자바의 RS 코드에 의해 설정되지 않은 마지막 값으로 설정 마지막 값을 반환합니다. 미래의 어떤 시점에서 이것이 다루어 질 것입니다, 그러나 그것은 아직 없습니다. 지금 당장은 RS 할당의 값을 숨기고 다시 Java로 복사하는 방법입니다.

예, 훌륭하지 않습니다. 죄송합니다. 주소 목록에 나와 있습니다 (거의했는데, RS에서 설정할 수있는 BaseObj 때문에 처음 생각했던 것보다 훨씬 복잡합니다).

+0

빠른 답변 감사드립니다. 내 핵심 문제를 해결하기 위해 후속 조치를 게시하겠습니다. – sarwar