Processing:Справочник языка Processing/loadShader(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 4: Строка 4:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


= loadShader() <ref>[https://processing.org/reference/loadShader_.html processing.org - loadShader()]</ref>=
= loadShader() <ref>[https://processing.org/reference/loadShader_.html processing.org - loadShader()]</ref>=
Строка 84: Строка 84:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}

Версия от 12:09, 20 мая 2023


Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



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);
}

См.также

Внешние ссылки