← Все новости
Как две строки GLSL едва не свели меня с ума

Как две строки GLSL едва не свели меня с ума

Недавно столкнулся с весьма неприятным багом в движке The Great Tribes.После обновления драйвера AMD игра начала намертво зависать при перемещении камеры, особенно когда на карте открывалась большая территория. Иногда зависал графический драйвер, иногда JVM падала внутри atio6axx.dll.Самое интересное — на старом драйвере и других видеокартах всё работало нормально!Начались поиски. Под подозрение попало практически всё: многопоточность OpenGL, VAO, VBO, индексные буферы, тени, модели юнитов и даже glfwSwapBuffers().Постепенно удалось выяснить, что зависание вызывает отрисовка поверхности карты. А затем внимание переключилось на фрагментный шейдер.В нём обнаружилась вот такая конструкция: Читать далее