Processing:Справочник языка Processing/loadShader()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску


Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Cat poo.png Черновик


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

См.также

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