Estoy generando un mapa de altura para cada quad en mi quadtree en openCL. La forma en que estaba creando la imagen es la siguiente:
DataBufferInt dataBuffer =
(DataBufferInt)img.getRaster().getDataBuffer();
int data[] = dataBuffer.getData();
//img is a bufferedimage
inputImageMem = CL.clCreateImage2D(
context, CL_MEM_READ_WRITE | CL_MEM_USE_HOST_PTR,
new cl_image_format[]{imageFormat}, size, size,
size * Sizeof.cl_uint, Pointer.to(data), null);
Esto funciona bien, pero el problema principal es que a medida que los quads se vuelven cada vez más pequeños, el formato de 8 bits de la imagen almacenada comienza a causar problemas intolerables de "escalonamiento" como se ve a continuación:
Me preguntaba si habría una forma alternativa de hacer esto.
Gracias por el tiempo.