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

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


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


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


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

См.также

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