In java using openGL (ES) we can directly allocate ByteBuffer like
ByteBuffer bf ;
bf.allocateDirect();
But we can not do that in case of FloatBuffer it is not aviliable , why is that ?
I was wondering if it is because of :
Byte is accessible in hardware level (as OpenGL works just above hardware unlike delvik ) and registers in hardware (hardware of GPU ) are in bytes , even floating points numbers should be stored in 4 byte register which may not be available so we cannot allocate directly , rather we should tell the buffer to allocate the memory for a block of given size and after that put the data in those blocks and treat it again as FloatBuffer.