我想了解Renderscript。有人可以看看這段代碼,讓我知道in
參數是什麼?它不是一個分配對象,所以它是一個元素?爲什麼它是一個數組呢?Renderscript,`in`參數是什麼?
(我從這裏的代碼,並且修改了它,http://www.jayway.com/2014/02/11/renderscript-on-android-basics/)
#pragma version(1)
#pragma rs java_package_name(foo.bar)
rs_allocation inPixels;
int height;
int width;
void root(const uchar4 *in, uchar4 *out, uint32_t x, uint32_t y) {
float3 pixel = convert_float4(in[0]).rgb;
pixel.r = (pixel.r + pixel.g + pixel.b)/3;
pixel.g = (pixel.r + pixel.g + pixel.b)/3;
pixel.b = (pixel.r + pixel.g + pixel.b)/3;
int topRight
//float4 f4 = rsUnpackColor8888(*(uchar*)rsGetElementAt(inPixels, x+1, y+1));
out->xyz = convert_uchar3(pixel);
}
這是什麼線convert_float4(in[0])
呢? 索引0指向什麼?第一個像素?所以如果我想訪問下一個像素,我應該增加一個?
多少位「在」確實有?我怎麼知道它的大小?不管我輸入的數字是多少,都不會引發出界錯誤 –
* in只是您在Java中創建的單個單元格的佔位符。你不能用它來索引[0]或* in以外的任何內容(這是等價的)。這同樣適用於。 –