LWJGL PBO делает текстуру простой белойJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 LWJGL PBO делает текстуру простой белой

Сообщение Anonymous »

Я копирую вопрос с форума LWJGL, потому что форум слишком медленный < /p>
Я хотел воспроизвести видео, используя четырехстороннюю текстуру, и для теста я сделал простой класс, который получает байтбаффер с первым кадром видео и создает из него текстуру. Все сработало хорошо. Однако, когда я попытался сделать то же самое с PBO (что позволит мне быстрее обновлять текстуру в будущем), был отображен только твердый белый квадроцикл.
Вот мой класс текстуры сейчас: < /p>

Код: Выделить всё

public class VidTexture {
int w, h, textureId, pbo;
VidTexture(int w, int h, ByteBuffer buf) {
this.w = w;
this.h = h;
buf.flip();

pbo = glGenBuffers();
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, pbo);
glBufferData(GL_PIXEL_UNPACK_BUFFER, w*h*3L, GL_STREAM_DRAW);
ByteBuffer bb = glMapBuffer(GL_PIXEL_UNPACK_BUFFER, GL_WRITE_ONLY);
bb.put(buf);
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0);

textureId = glGenTextures();

glUnmapBuffer(GL_PIXEL_UNPACK_BUFFER);

glBindTexture(GL_TEXTURE_2D, textureId);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);

glBindBuffer(GL_PIXEL_UNPACK_BUFFER, pbo);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, w,
h, 0, GL_BGR, GL_UNSIGNED_BYTE, 0);
glGenerateMipmap(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, -1);
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0);

buf.clear();
}
//Here is cleanUp and bind functions
}
может кто -нибудь мне помочь, пожалуйста?

Подробнее здесь: https://stackoverflow.com/questions/796 ... lain-white
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • LWJGL PBO делает текстуру простой белой
    Anonymous » » в форуме JAVA
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • LWJGL PBO делает текстуру простой белой
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Как запросить текущий статус памяти OpenGL PBO (всего/доступно на данный момент)?
    Anonymous » » в форуме C++
    0 Ответы
    107 Просмотры
    Последнее сообщение Anonymous
  • Остановка асинхронного PBO OpenGL
    Anonymous » » в форуме C++
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как сделать Memcpy Asynchronous при загрузке текстур с PBO OpenGL
    Anonymous » » в форуме C++
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»