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

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

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


PShader [1]

Обозначение

PShader

Описание

Содержит в себе шейдерную программу, написанную на языке GLSL (включая вершинные и фрагментные шейдеры). Совместим с визуализаторами P2D и P3D, но не с визуализатором, который используется по умолчанию. Чтобы загрузить код шейдера, воспользуйтесь методом loadShader().

Примечание: Настоятельно рекомендуем использовать для создания объекта PShader именно метод loadShader(), а не делать это вручную при помощи вызова конструктора PShader.

Методы

  • set() – задает значения для переменных шейдера

Конструктор

PShader()
PShader(parent)
PShader(parent, vertFilename, fragFilename)
PShader(parent, vertURL, fragURL)
PShader(parent, vertSource, fragSource)

Параметры

parent       – родительская программа. Тип данных – PApplet
vertFilename – название вершинного шейдера. Тип данных – String
fragFilename – название фрагментного шейдера. Тип данных – String
vertURL      – расположение вершинного шейдера в интернете. Тип данных – URL
fragURL      – расположение фрагментного шейдера в интернете. Тип данных – URL

Пример

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

См.также

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