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

См.также

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