• coloredgrayscale@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      One way to get the data is to render to a (hidden) surface/canvas. It’s just bytes to the computer, so just dump the result data in the display buffer. Then you take a “screenshot” and interpret the RGBA values as data.

      • graphicsguy@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Graphics Programmer here.

        More likely you would just write data to a buffer (basically an array of whatever element type you want) rather than a render target and then read it back to the cpu. Dx, vulkan, etc. all have APIs to upload / download to / from the GPU quite easily, and CUDA makes it even easier, so a simple compute shader or CUDA kernel that writes to a buffer would make the most sense for general purpose computation like an advent of code problem.