Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
DrawableTexture2D
Наследует: Texture2D < Texture < Resource < RefCounted < Object
2D текстура, поддерживающая отрисовку самой на себя с помощью вызовов Blit.
Описание
2D текстура, которую можно изменять с помощью вызовов blit, копируя изображение с целевой текстуры на себя. В основном предназначена для управления в коде; пользователь должен вызвать setup() для инициализации состояния перед отрисовкой. Каждый вызов blit_rect() принимает как минимум прямоугольник (область для отрисовки) и другую текстуру (что именно нужно отрисовать). Вызовы отрисовки используют шейдер Texture_Blit для обработки и вычисления результата, пиксель за пикселем. Пользователи могут предоставлять собственные ShaderMaterial с пользовательскими шейдерами Texture_Blit для более сложных сценариев поведения.
Свойства
resource_local_to_scene |
|
Методы
void |
blit_rect(rect: Rect2i, source: Texture2D, modulate: Color = Color(1, 1, 1, 1), mipmap: int = 0, material: Material = null) |
void |
blit_rect_multi(rect: Rect2i, sources: Array[Texture2D], extra_targets: Array[DrawableTexture2D], modulate: Color = Color(1, 1, 1, 1), mipmap: int = 0, material: Material = null) |
void |
|
get_use_mipmaps() const |
|
void |
set_format(format: DrawableFormat) |
void |
set_use_mipmaps(mipmaps: bool) |
void |
setup(width: int, height: int, format: DrawableFormat, color: Color = Color(1, 1, 1, 1), use_mipmaps: bool = false) |
Перечисления
enum DrawableFormat: 🔗
DrawableFormat DRAWABLE_FORMAT_RGBA8 = 0
Текстурный формат OpenGL RGBA, состоящий из четырех компонентов, каждый с 8-битной глубиной цвета.
DrawableFormat DRAWABLE_FORMAT_RGBA8_SRGB = 1
Текстурный формат OpenGL RGBA с четырьмя компонентами, каждый с 8-битной глубиной цвета.
При отрисовке выполняется преобразование цветового пространства sRGB в линейное.
DrawableFormat DRAWABLE_FORMAT_RGBAH = 2
Текстурный формат OpenGL GL_RGBA16F, состоящий из четырех компонентов, каждый из которых представляет собой 16-битное значение с плавающей запятой "половинной точности".
DrawableFormat DRAWABLE_FORMAT_RGBAF = 3
Текстурный формат OpenGL GL_RGBA32F, состоящий из четырех компонентов, каждый из которых представляет собой 32-битное значение с плавающей запятой.
Описания метода
void blit_rect(rect: Rect2i, source: Texture2D, modulate: Color = Color(1, 1, 1, 1), mipmap: int = 0, material: Material = null) 🔗
Экспериментальное: Этот метод может быть изменён или удалён в будущих версиях.
Рисует на заданном rect участке этой текстуры, копируя изображение из заданного source. В качестве цвета для шейдера можно передать modulate, но по умолчанию он белый. Значение mipmap позволяет указать отрисовку на более низком уровне мипмапа. Параметр material может принимать объект ShaderMaterial с шейдером TextureBlit для настройки поведения отрисовки.
void blit_rect_multi(rect: Rect2i, sources: Array[Texture2D], extra_targets: Array[DrawableTexture2D], modulate: Color = Color(1, 1, 1, 1), mipmap: int = 0, material: Material = null) 🔗
Экспериментальное: Этот метод может быть изменён или удалён в будущих версиях.
Рисует на заданном rect участке этой текстуры, а также на не более чем 3 объектах DrawableTexture extra_targets. Все extra_targets должны иметь тот же размер и формат DrawableFormat, что и исходный целевой объект, иначе шейдер может завершиться ошибкой. Ожидает до 4 объектов Texture sources, но заменит отсутствующие sources текстурами Black по умолчанию.
void generate_mipmaps() 🔗
Пересчитывает мипмапы для этой текстуры по запросу.
bool get_use_mipmaps() const 🔗
Возвращает true, если для этого объекта DrawableTexture задано использование мипмапов.
void set_format(format: DrawableFormat) 🔗
Задает формат этого DrawableTexture.
void set_use_mipmaps(mipmaps: bool) 🔗
Определяет, следует ли использовать мипмапы для этого объекта DrawableTexture.
void setup(width: int, height: int, format: DrawableFormat, color: Color = Color(1, 1, 1, 1), use_mipmaps: bool = false) 🔗
Экспериментальное: Этот метод может быть изменён или удалён в будущих версиях.
Инициализирует DrawableTexture белой текстурой заданных параметров: width, height и format.