Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > [OpenGL] Бинд нулевой текстуры |
Автор: Jeka178RUS 7.3.2013, 16:44 | ||||||
Добрый день! В моем приложении используется две текстуры: t0 - основная, t1 - дополнительная, используется в некоторых случаях.
Шейдер GLSL:
И все вроде прекрасно работает, на моем рабочем компе с GeForce210 на драйвере 306.97, но на втором компе я обновил дрова до версии 314.07 и внезапно мой код начал выдавать черный экран. Я провел небольшой эксперимент и выяснил что на машине с 314 glBindTexture( GL_TEXTURE_2D, 0 ) вернет черную НЕпрозрачную текстуру (0,0,0,1), которая и ложится поверх основной, а на машине с 306 и ниже создавалась черная прозрачная (0,0,0,0) Шейдер для эксперимента:
На старой машине зеленый экран, на новой красный ![]() Хотел узнать насколько корректно использование бинда 0 текстуры? Какое значение "нулевой" текстуры у Вас? |
Автор: Jeka178RUS 11.3.2013, 17:52 |
Разобрался: оказывается в спецификации сказано что текстура по-умолчанию (та что биндится 0) должна иметь значения (0,0,0,1). Как видно старая версия драйвера не следовала спецификации и возвращала 4 нуля, на чем я и попался. RTFM ![]() |