OpenCL 内建图像写函数

OpenCL也内建了一些图像写函数,通过这些函数,我们可以直接把像素值写入到图像对象中。在下表中列出了这些内建图像写函数。

内建图像写函数



内建图像写函数

上表中的函数,参数color都是有符号的整数类型。参数color为f loat4、in4或uint4的矢量数据。

写入3D图像对象是可选特性。这个特性是通过cl_khr_3d_image_writes扩展的。因此如果内核中需要修改image3d_t数据类型,需要查询设备是否支持这个特性。同时在内核代码中添加如下语句:

#pragma OPENCL EXTENSION cl_khr_3d_image_write:enable

OpenCL 内建无采样器图像读函数中的例子,对于内核代码,我们添加写入图像操作:

kernel void ImageTest(read_only image2d_t Src,
write_only image2d_t Dst)
{
    int2 coord = (int2)(get_global_id(0), get_global_id(1));
    float4 p00 = read_imagef(Src , coord);
    ……
    write_imagef(Src, coord, (float4)( p00.x, p00.y, p00.z, 1.0f ));
}
赞(0)
未经允许不得转载:极客笔记 » OpenCL 内建图像写函数
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址