There are two things I discussed here:
- Compute shaders. @hexgrid said it’s an OpenGL 4.3 feature, apparently not available on compatibility mode.
- Dynamic buffers. This topic is simply about transferring data to VRAM while avoiding redundant copying.
To solve the latter, I tried to define a uniform, but there’s a max size of 65536=2^16
bytes, and you can only use statically sized arrays.
Therefore, I focused on ImageTexture
and Image
. The problem became avoiding double copies: my data on RAM -> image data on RAM -> VRAM
, so the idea became how to let the Image.get_data()
directly return the address of my data, as in the post section below.