简介
该程序基于 No.6_2_OpenCLSampler,功能保持不变,对图像执行旋转操作。不同的是运行环境为 Ubuntu,GPU 是 AMD RX 460,支持 OpenCL 1.2 版本。完整源代码参见 No.3_OpenCLSampler。
实现
本程序在 No.6_2_OpenCLSampler 的基础上做了一些修改,改进如下:
- 使用 clCreateImage 来创建图像对象;
- 增加对 FreeImage 的接口调用;
- 如果采样点的区域在图像外,将颜色设置为黑色。
1.创建图像对象
cl_mem in_buffer;
cl_image_desc image_desc;
memset((void *)&image_desc, 0, sizeof(cl_image_desc));
image_desc.image_type = CL_MEM_OBJECT_IMAGE2D;
image_desc.image_width = w;
image_desc.image_height = h;
cl_image_format image_format;
<