Перейти к содержанию

ShaderDrawOptions

Параметры команд отрисовки шейдеров: управление блендингом, стандартными uniforms и смещением вершин.

Обзор и состояние видеокарты

ShaderDrawOptions настраивает параметры графического ускорителя при вызове DrawScope#shader.

  • Стандартные Uniforms: Автоматически передаёт разрешение экрана, матрицы проекции и дефолтные параметры при builtinUniforms = true.
  • Блендинг: Указывает бэкенду, требуется ли включение альфа-смешивания для шейдерного прохода.
  • Смещение вершин: Корректирует выравнивание координат для полноэкранных и локальных quad-шейдеров.

Стандартные Uniforms и SquareVertex

При включённом builtinUniforms() бэкенд автоматически добавляет в контекст шейдера стандартные параметры:

  • SquareVertex: Нормализованное смещение вершин (по умолчанию -0.25f для совместимости со стандартными quad-шейдерами).
  • Стандартные матрицы проекции и видового преобразования текущего движка.

Настройка параметров шейдера

ShaderDrawOptions options = ShaderDrawOptions.defaults()
        .blend(true)
        .builtinUniforms(true);

scope.shader(portalShader, x, y, width, height, uniforms, options);

API

Фабричные методы

Метод Описание
defaults() Возвращает новый экземпляр ShaderDrawOptions со стандартными настройками блендинга и uniforms.
copy() Создаёт независимую точную копию этого объекта ShaderDrawOptions.
copyFrom(ShaderDrawOptions) Копирует параметры из другого ShaderDrawOptions без аллокаций памяти.

ShaderDrawOptions::defaults()

Получить стандартные опции

Возвращает новый экземпляр ShaderDrawOptions со стандартными настройками блендинга и uniforms.

Возвращает ShaderDrawOptions: Новый экземпляр ShaderDrawOptions..

ShaderDrawOptions::copy()

Копировать опции

Создаёт независимую точную копию этого объекта ShaderDrawOptions.

Возвращает ShaderDrawOptions: Новая копия ShaderDrawOptions..

ShaderDrawOptions::copyFrom(ShaderDrawOptions)

Скопировать из источника

Копирует параметры из другого ShaderDrawOptions без аллокаций памяти.

Параметр Тип Описание
source ShaderDrawOptions Исходный объект параметров или null для сброса на дефолтные.

Возвращает ShaderDrawOptions: Текущий объект options для цепочечного вызова..

Конфигурация стейта рендера

Метод Описание
builtinUniforms() Возвращает true, если бэкенд должен автоматически передавать стандартные uniforms.
builtinUniforms(boolean) Включает или выключает автоматическую передачу стандартных uniforms.
blend() Возвращает true, если для команды шейдера включён альфа-блендинг.
blend(boolean) Настраивает активность альфа-блендинга для команды шейдера.
squareVertexOffset() Возвращает смещение координат вершин для uniform SquareVertex.
squareVertexOffset(float) Устанавливает смещение координат вершин для uniform SquareVertex.

ShaderDrawOptions::builtinUniforms()

Проверить стандартные Uniforms

Возвращает true, если бэкенд должен автоматически передавать стандартные uniforms.

Возвращает boolean: True, если стандартные uniforms включены..

ShaderDrawOptions::builtinUniforms(boolean)

Установить стандартные Uniforms

Включает или выключает автоматическую передачу стандартных uniforms.

Параметр Тип Описание
builtinUniforms boolean True для автоматической передачи стандартных uniforms движка.

Возвращает ShaderDrawOptions: Текущий объект options для цепочечного вызова..

ShaderDrawOptions::blend()

Проверить включение блендинга

Возвращает true, если для команды шейдера включён альфа-блендинг.

Возвращает boolean: True, если блендинг активен..

ShaderDrawOptions::blend(boolean)

Установить блендинг

Настраивает активность альфа-блендинга для команды шейдера.

Параметр Тип Описание
blend boolean True для включения альфа-блендинга.

Возвращает ShaderDrawOptions: Текущий объект options для цепочечного вызова..

ShaderDrawOptions::squareVertexOffset()

Получить смещение SquareVertex

Возвращает смещение координат вершин для uniform SquareVertex.

Возвращает float: Значение смещения типа float..

ShaderDrawOptions::squareVertexOffset(float)

Установить смещение SquareVertex

Устанавливает смещение координат вершин для uniform SquareVertex.

Параметр Тип Описание
squareVertexOffset float Значение смещения координат вершин.

Возвращает ShaderDrawOptions: Текущий объект options для цепочечного вызова..