reckfellENGINE

Texture3D

Базовый контракт объёмной текстуры с шириной, высотой и глубиной.

На этой странице
class Texture3DReckfellSharpНаследует Texture

Texture3D описывает объём данных, а не текстуру, которая просто назначена 3D-объекту. Для создания пикселей используйте ImageTexture3D; массив независимых 2D-слоёв имеет другой контракт TextureLayered. Сам базовый конструктор не загружает объём.

GetDepth — число срезов основного уровня. GetData при mipmaps содержит также уменьшенные уровни, поэтому его Count не обязан равняться глубине. Формат чтения и стоимость зависят от реализации; не считайте любой подкласс источником готовых RGBA8-данных.

Для своего подкласса реализуйте hooks размеров, формата, mipmaps и данных согласованно. Проверены нативные вызовы этих hooks и placeholder. Это не подтверждает корректное семплирование произвольного подкласса в шейдере. Сохранение конкретного ImageTexture3D имеет отдельное ограничение для mipmaps при ширине и высоте 1; оно описано у этого класса.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

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

Texture3DКонструктор
# Texture3D
C#
public Texture3D();

Создаёт базовый ресурс, а не готовую объёмную текстуру с данными. Обычно используйте ImageTexture3D или CompressedTexture3D. Для собственного подкласса реализуйте методы размеров, формата и данных; сам конструктор не загружает воксели.

Методы13

CreatePlaceholderResource
# CreatePlaceholder
C#
public Resource CreatePlaceholder();

Создаёт отдельный PlaceholderTexture3D с текущими шириной, высотой и глубиной. Данные вокселей и цепочка mipmaps не копируются. Это заменитель ресурса, не уменьшенная копия объёма.

Возвращает Resource

Resource с конкретным типом PlaceholderTexture3D и размером оригинала.

GetDataReckfell.Collections.Array<Image>
# GetData
C#
public Reckfell.Collections.Array<Image> GetData();

Читает срезы, предоставленные реализацией. Для ImageTexture3D это отдельные изображения из GPU-данных: изменение результата не обновляет текстуру, требуется Update. Порядок при mipmaps: все Z-срезы основного уровня, затем все срезы следующего, до 1×1×1. Не считайте весь массив только основными слоями и не выполняйте лишнее чтение каждый кадр. Перед чтением ImageTexture3D должна быть инициализирована.

Возвращает Reckfell.Collections.Array<Image>

Массив Image в порядке реализации; у ImageTexture3D — по уровням и Z-срезам.

GetDepthint
# GetDepth
C#
public int GetDepth();

Возвращает глубину основного уровня: число его Z-срезов. При наличии mipmaps GetData.Count может быть больше глубины, поскольку включает дополнительные уровни.

Возвращает int

Число Z-срезов основного уровня.

GetFormatImage.Format
# GetFormat
C#
public Image.Format GetFormat();

Возвращает Image.Format реализации. У базового контракта без поставщика результат Max не обозначает пригодный формат данных. Проверяйте конкретный подкласс и данные перед обработкой пикселей.

Возвращает Image.Format

Формат предоставленных данных изображения.

GetHeightint
# GetHeight
C#
public int GetHeight();

Возвращает высоту основного уровня объёма в текселях. В собственном Texture3D значение предоставляет _GetHeight.

Возвращает int

Высота основного уровня в текселях.

GetWidthint
# GetWidth
C#
public int GetWidth();

Возвращает ширину основного уровня объёма в текселях. В собственном Texture3D значение предоставляет _GetWidth. Это не число срезов и не мировой размер объекта.

Возвращает int

Ширина основного уровня в текселях.

HasMipmapsbool
# HasMipmaps
C#
public bool HasMipmaps();

Возвращает признак объёмной mipmap-цепочки от реализации. Это не означает, что каждый Image из GetData содержит собственные mipmaps: у ImageTexture3D уровни представлены отдельными изображениями-срезами.

Возвращает bool

Есть ли объёмная цепочка mipmaps по контракту реализации.

_GetDataReckfell.Collections.Array<Image>
# _GetData
C#
public virtual Reckfell.Collections.Array<Image> _GetData();

Поставщик массива изображений-срезов собственного Texture3D. Нативный GetData обращается к этому hook. Тестовый подкласс создаёт независимые изображения; остальные реализации могут иметь другую стоимость и правила доступа. Не освобождайте возвращаемые ресурсы до передачи вызывающему коду.

Возвращает Reckfell.Collections.Array<Image>

Массив Image в порядке реализации; у ImageTexture3D — по уровням и Z-срезам.

_GetDepthint
# _GetDepth
C#
public virtual int _GetDepth();

Поставщик числа Z-срезов основного уровня собственного Texture3D. Не возвращайте общее число изображений всех mip-уровней вместо глубины.

Возвращает int

Число Z-срезов основного уровня.

_GetFormatImage.Format
# _GetFormat
C#
public virtual Image.Format _GetFormat();

Поставщик конкретного Image.Format собственного Texture3D. Он должен соответствовать формату данных _GetData; запрос формата не выполняет преобразование изображений.

Возвращает Image.Format

Формат предоставленных данных изображения.

_GetHeightint
# _GetHeight
C#
public virtual int _GetHeight();

Поставщик высоты основного уровня собственного Texture3D. Согласуйте с размерами предоставляемых срезов.

Возвращает int

Высота основного уровня в текселях.

_GetWidthint
# _GetWidth
C#
public virtual int _GetWidth();

Поставщик ширины основного уровня собственного Texture3D. Возвращайте значение, согласованное с _GetData и другими размерами; не создаёт GPU-хранилище автоматически.

Возвращает int

Ширина основного уровня в текселях.

_HasMipmapsbool
# _HasMipmaps
C#
public virtual bool _HasMipmaps();

Поставщик признака объёмных mipmaps собственного Texture3D. Согласуйте с порядком и количеством изображений _GetData. Сам по себе true не генерирует уровни.

Возвращает bool

Есть ли объёмная цепочка mipmaps по контракту реализации.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.