Попробуйте создать простую демонстрационную программу, которая использует функции OpenGL, которые вы используете в своем коде.Попробуйте определить, какие функции вызывают проблему.Если все они сработали так, как вы ожидали, есть вероятность, что ошибка в вашем коде, возможно, вы принимаете поведение, специфичное для платформы, которое не работает в Linux.
У меня была ошибка при переносе кода Windows C ++, когда код синтаксического анализа трехмерной сетки неправильно обрабатывал окончание строки в стиле Windows, и это приводило к тому, что сетка создавала уродливые цвета, так как передавала числовую строкудоморощенная функция string-to-int (которую я незамедлительно заменила на atoi ()), которая автоматически скрывается, когда встречается с дополнительным символом конца строки.