![]() |
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]() ![]() ![]() |
|
Jeka178RUS |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 3.9.2012 Репутация: нет Всего: нет |
Добрый день!
В моем приложении используется две текстуры: 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 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 3.9.2012 Репутация: нет Всего: нет |
Разобрался: оказывается в спецификации сказано что текстура по-умолчанию (та что биндится 0) должна иметь значения (0,0,0,1). Как видно старая версия драйвера не следовала спецификации и возвращала 4 нуля, на чем я и попался. RTFM
![]() |
|||
|
||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |