Всегда ли gl_FragData[0] является цветовым буфером?

Из нескольких примеров, которые я видел в сети, предполагается, что gl_FragData[0] является цветовым буфером. Я пытался найти значение каждого индекса в gl_FragData и наткнулся на этот отрывок из книги по языку шейдинга OpenGL (оранжевая книга)

gl_FragData — это массив, которому могут быть присвоены значения, которые записываются в один или несколько внеэкранных буферов. Размер этого массива зависит от реализации и может быть запрошен с помощью glGet с символическая константа GL_MAX_DRAW_BUFFERS. Закадровые буферы, которые изменен в результате записи значений в gl_FragData в Фрагментный шейдер указывается с помощью glDrawBuffers. Значение написано в gl_FragData[0] обновляет первый буфер в списке, указанном в вызов glDrawBuffers, значение записывается в gl_FragData[1] обновляет второй буфер в списке и так далее.

Не указано, что 0-е значение gl_FragData всегда является цветовым буфером. Если есть такая спецификация, где я могу ее найти? Если нет, какова нормальная практика записи в gl_FragData?

9
задан Jayesh 27 March 2012 в 05:42
поделиться