用于clCreateFromGLTexture()的OpenCL C ++绑定

时间:2018-10-28 08:21:39

标签: c++ opencl

我正在尝试实现here中的OpenCL和OpenGL互操作性。

使用了函数clCreateFromGlTexture(),但是我在项目中使用的是C ++绑定,在它们的documentation上找不到等效的函数。

是否存在对此的绑定,或者有什么方法可以将cl :: Context对象转换为cl_context类型?

1 个答案:

答案 0 :(得分:1)

是的,所有cl::对象都从operator()继承cl::detail::Wrapper< T >并返回其cl_type。所以它可以像这样使用:

cl::context x; 
cl_context c = x();

此外,您可能希望使用cl::ImageGL,其行为类似于cl::Image,并且是完全通过clCreateFromGlTexture()调用从OpenGL纹理创建的。

请注意,即使使用c ++类,您仍必须使用clEnqueueAcquireGLObjectsclEnqueueReleaseGLObjects