Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

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

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


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2253 статей для сайта.

Контакты:

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


Ambox content.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

Пример

  1. PShader blur;
  2.  
  3. void setup() {
  4.   size(640, 360, P2D);
  5.   // чтобы файл шейдера загрузился корректно,
  6.   // он должен находиться в папке "data" текущего скетча:
  7.   blur = loadShader("blur.glsl");
  8.   stroke(0, 102, 153);
  9.   rectMode(CENTER);
  10. }
  11.  
  12. void draw() {
  13.   filter(blur);  
  14.   rect(mouseX-75, mouseY, 150, 150);
  15.   ellipse(mouseX+75, mouseY, 150, 150);
  16. }

См.также

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

  1. processing.org - PShader