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.

DrawableTexture2D

Успадковує: Texture2D < Texture < Resource < RefCounted < Object

Двовимірна текстура, яка підтримує малювання на себе за допомогою викликів Blit.

Опис

2D-текстура, яку можна модифікувати за допомогою викликів blit, копіюючи дані з цільової текстури в саму себе. Оскільки вона в першу чергу призначена для управління в коді, користувач повинен викликати setup() для ініціалізації стану перед малюванням. Кожен виклик blit_rect() приймає як мінімум прямокутник (область для малювання) та іншу текстуру (те, що потрібно намалювати). Виклики малювання використовують шейдер Texture_Blit для обробки та обчислення результату піксель за пікселем. Користувачі можуть надати власний ShaderMaterial із налаштованими шейдерами Texture_Blit для більш складних дій.

Властивості

bool

resource_local_to_scene

false (overrides Resource)

Методи

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

generate_mipmaps()

bool

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.