Как динамически создать FloatBuffer

Мне нужно создать FloatBuffer из динамического набора поплавков (, то есть я не знаю длину заранее ). Единственный способ, который я нашел для этого, довольно неэлегантный (ниже ). Я предполагаю, что что-то упускаю, и должен быть более чистый/простой метод.

Мое решение:

Vector<Float> temp = new Vector<Float>();
//add stuff to temp
ByteBuffer bb = ByteBuffer.allocateDirect( work.size() * 4/*sizeof(float)*/ );
bb.order( ByteOrder.nativeOrder() );
FloatBuffer floatBuf = bb.asFloatBuffer();
for( Float f : work )
    floatBuf.put( f );
floatBuf.position(0);

Я использую свои буферы для команд OpenGL, поэтому мне нужно держать их в пределах (, то есть полученный FloatBuffer не является просто временным пространством ).

5
задан edA-qa mort-ora-y 7 August 2012 в 09:31
поделиться