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
Двовимірна текстура, яка підтримує малювання на себе за допомогою викликів 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 текстур sources, але замінить відсутні sources чорними текстурами за замовчуванням.
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.