Получение значения из глобального RenderScript обратно в Java
Я увеличиваю значение глобала в RS с целью передачи его обратно в Java по завершении ядра. rsDebug показывает значение, увеличивающееся на каждой итерации, но mScript.get_var() возвращает начальное значение 1. Как правильно получить последнее значение MAX?
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()));
1 ответ
Решение
get_var возвращает только последнее значение, установленное Java, а не последнее значение, установленное кодом RS. в какой-то момент в будущем это будет решено, но пока нет. сейчас обходной путь - сохранить значение в распределении RS и скопировать его обратно в Java.
да, это не здорово извините, это в моем списке вещей для решения (я почти сделал это, но это намного сложнее, чем я первоначально думал из-за BaseObjs, который может быть установлен из RS).