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

См.также

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