Unity 6.3
0 онлайн 3 гостей 3 в системе
Вход

RenderTexture

класс в UnityEngine

Наследуется от:Texture

Выполнено в:UnityEngine.CoreModule

Описание

Текстуры рендеринга — это текстуры, которые могут быть рендированы.

Они могут быть использованы для реализации изображения на основе эффектов рендеринга, динамических теней, проекторов, отражений или камер наблюдения.

Одним из типичных применений рендерных текстур является установка их в качестве свойства "target texture" Camera (Camera.targetTexture), это сделает камеру рендеринга в текстуру вместо рендеринга на экране.

Имейте в виду, что содержание текстуры рендеринга может быть "потеряно" при определенных событиях, таких как загрузка нового уровня, переход системы в режим сохранителя экрана, включение и выключение полноэкранного режима и т.д. Когда это происходит, существующие текстуры рендеринга снова станут "еще не созданы", вы можете проверить это с помощью IsCreated функции.

Как и в случае с другими типами объектов "нативного движка", важно обращать внимание на срок службы любых текстур рендеринга и выпускать их, когда вы закончите их использование с движком. Release функция, так как они не будут собираться как мусор, как обычные управляемые типы.

Текстура рендеринга имеет только представление данных на GPU и вам нужно использовать Texture2D.ReadPixels для передачи ее содержимого CPU память.

Начальное содержание вновь созданной текстуры рендеринга не определено. На некоторых платформах и APIs содержимое по умолчанию будет черным, но вы не должны полагаться на это. Вы можете использовать LoadStoreActionDebugModeSettings для выделения неопределенных областей дисплея, чтобы помочь вам отладывать проблемы отображения в вашем созданном приложении.

Дополнительные ресурсы: Camera.targetTexture.

Статические свойства

Свойство Описание
activeТекущая активная текстура отображения.

Свойства

Свойство Описание
antiAliasingУровень сглаживания для RenderTexture.
autoGenerateMipsУровни Mipmap генерируются автоматически, когда этот флаг установлен.
bindTextureMSЕсли true и antiAliasing больше 1, то по умолчанию текстура рендеринга не будет разрешаться. Используйте это, если текстура рендеринга должна быть связана как мультисемплированная текстура в шейдере.
colorBufferЦветовой буфер текстуры рендеринга (только для чтения).
depthТочность буфера глубины текстуры рендеринга в битах (поддерживаются значения 0, 16, 24 и 32).
depthBufferБуфер глубины/шаблона текстуры рендеринга (только для чтения).
depthStencilFormatФормат буфера глубины/шаблона.
descriptorЭта структура содержит всю информацию, необходимую для создания RenderTexture. Её можно копировать, кэшировать и переиспользовать, чтобы легко создавать RenderTexture с одинаковыми свойствами.
dimensionРазмерность (тип) рендируемой текстуры.
enableRandomWriteРазрешить случайную запись в эту текстуру рендеринга на шейдерах уровня Shader Model 5.0.
enableShadingRateСделайте эту текстуру рендеринга пригодной для использования в качестве изображения с частотой затенения.
graphicsFormatЦветовой формат отображаемой текстуры. Для отображения только глубины вы можете установить цветовой формат на Нет.
heightВысота текстуры рендеринга в пикселях.
memorylessModeСвойство безпамятного режима отображения текстуры.
sRGBИспользует ли эта текстура рендеринга преобразования чтения/записи sRGB? (только чтение).
stencilFormatФормат данных шаблона, которые вы можете инкапсулировать в RenderTexture.Specifying это свойство создает элемент шаблона для RenderTexture и устанавливает его формат. Это позволяет связывать данные шаблона как Текстуру ко всем типам шейдеров для платформ, которые его поддерживают. Это свойство не указывает формат буфера шаблона, который ограничен форматом глубинного буфера, указанным в RenderTexture.depth.Currently, большинство платформ поддерживают только R8_UInt (DirectX11, DirectX12).
useDynamicScaleКогда этот флаг установлен в true, текстура отображения устанавливается для использования системой Динамического Разрешения.
useDynamicScaleExplicitКогда этот флаг установлен в true, текстура рендеринга используется системой динамического разрешения. Масштабирование применяется с явным вызовом ApplyDynamicScale
useMipMapТекстура рендеринга имеет mipmaps, когда этот флаг установлен.
volumeDepthОбъем текстуры рендеринга 3D или количество слоев текстуры массива.
vrUsageЕсли это RenderTexture является текстурой глаза VR, используемой в стереоскопическом отображении, это свойство определяет, какое специальное отображение происходит, если оно вообще происходит.
widthШирина текстуры рендеринга в пикселях.

Конструкторы

Конструктор Описание
RenderTextureСоздает новый объект RenderTexture.

Открытые методы

Метод Описание
ApplyDynamicScaleПрименяет системный масштаб динамического разрешения.
ConvertToEquirectПреобразует текстуру рендеринга в эквипрямоугольный формат (как стереоскопический, так и моноскопический эквирект). Левый глаз займет верхнюю половину, а правый глаз — нижнюю. Моноскопическая версия займет всю текстуру. Размер текстуры должен быть типа TextureDimension.Cube.
CreateФактически создает RenderTexture.
DiscardContentsПодскажите драйверу GPU, что содержимое RenderTexture не будет использоваться.
GenerateMipsСоздание уровней mipmap текстуры рендеринга.
GetNativeDepthBufferPtrПолучить основной (базовая графика API) указатель на ресурс глубинного буфера.
IsCreatedБыла ли создана текстура рендеринга?
ReleaseОсвободит RenderTexture.
ResolveAntiAliasedSurfaceПринудительное разрешение текстуры рендеринга с выравниванием.
SetGlobalShaderPropertyНазначает это RenderTexture как глобальное свойство шейдера с именем propertyName.

