При чтении спецификаций OpenGL я заметил, что в нем упоминается, что вы можете включать несколько шейдеров одного и того же типа в одну программу (т.е. более одного GL_VERTEX_SHADER, связанного с glAttachShader). В частности, в OpenGL 4.2, §2.11.3, "Объекты программы": "Несколько объектов шейдера одного типа могут быть прикреплены к одному программному объекту...".
Здесь могут применяться программы и подпрограммы OpenGL, но это было определено до того, как они существовали (на самом деле это восходит к спецификации 2.1, §2.15.2), поэтому я ищу пример этой идеи до GL4. Когда я сделал несколько простых тестов, я обнаружил, что включение более чем одного void main()
вызвало ошибки связывания. Кто-нибудь знает о практическом примере, где это используется?