I want to render a scene to a 32bit floating point RGBA texture, pass it to a CUDA kernel, do some processing on the texture, then write it back to another 32 bit float RGBA texture. Is this possible? I am confused as to whether or not I can write to a GL texture from within a CUDA kernel. I have seen some examples that use 8 bit unsigned char RGBA textures, but I must have floating point textures.
CUDA texturing, meaning using the texture reference or texture object APIs, is a read-only capability from the standpoint of kernel code.
"There are also two additional read-only memory spaces accessible by all threads: the constant and texture memory spaces. "
You can write to surface objects though, which in essence are the writable counterpart to textures.