Processing:Справочник языка Processing/loadShader(): различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
Строка 10: | Строка 10: | ||
==Обозначение== | ==Обозначение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
loadShader() | loadShader() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 24: | Строка 24: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
loadShader(fragFilename) | loadShader(fragFilename) | ||
loadShader(fragFilename, vertFilename) | loadShader(fragFilename, vertFilename) | ||
Строка 31: | Строка 31: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
fragFilename – название файла фрагментного шейдера. Тип данных – String | fragFilename – название файла фрагментного шейдера. Тип данных – String | ||
vertFilename – название файла вершинного шейдера. Тип данных – String | vertFilename – название файла вершинного шейдера. Тип данных – String | ||
Строка 38: | Строка 38: | ||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
Тип данных – объект PShader. | Тип данных – объект PShader. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 44: | Строка 44: | ||
==Пример== | ==Пример== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
PShader blur; | PShader blur; | ||
Версия от 18:37, 14 мая 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Черновик |
loadShader() [1]
Обозначение
loadShader()
Описание
Загружает шейдер в объект PShader. Чтобы файл шейдера загрузился корректно, он должен находиться в папке «data» текущего скетча. Шейдеры совместимы с визуализаторами P2D и P3D, но не с тем визуализатором, который используется по умолчанию.
Кроме того, файл шейдера можно загрузить из любого места на локальном компьютере – для этого нужно воспользоваться абсолютным путем (в системах Linux/Unix он начинается с символа «/», а в Windows – с буквы диска). Файл шейдера также можно скачать из интернета, и для этого в параметре fragFilename или vertFilename нужно указать URL.
Если файла нет или выскакивает какая-то ошибка, метод вернет значение null, а в консоли будет напечатано сообщение об ошибке. Оно не останавит программу, но если в вашем коде нет проверки на возвращение null, а loadShader() все же возвращает null, это может вызвать исключение NullPointerException.
Синтаксис
loadShader(fragFilename)
loadShader(fragFilename, vertFilename)
Параметры
fragFilename – название файла фрагментного шейдера. Тип данных – String
vertFilename – название файла вершинного шейдера. Тип данных – String
Возвращаемое значение
Тип данных – объект PShader.
Пример
PShader blur;
void setup() {
size(640, 360, P2D);
// чтобы файл шейдера загрузился корректно,
// он должен находиться в папке «data» текущего скетча:
blur = loadShader("blur.glsl");
stroke(0, 102, 153);
rectMode(CENTER);
}
void draw() {
filter(blur);
rect(mouseX-75, mouseY, 150, 150);
ellipse(mouseX+75, mouseY, 150, 150);
}