ok, i found the problem and fixed my code. The problem was .flip(); method in buffer, after i removed it, it run normally.
Bug : flip(); creates undefined numbers at [limit, capacity] area, so it gives garbage results to the shader. Can you fix that bug in jme ?
Here is what i do:
a) create a buffer with all zeroes [0,capacity]
b) when i want to “set” a sprite i only chance the corresponding position. I leave the rest unmodified(the zeroes mean empty sprite).
c) it works fine.
d) bug: if i dared reduce the area to [0, max_sprites] with .flip();
jme would create garbage at [limit = max_sprites, capacity]
i would only use .flip() to reduce the amount of data transfered to gpuA “Graphics Processing Unit” is a specialized circuit designed to rapidly manipulate and alter memory in such a way so as to accelerate the building of images in a frame buffer intended for output to a display. GPUs are used in embedded systems, mobile phones, personal computers, workstations, and game consoles. to increase fps. But it doesn’t work.
so due to this bug the speed of the application depends on the size of the buffer initially created and not the number of sprites.
any ideas ?