GPURenderBundleEncoder: метод drawIndexed()
Ограниченная доступность
Эта функция не является базовой, так как она не работает во всех наиболее распространённых браузерах.
Экспериментальная: Это экспериментальная технология
Перед использованием в рабочей среде внимательно изучите таблицу совместимости с браузерами.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Примечание: Эта функция доступна в Web Workers.
Метод drawIndexed() интерфейса GPURenderBundleEncoder отрисовывает индексированные примитивы на основе буферов вершин и индексов, предоставленных setVertexBuffer() и setIndexBuffer().
Примечание: Этот метод функционально идентичен своему аналогу в GPURenderPassEncoder — drawIndexed().
Синтаксис
drawIndexed(indexCount) drawIndexed(indexCount, instanceCount) drawIndexed(indexCount, instanceCount, firstIndex) drawIndexed(indexCount, instanceCount, firstIndex, baseVertex) drawIndexed(indexCount, instanceCount, firstIndex, baseVertex, firstInstance)
Параметры
indexCount-
Число, определяющее количество индексов для отрисовки.
instanceCountНеобязательно-
Число, определяющее количество экземпляров для отрисовки. Если опущено, значение по умолчанию
instanceCountравно 1. firstIndexНеобязательно-
Число, определяющее смещение в буфере индексов (в индексах), с которого начинается отрисовка. Если опущено, значение по умолчанию
firstIndexравно 0. baseVertexНеобязательно-
Число, добавляемое к каждому значению индекса перед индексированием в буферы вершин. Если опущено, значение по умолчанию
baseVertexравно 0. firstInstanceНеобязательно-
Число, определяющее первый экземпляр для отрисовки. Если опущено, значение по умолчанию
firstInstanceравно 0.
Возвращаемое значение
Ничего (Undefined).
Примеры
// ... const bundleEncoder = device.createRenderBundleEncoder(descriptor); bundleEncoder.setPipeline(pipeline); bundleEncoder.setBindGroup(0, sceneBindGroupForRender); bundleEncoder.setBindGroup(1, modelBindGroup); bundleEncoder.setVertexBuffer(0, vertexBuffer); bundleEncoder.setIndexBuffer(indexBuffer, "uint16"); bundleEncoder.drawIndexed(indexCount); const renderBundle = bundleEncoder.finish(); // ...
Спецификации
| Спецификация |
|---|
| WebGPU # dom-gpurendercommandsmixin-drawindexed |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
drawIndexed |
113В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
113В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
превьюВ настоящее время поддерживается только на Linux и Windows. |
99В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
превью | 121 | Нет | 81 | Нет | 25.0 | 121 |
См. также
- API WebGPU
© 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/GPURenderBundleEncoder/drawIndexed