Исходные строки

*Примечание: Предыдущая части перевода подверглись переделки, суть которой Вы сможете увидеть в начале предыдущей статьи.

Источник одного шейдера представляет собой массив строк (strings) символов из набора символов. Шейдер строится из связи этих строк. Каждая строка (string) может содержать несколько линий (lines), разделяемые новыми линиями. В строке не должно присутствовать новых линий; одна линия может быть сформирована из нескольких строк. Никакие новые линии или другие символы не добавляются в реализации, когда она собирает строки для формирования шейдера. Несколько шейдеров могут быть связаны вместе для формирования единой программы.

Диагностические сообщения, возвращаемые во время компиляции шейдера, должны указывать как номер линии в строке, так и  к какому источнику относится строка. Исходные строки подсчитываются последовательно, с первой строки, которая нумеруется как 0. Количество линий на один больше, чем количество обработанных новых линий, включая новые линии, которые будут удалены посредством символа продолжения строки (\).

Линии, разделенные символом продолжения строки, предшествующие новой линии, объединяются вместе, до любого сообщения от предварительной обработки или обработки (preprocessing или processing). Пробелы не заменяются символом продолжения строки. Т.е. один элемент может быть образован путем конкатенации символов в конце одной линии с символами в начале следующей линии.

float f\
oo;
// forms a single line equivalent to “float foo;”
// (assuming '\' is the last character before the new line and “oo” are
// the first two characters of the next line)

Main Admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *