Processing:Справочник языка Processing/PShader: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
Строка 4: Строка 4:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


= PShader <ref>[https://processing.org/reference/PShader.html processing.org - PShader]</ref>=
= PShader <ref>[https://processing.org/reference/PShader.html processing.org - PShader]</ref>=
Строка 10: Строка 10:
==Обозначение==
==Обозначение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
PShader
PShader
</syntaxhighlight>
</syntaxhighlight>
Строка 26: Строка 26:
==Конструктор==
==Конструктор==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
PShader()
PShader()
PShader(parent)
PShader(parent)
Строка 36: Строка 36:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
parent      – родительская программа. Тип данных – PApplet
parent      – родительская программа. Тип данных – PApplet
vertFilename – название вершинного шейдера. Тип данных – String
vertFilename – название вершинного шейдера. Тип данных – String
Строка 46: Строка 46:
==Пример==
==Пример==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
PShader blur;
PShader blur;


Строка 86: Строка 86:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}

Версия от 12:04, 20 мая 2023


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



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

См.также

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