I’m very new to OpenCL so please excuse me if any of this is due to some simple mistakes.
I am having some syncing issues with CL/GL interop, or at least i think i am.?
The above skinning error happens for a split second while switching between one key frame and the next. I am not doing any interpolation between key frames, though the same error occurs when interpolation is enabled albeit less pronounced.
I am updating this models skinning matrices using OpenCL. The Matrices along with the animation data are held in buffers created using OpenGL. I have two version of the above skinning program written using openCL; One directly writes to a Texture Buffer Object which is used in the model’s vertex shader. The second writes to a Vertex Buffer in CL which is then copied using a PBO to a 1D texture by the application, the 1D texture is then used is the model’s vertex shader. Both versions display the above error. It’s not present in my original version which did the skinning work on the CPU and then transferred the data to the GPU as a 1D texture.
The error only really happens for what seems like a frame, the model displays properly afterwards. I could only really think of putting some gl/cl Flush and Finish calls before and after i ran the kernel but it didn’t seem to change anything.
Any help or hints would be greatly appreciated.
I’m using CL1.0 and GL3.3 on an gtx460 with the latest drivers.