GraphicsStateCollection
класс в UnityEngine.Experimental.Rendering
Наследуется от:Object
Выполнено в:UnityEngine.CoreModule
Описание
Коллекция вариантов шейдеров и связанных с ними графических состояний.
Используйте коллекции состояний графики, чтобы записывать варианты шейдеров и состояния графики, возникающие во время выполнения, и заранее прогревать варианты шейдеров.
У каждого варианта шейдера в коллекции может быть одно или несколько связанных состояний графики. Каждое сочетание варианта шейдера и состояния графики даёт одно GPU-представление шейдера, создаваемое Unity.GraphicsStateCollection обычно заменяет ShaderVariantCollection класс для предварительного прогрева вариантов шейдера. На устаревших графических API, не поддерживающих предварительный прогрев состояний графики, WarmUp будет вновь использоваться ShaderVariantCollection.WarmUp.
using UnityEngine; using UnityEngine.Experimental.Rendering;
public class GraphicsStateCollectionTracing : MonoBehaviour { public GraphicsStateCollection graphicsStateCollection;
void Start() { graphicsStateCollection = new GraphicsStateCollection(); graphicsStateCollection.BeginTrace(); }
void OnDestroy() { graphicsStateCollection.EndTrace(); } }
Свойства
| Свойство | Описание |
|---|---|
| completedWarmupCount | Количество прогретых перестановок состояния варианта шейдера. |
| graphicsDeviceType | Тип графического устройства API, с которым предполагается использовать коллекцию. |
| isTracing | Флаг, указывающий, что коллекция активно отслеживает варианты шейдеров и графические состояния. |
| isWarmedUp | Флаг, указывающий на то, что коллекции полностью нагреты. |
| qualityLevelName | Уровень качества, с которым предполагается использовать коллекцию. |
| runtimePlatform | Платформа, на которой предполагается использовать коллекцию. |
| totalGraphicsStateCount | Общее число графических состояний по всем вариантам шейдеров в коллекции. |
| variantCount | Количество вариантов шейдеров, содержащихся в этой коллекции. |
| version | Текущая версия коллекции. |
Конструкторы
| Конструктор | Описание |
|---|---|
| GraphicsStateCollection | Создать GraphicsStateCollection, заполненный содержимым файла, или пустой. |
Открытые методы
| Метод | Описание |
|---|---|
| AddGraphicsStateForVariant | Добавлено новое состояние графики, связанное с вариантом шейдера. |
| AddVariant | Добавление нового варианта шейдера в коллекцию. |
| AddVariants | Добавление одного или нескольких новых вариантов шейдеров в коллекцию. |
| BeginTrace | Начало отслеживания вариантов шейдеров и графических состояний, возникающих во время выполнения. |
| ClearVariants | Очистка всех вариантов шейдеров и связанных с ними графических состояний из коллекции. |
| ContainsVariant | Проверка наличия указанного ShaderVariant в коллекции. |
| CopyGraphicsStatesForVariant | Копирование всех графических состояний из исходного варианта в конечный вариант. |
| EndTrace | Остановить отслеживание вариантов шейдеров и графических состояний, возникающих во время выполнения. |
| GetGraphicsStateCountForVariant | Получить число графических состояний, связанных с вариантом входного шейдера. |
| GetGraphicsStatesForVariant | Заполнение данного списка графическими состояниями, связанными с вариантом входного шейдера. |
| GetVariants | Заполнить указанный список вариантами шейдеров, содержащимися в коллекции. |
| LoadFromFile | Загрузить GraphicsStateCollection в указанном пути. |
| RemoveGraphicsStatesForVariant | Удалить все связанные графические состояния из варианта входного шейдера. |
| RemoveVariant | Удалить ShaderVariant и связанные с ним графические состояния из коллекции. |
| SaveToFile | Сохранить GraphicsStateCollection на диск. |
| SendToEditor | Отправьте GraphicsStateCollection Редактору с помощью PlayerConnection. |
| WarmUp | Предварительно нагревает все варианты шейдеров в этой коллекции, используя связанные графические состояния. |
| WarmUpProgressively | Предварительно прогревает заданное количество перестановок состояния варианта шейдера с использованием соответствующих состояний графики. |
Унаследованные члены 4
Свойства
| Свойство | Описание |
|---|---|
| hideFlags | Должен ли объект быть скрытым, сохраняться с Scene или изменяться пользователем? |
| name | Имя объекта. |
Открытые методы
| Метод | Описание |
|---|---|
| GetInstanceID | Получает экземпляр ID объекта. |
| ToString | Возвращает имя объекта. |
Статические методы
| Метод | Описание |
|---|---|
| Destroy | Удаляет GameObject, компонент или ресурс. |
| DestroyImmediate | Немедленно уничтожает указанный объект. Используйте с осторожностью и только в режиме редактирования. |
| DontDestroyOnLoad | Не уничтожать целевой Объект при загрузке нового Scene. |
| FindAnyObjectByType | Получает любой активный загруженный объект типа Type. |
| FindFirstObjectByType | Получает первый активный загруженный объект типа Type. |
| FindObjectsByType | Получает список всех загруженных объектов типа Type. |
| Instantiate | Клонирует исходный объект и возвращает клон. |
| InstantiateAsync | Захватывает моментальный снимок первоначального объекта (который должен быть связан с каким-либо GameObject) и возвращает AsyncInstantiateOperation. |
Операторы
| Оператор | Описание |
|---|---|
| bool | Существует ли объект? |
| оператор!= | Сравнивает, если два объекта ссылаются на разные объекты. |
| оператор == | Сравнение двух ссылок на объекты для определения того, относятся ли они к одному и тому же объекту. |