Статические методы

Метод Описание
GetTemporaryВыделить временную текстуру рендеринга.
ReleaseTemporaryОсвободить временную текстуру, выделенную GetTemporary.
SupportsStencilИмеет ли RenderTexture буфер шаблона?
Унаследованные члены 5

Статические свойства

СвойствоОписание
allowThreadedTextureCreationРазрешить Unity internals выполнять создание текстуры на любом потоке (вместо выделенного потока рендеринга).
currentTextureMemoryКоличество памяти, которое используют все текстуры в сцене.
desiredTextureMemoryОбщее количество памяти текстуры в байтах, которое Unity использовало бы при отсутствии ограничений.
GenerateAllMipsМожет быть использовано с конструкторами Текстуры, которые принимают число mip для указания, что все mip должны быть созданы. Значение этого поля -1.
nonStreamingTextureCountКоличество текстур в сцене, которые не являются потоковыми. Это включает экземпляры текстур Texture2D и CubeMap. Это не включает другие типы текстур или текстуры 2D и CubeMap, которые Unity создает внутри сцены.
nonStreamingTextureMemoryКоличество памяти, которое Unity выделяет для не потоковых Текстур в сцене. Это включает только экземпляры Текстур Texture2D и CubeMap. Это не включает никакие другие типы Текстур, или Тексты 2D и CubeMap, которые Unity создает внутренне.
streamingMipmapUploadCountСколько раз текстура была загружена из-за потока Texture mipmap.
streamingRendererCountЧисло рендереров, зарегистрированных в системе потокового передачи текстур.
streamingTextureCountКоличество потоковых текстур.
streamingTextureDiscardUnusedMipsЭто свойство заставляет потоковую систему Текстур отбрасывать все неиспользуемые mipmaps вместо их кэширования до тех пор, пока бюджет памяти Текстуры не будет превышен. Это полезно при профилировании или написании тестов для сохранения предсказуемого набора Текстур в памяти.
streamingTextureForceLoadAllПринудительная загрузка потоковых текстур на все уровни.
streamingTextureLoadingCountЧисло потоковых Текстур с загружаемыми в настоящее время mipmaps.
streamingTexturePendingLoadCountЧисло потоковых текстур с выходящими mipmaps для загрузки.
targetTextureMemoryОбщее использование памяти текстур в байтах после применения бюджета памяти и загрузки всех текстур.
totalTextureMemoryОбщая память текстур, в байтах, которую Unity использовала бы, если бы все текстуры были загружены в полном разрешении.

Свойства

СвойствоОписание
hideFlagsДолжен ли объект быть скрытым, сохраняться с Scene или изменяться пользователем?
nameИмя объекта.
anisoLevelОпределяет уровень анизотропной фильтрации текстуры.
dimensionРазмерность (тип) Текстуры.
filterModeРежим фильтрации текстуры.
graphicsFormatВозвращает формат GraphicsFormat или цветовой формат объекта Текстура.
graphicsTextureGraphicsTexture, который представляет ресурс текстуры, загруженный на графическое устройство.
heightВысота текстуры в пикселях.
imageContentsHashХеш текстуры.
isDataSRGBВозвращает true, если данные текстуры пикселя находятся в цветовом пространстве sRGB.
isReadableСохраняет ли Unity дополнительную копию пиксельных данных текстуры в адресуемой памяти CPU.
mipMapBiasОтклонение текстуры от mipmap.
mipmapCountСколько уровней mipmap есть в текстуре.
updateCountЭтот счетчик увеличивается при обновлении Текстуры.
widthШирина текстуры в пикселях.
wrapModeВарианты выборки текстуры, если координата текстуры находится вне диапазона [0, 1].
wrapModeUВарианты выборки текстуры, если координата U текстуры находится вне диапазона [0, 1].
wrapModeVВарианты выборки текстуры, если координата текстуры V находится вне диапазона [0, 1].
wrapModeWВарианты выборки текстуры, если координата W находится вне диапазона [0, 1].

Открытые методы

МетодОписание
GetInstanceIDПолучает экземпляр ID объекта.
ToStringВозвращает имя объекта.
GetNativeTexturePtrПолучить собственный (базовый график API) указатель на ресурс Текстура.
IncrementUpdateCountУвеличение счетчика обновлений.

Статические методы

МетодОписание
DestroyУдаляет GameObject, компонент или ресурс.
DestroyImmediateНемедленно уничтожает указанный объект. Используйте с осторожностью и только в режиме редактирования.
DontDestroyOnLoadНе уничтожать целевой Объект при загрузке нового Scene.
FindAnyObjectByTypeПолучает любой активный загруженный объект типа Type.
FindFirstObjectByTypeПолучает первый активный загруженный объект типа Type.
FindObjectsByTypeПолучает список всех загруженных объектов типа Type.
InstantiateКлонирует исходный объект и возвращает клон.
InstantiateAsyncЗахватывает моментальный снимок первоначального объекта (который должен быть связан с каким-либо GameObject) и возвращает AsyncInstantiateOperation.
SetGlobalAnisotropicFilteringLimitsЗадает пределы анизотропии.
SetStreamingTextureMaterialDebugPropertiesЭта функция устанавливает свойства отладки потока mipmap для всех материалов, известных системе потока mipmap.

Операторы

ОператорОписание
boolСуществует ли объект?
оператор!=Сравнивает, если два объекта ссылаются на разные объекты.
оператор ==Сравнение двух ссылок на объекты для определения того, относятся ли они к одному и тому же объекту.