Material

public string ShaderName { get; set; }

Language: C#

Имя шейдера материала.

public Dictionary<string, object?> Properties { get; set; }

Language: C#

Свойства материала (uniforms).

public Material(string shaderName)

Language: C#

Создать материал с указанным шейдером.

Автоматически инициализирует uniforms из шейдера.

public void InitializeFromShader()

Language: C#

Инициализировать свойства материала на основе uniforms в шейдере.

Игнорирует встроенные uniforms (world_to_view и т.д.).

public bool IsShaderExists()

Language: C#

Проверить, существует ли шейдер для материала.

Returns: True, если шейдер существует, иначе false

public bool Apply()

Language: C#

Применить материал к шейдеру с валидацией типов.

public bool ApplyBaseProperties(Viewport? viewport, FMatrix4x4 transform)

Language: C#

Применить базовые свойства материала (матрицы трансформации) к шейдеру.

Parameters:

  • viewport: Вьюпорт для получения матриц преобразования
  • transform: Матрица трансформации объекта

Returns: True, если шейдер существует и свойства применены, иначе false

public uint? GetAttributeLocation(string name)

Language: C#

Получить локацию атрибута в шейдере по имени.

Parameters:

  • name: Имя атрибута

Returns: Локация атрибута или null, если атрибут не найден

public void SetValue(string name, object? value)

Language: C#

Установить значение uniform свойства.

Автоматически обновляет Properties без необходимости в типизированных методах.

public void SetValue(string name, uint val)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • val: Значение uniform свойства

public void SetValue(string name, int val)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • val: Значение uniform свойства

public void SetValue(string name, float val)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • val: Значение uniform свойства

public void SetValue(string name, double val)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • val: Значение uniform свойства

public void SetValue(string name, FVector2 vec)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • vec: Значение uniform свойства

public void SetValue(string name, IVector2 vec)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • vec: Значение uniform свойства

public void SetValue(string name, FVector3 vec)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • vec: Значение uniform свойства

public void SetValue(string name, IVector3 vec)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • vec: Значение uniform свойства

public void SetValue(string name, FVector4 vec)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • vec: Значение uniform свойства

public void SetValue(string name, IVector4 vec)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • vec: Значение uniform свойства

public void SetValue(string name, FMatrix2x2 mtx, bool transpose = false)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • mtx: Значение uniform свойства
  • transpose: Флаг транспонирования матрицы

public void SetValue(string name, FMatrix2x3 mtx, bool transpose = false)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • mtx: Значение uniform свойства
  • transpose: Флаг транспонирования матрицы

public void SetValue(string name, FMatrix2x4 mtx, bool transpose = false)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • mtx: Значение uniform свойства
  • transpose: Флаг транспонирования матрицы

public void SetValue(string name, FMatrix3x2 mtx, bool transpose = false)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • mtx: Значение uniform свойства
  • transpose: Флаг транспонирования матрицы

public void SetValue(string name, FMatrix3x3 mtx, bool transpose = false)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • mtx: Значение uniform свойства
  • transpose: Флаг транспонирования матрицы

public void SetValue(string name, FMatrix3x4 mtx, bool transpose = false)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • mtx: Значение uniform свойства
  • transpose: Флаг транспонирования матрицы

public void SetValue(string name, FMatrix4x2 mtx, bool transpose = false)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • mtx: Значение uniform свойства
  • transpose: Флаг транспонирования матрицы

public void SetValue(string name, FMatrix4x3 mtx, bool transpose = false)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • mtx: Значение uniform свойства
  • transpose: Флаг транспонирования матрицы

public void SetValue(string name, FMatrix4x4 mtx, bool transpose = false)

Language: C#

Установить значение uniform свойства с типизацией.

Parameters:

  • name: Имя uniform свойства
  • mtx: Значение uniform свойства
  • transpose: Флаг транспонирования матрицы

public IReadOnlyDictionary<string, UniformInfo> GetShaderUniforms()

Language: C#

Получить информацию об uniforms в шейдере (для отладки и редактора).

public bool HasUniform(string name)

Language: C#

Проверить, существует ли uniform с указанным именем в шейдере.

public object? GetValue(string name)

Language: C#

Получить значение uniform свойства.