Использование необъявленного идентификатора gl_Normal.почему?
В OpenGL-ES 2 и по его следам ядро OpenGL-3 больше не содержит предопределенных входных переменных шейдера.OpenGL-4 покончил с предопределенными шейдерными выходами.
Вместо этого вы должны определить свои собственные входы и выходы.Каждой входной или выходной переменной назначается так называемое местоположение.Либо неявно с помощью OpenGL, и может быть извлечено с помощью glGetAttribLocation
, либо явно программистом, использующим атрибут квалификатора хранения location
или функцию glBindAttribLocation
.Выходы аналогично назначаются местами данных фрагмента .