Пытался сделать так, что бы VBO отрисовывала первый буффер, пока в другом потоке заполнялся второй буффер, а когда второй заполнился, буфферы меняются местами и по циклу. Но у меня не получилось и картинка от моего кода начала сильно глюкать (съехали все точки с UV). Вот код:
private ByteBuffer buffer0 = BufferUtils.createByteBuffer(1);
private ByteBuffer buffer1 = BufferUtils.createByteBuffer(1);
private volatile Boolean selector;
public void updateBuffer(){ // Вызывается каждую секунду
if (selector)
buffer0 = BufferUtils.createByteBuffer(count);
else
buffer1 = BufferUtils.createByteBuffer(count);
ByteBuffer activeBuf = selector ? buffer0 : buffer1;
new Thread(() -> {
float[] data = getData();
activeBuf.asFloatBuffer().put(data).flip();
selector = !selector;
}).start();
}
public void render(){
glBindBuffer(GL_ARRAY_BUFFER, vboID);
glBufferData(GL_ARRAY_BUFFER, selector ? buffer1 : buffer0, GL_DYNAMIC_DRAW);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, 0);
glEnableClientState(GL_COLOR_ARRAY);
glColorPointer(3, GL_FLOAT, 0, vertexSize*4);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, (vertexSize+colorSize)*4);
glDrawArrays(GL_QUADS, 0, vertexCount);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER, 0);
}
Никак не могу понять, где что неправильно работает
Пункты меню, вынесенные в ActionBar работают, а те, что можно увидеть лишь при раскрытии меню не реагируют на нажатиеЕсли поменять значения в атрибутах...
Все функции возвращают List<Person>Но внутри функции есть переменная типа Collection<Person> и ее надо вернуть