• Advertisement
Sign in to follow this  

OpenCL not reading from GL texture

This topic is 1840 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm trying to write an OpenCL raycaster but I have run into a problem where I try to read from an image that was generated from an opengl texture but I get an undefined result that is far larger than it is supposed to be. I'm fairly sure the GL image is loaded correctly because I can see it in Gdebugger. The simplest case is here:
 
The texture is in RGBA8 format using GL_UNSIGNED_BYTE

my kernel:
__constant sampler_t smp = CLK_NORMALIZED_COORDS_FALSE|CLK_ADDRESS_REPEAT|CLK_FILTER_LINEAR;

__kernel void draw( __read_only image2d_t screen)
{
float4 sample = read_imagef(heightmap, smp, samplepos); // returns a number far larger than 1.0
}
Here I set up the image and arguments:
heightmapimage = cl::Image2DGL(compute->getContext(), CL_MEM_READ_ONLY, GL_TEXTURE_2D, 0, tex1.texPointer, &err);

VECTOR_CLASS<cl::Memory> mem_objects;
mem_objects.push_back(heightmapimage);
compute->getCommandQueue().enqueueAcquireGLObjects(&mem_objects);
raycaster.setArg(0, heightmapimage);
Is this a bug? If not where did I screw up? Edited by ic0de

Share this post


Link to post
Share on other sites
Advertisement
Not sure how but I seemed to fix the problem by fiddling around, although I'm not sure what exactly I did. Edited by ic0de

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement