Spec-Zone.ru › Web APIs

GPUTexture

Ограниченная доступность

Эта функция не является Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Экспериментальная: Это экспериментальная технология .
Перед использованием в производстве внимательно проверьте таблицу совместимости с браузерами.

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.

Примечание: Эта функция доступна в Web Workers.

Интерфейс GPUTexture API WebGPU представляет собой контейнер, используемый для хранения одномерных, двумерных или трехмерных массивов данных, таких как изображения, для использования в операциях рендеринга на GPU.

Экземпляр объекта GPUTexture создается с помощью метода GPUDevice.createTexture().

Свойства экземпляра

depthOrArrayLayers Экспериментальная Только для чтения

Число, представляющее глубину или количество слоев GPUTexture (пиксели или количество слоев).

dimension Экспериментальная Только для чтения

Перечисление, представляющее размер набора текселей для каждого GPUTexture подресурса.

format Экспериментальная Только для чтения

Значение перечисления, представляющее формат GPUTexture. См. раздел «Форматы текстур» в спецификации по всем возможным значениям.

height Экспериментальная Только для чтения

Число, представляющее высоту GPUTexture в пикселях.

label Экспериментальная

Строка, предоставляющая метку, которая может использоваться для идентификации объекта, например, в сообщениях GPUError или предупреждениях консоли.

mipLevelCount Экспериментальная Только для чтения

Число, представляющее количество уровней MIP GPUTexture.

sampleCount Экспериментальная Только для чтения

Число, представляющее количество выборок GPUTexture.

usage Экспериментальная Только для чтения

Битовые флаги, представляющие разрешенные варианты использования GPUTexture.

width Экспериментальная Только для чтения

Число, представляющее ширину GPUTexture в пикселях.

Методы экземпляра

createView() Экспериментальная

Создает GPUTextureView, представляющий определенный вид GPUTexture.

destroy() Экспериментальная

Уничтожает GPUTexture.

Примеры

В примере WebGPU Textured Cube sample текстура для использования на гранях куба создается следующим образом:

  • Загрузка изображения в HTMLImageElement и создание битовой карты изображения с помощью createImageBitmap().
  • Создание новой GPUTexture с помощью createTexture().
  • Копирование битовой карты изображения в текстуру с помощью GPUQueue.copyExternalImageToTexture().
//...
let cubeTexture;
{
  const img = document.createElement("img");

  img.src = new URL(
    "../../../assets/img/Di-3d.png",
    import.meta.url,
  ).toString();

  await img.decode();

  const imageBitmap = await createImageBitmap(img);

  cubeTexture = device.createTexture({
    size: [imageBitmap.width, imageBitmap.height, 1],
    format: "rgba8unorm",
    usage:
      GPUTextureUsage.TEXTURE_BINDING |
      GPUTextureUsage.COPY_DST |
      GPUTextureUsage.RENDER_ATTACHMENT,
  });

  device.queue.copyExternalImageToTexture(
    { source: imageBitmap },
    { texture: cubeTexture },
    [imageBitmap.width, imageBitmap.height],
  );
}
//...

Спецификации

Спецификация
WebGPU
# texture-interface

Совместимость с браузерами

Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
GPUTexture
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только в Linux и Windows.
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 No 81 No 25.0 121
createView
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только в Linux и Windows.
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 No 81 No 25.0 121
depthOrArrayLayers
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только в Linux и Windows.
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 No 81 No 25.0 121
destroy
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только в Linux и Windows.
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 No 81 No 25.0 121
dimension
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только в Linux и Windows.
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 No 81 No 25.0 121
format
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только в Linux и Windows.
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 No 81 No 25.0 121
height
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только в Linux и Windows.
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 No 81 No 25.0 121
label
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только в Linux и Windows.
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 No 81 No 25.0 121
mipLevelCount
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только в Linux и Windows.
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 No 81 No 25.0 121
sampleCount
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только в Linux и Windows.
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 No 81 No 25.0 121
usage
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только в Linux и Windows.
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 No 81 No 25.0 121
width
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
113В настоящее время поддерживается только в ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только в Linux и Windows.
99В настоящее время поддерживается только в ChromeOS, macOS и Windows.
preview 121 No 81 No 25.0 121

См. также

  • The WebGPU API

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/GPUTexture

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API