|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.08.2015, 12:08 | #1 |
Форумчанин
Регистрация: 20.04.2009
Сообщений: 136
|
OpenGL Искажается текстура
Создаю текстуры в OpenGL (раньше загружал их из bmp файлов, сейчас, для примера, уже просто заливаю их цветом):
Код:
Код:
Использовал glGetTexImage для проверки, текстуры загружаются нормально, но после glClear или glBindTexture первые байты какой-то текстуры могут обнулиться. Почему так может быть, и с чем это связано? |
29.08.2015, 14:13 | #2 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
поставь еще
Код:
|
29.08.2015, 14:27 | #3 |
Форумчанин
Регистрация: 20.04.2009
Сообщений: 136
|
У меня не определена константа GL_TEXTURE_MAX_LEVE, нашел что она равна 33085, это так?
В любом случае, даже с Код:
Проблема в том, что обнуление происходит всегда по-разному, а порой его может и не быть, хотя код не изменяется вообще... |
29.08.2015, 14:49 | #4 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
че-то не заметил сразу, что квады у тебя на одной высоте, видеокарта может отрисовывать часть второго раньше первого. поставь glVertex3f и разную высоту.
|
29.08.2015, 15:07 | #5 |
Форумчанин
Регистрация: 20.04.2009
Сообщений: 136
|
f.hump, тоже думал об этом раньше, не помогло...
Проблема в том, что если считать байты текстуры через glGetTexImage, то при загрузке текстуры они нормальные., а вот после вызова glClear или glBindTexture, у какой-то текстуры они могут обнулиться. Запустил EXE файл, все нормально, закрыл и запустил заново, и вот уже у какой-то текстуры байты обнулились... Причем каждый раз обнуляется разное количество байт. А порой этого не происходит вообще. Чудеса? |
29.08.2015, 15:18 | #6 | |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
Цитата:
|
|
29.08.2015, 15:45 | #7 |
Форумчанин
Регистрация: 20.04.2009
Сообщений: 136
|
Код:
Как можно отловить, из-за чего обнуляются байты текстуры? |
29.08.2015, 15:57 | #8 | |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
мысли закончились.
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB8, // w, h, 0, GL_RGB, GL_UNSIGNED_BYTE, Data); формат должен быть просто GL_RGB Цитата:
|
|
29.08.2015, 16:09 | #9 |
Форумчанин
Регистрация: 20.04.2009
Сообщений: 136
|
f.hump, пробовал я и GL_RGB и GL_RGBA, все тоже.
Может скинуть весь проект? |
29.08.2015, 16:16 | #10 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
не, не надо, мысли завели в тупик.
единственное, что еще могу предложить, так это поставить glFinish сразу после glTexImage2D. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не загружается текстура в OpenGL | Kremlin | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 0 | 19.11.2012 14:05 |
OpenGl текстура | saggy | Мультимедиа в Delphi | 8 | 25.05.2012 22:59 |
Текстура OpenGL по условию. | DooMik | Мультимедиа в Delphi | 12 | 05.04.2012 14:05 |
Разная текстура для каждой грани куба OpenGL | DIgorevich | Мультимедиа в Delphi | 4 | 16.12.2011 12:17 |
Текстура на 2D объект OpenGL | saggy | Мультимедиа в Delphi | 0 | 30.06.2010 13:52 |