Всем спасибо, бага выявлена и пофикшена.
может заодно кто подскажет команду, как в gl узнать максимальное количество слотов?
бага выявлена и пофикшена.
Сделал много слотов для текстур ?
oxotnik
GLint combinedTextureImageUnits{};
glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &combinedTextureImageUnits);
std::cout << "Maximum combined texture image units supported: " << combinedTextureImageUnits << std::endl;
GLint textureImageUnits{};
glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &textureImageUnits);
std::cout << "Maximum number texture image units supported: " << textureImageUnits << std::endl;
Ziltop
нет
в одно месте вызывалось glBindTexture(texture2D, 0) и делалось это не через кэш. Что ломало этот кэш
Funtik
Funtik
Спасибо
А чем первое от второго?
Типо слотов вообще и активных слотов на шейдер?
oxotnik
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, причем справка по glGet утверждает, что их должно быть не менее 48, справка по glActiveTexture - что не менее 80.
Есть еще такая интересная ссылка: https://feedback.wildfiregames.com/report/opengl/feature/GL_MAX_C… AGE_UNITS_ARB
GL_MAX_TEXTURE_IMAGE_UNITS - data returns one value, the maximum supported texture image units that can be used to access texture maps from the fragment shader.
Все очень плохо ))
А во всяких вулканах как текстуры биндятся?
oxotnik
> Все очень плохо ))
тебе нужно больше 16 ? может textureArray?
может textureArray?
Неожиданно :)
Ranma
> но кто гарантирует состояние юниформов после переключения программ?
OpenGL гарантирует
innuendo
gl старый, еще и под мобилки
активных нужно не много
нужно в целом много слотов, чтобы уменшить количество glBindTexture
Плохо, что на разных девайсах разное количество слотов
Куда писать "убогое апи" ?
oxotnik
> на разных девайсах разное количество слотов
на разных девайсах еще и разное железо бывает
oxotnik
> Плохо, что на разных девайсах разное количество слотов
Это что, ещё и шейдера могут не компилиться на разных девайсах
Тема в архиве.