Ответ 1
Нет официальной организации, которая указала, что код GLSL должен быть помещен в тег <script>
типа "x-shader/x-fragment"
.
Единственная причина, по которой код GLSL помещается в этот тег <script>
, заключается в том, что автор учебника решил, что его код будет более чистым, если он поместит код GLSL в тег <script>
, а не в обычную строку.
Однако, поскольку WebGL принимает код GLSL как строковое значение, автору пришлось написать вспомогательную функцию под названием getShader(gl, id)
, чтобы захватить тег script со страницы и преобразовать ее в строку javascript, прежде чем передавать ее в WebGL.
Причина, по которой автор выбрал значение типа "x-shader/x-fragment"
, заключается в том, что браузер "x-shader/x-fragment"
не является известным script типом браузера и, таким образом, будет безопасно игнорироваться браузером.