public void OnResize(int width, int height) { _width = width; _height = height; GL.Viewport(0, 0, width, height); GL.BindBuffer(BufferTarget.PixelUnpackBuffer, _pub); GL.BufferData(BufferTarget.PixelUnpackBuffer, new IntPtr(width * height * sizeof(float) * 4), IntPtr.Zero, BufferUsageHint.DynamicCopy); if (_openCl != null) { _openCl.Dispose(); } _openCl = ComputeBuffer <Vector4> .CreateFromGLBuffer <Vector4>(_queue.Context, ComputeMemoryFlags.WriteOnly, _pub); GL.BindTexture(TextureTarget.Texture2D, _texture); GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, width, height, 0, PixelFormat.Rgba, PixelType.Float, IntPtr.Zero); const int glLinear = 9729; GL.TexParameterI(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, new[] { glLinear }); GL.TexParameterI(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, new[] { glLinear }); }