Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. GPUDevice
  4. createSampler()

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

GPUDevice: Methode createSampler()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Sicherer Kontext: Diese Funktion ist nur insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist inWeb Workers verfügbar.

DiecreateSampler()-Methode desGPUDevice-Interfaces erzeugt einGPUSampler, das kontrolliert, wie Shader Textur-Ressourcendaten transformieren und filtern.

Syntax

js
createSampler()createSampler(descriptor)

Parameter

descriptorOptional

Ein Objekt, das die folgenden Eigenschaften enthält:

addressModeUOptional

Ein enumerierter Wert, der das Verhalten des Samplers angibt, wenn die Breite des Proben-Fußabdrucks über die Breite der Textur hinausgeht. Mögliche Werte sind:

  • "clamp-to-edge": Die Texturkoordinaten werden zwischen 0,0 und 1,0 inklusive begrenzt.
  • "repeat": Die Texturkoordinaten umschließen die andere Seite der Textur.
  • "mirror-repeat": Die Texturkoordinaten umschließen die andere Seite der Textur, aber die Textur wird gespiegelt, wenn der ganzzahlige Teil der Koordinate ungerade ist.

Wenn weggelassen, ist der Standardwert füraddressModeU"clamp-to-edge".

addressModeVOptional

Ein enumerierter Wert, der das Verhalten des Samplers angibt, wenn die Höhe des Proben-Fußabdrucks über die Höhe der Textur hinausgeht. Mögliche und Standardwerte sind die gleichen wie füraddressModeU.

addressModeWOptional

Ein enumerierter Wert, der das Verhalten des Samplers angibt, wenn die Tiefe des Proben-Fußabdrucks über die Tiefe der Textur hinausgeht. Mögliche und Standardwerte sind die gleichen wie füraddressModeU.

compareOptional

Wenn angegeben, wird der Sampler ein Vergleichssampler des angegebenen Typs. Mögliche (enumerierte) Werte sind:

  • "never": Vergleichstests schlagen nie fehl.
  • "less": Ein bereitgestellter Wert besteht den Vergleichstest, wenn er kleiner als der abgetastete Wert ist.
  • "equal": Ein bereitgestellter Wert besteht den Vergleichstest, wenn er gleich dem abgetasteten Wert ist.
  • "less-equal": Ein bereitgestellter Wert besteht den Vergleichstest, wenn er kleiner oder gleich dem abgetasteten Wert ist.
  • "greater": Ein bereitgestellter Wert besteht den Vergleichstest, wenn er größer als der abgetastete Wert ist.
  • "not-equal": Ein bereitgestellter Wert besteht den Vergleichstest, wenn er nicht gleich dem abgetasteten Wert ist.
  • "greater-equal": Ein bereitgestellter Wert besteht den Vergleichstest, wenn er größer oder gleich dem abgetasteten Wert ist.
  • "always": Vergleichstests bestehen immer.

Vergleichssampler können Filtern verwenden, aber die Abtastergebnisse sind implementierungsabhängig und können von den normalen Filterregeln abweichen.

labelOptional

Ein String, der eine Bezeichnung bereitstellt, die verwendet werden kann, um das Objekt zu identifizieren, zum Beispiel inGPUError-Meldungen oder Konsolenwarnungen.

lodMinClampOptional

Eine Zahl, die das minimale Detaillevel angibt, das intern verwendet wird, wenn eine Textur abgetastet wird. Wenn weggelassen, ist der Standardwert fürlodMinClamp 0.

lodMaxClampOptional

Eine Zahl, die das maximale Detaillevel angibt, das intern verwendet wird, wenn eine Textur abgetastet wird. Wenn weggelassen, ist der Standardwert fürlodMaxClamp 32.

maxAnisotropyOptional

Gibt den maximalen Anisotropie-Wert an, der durch den Sampler begrenzt wird. Wenn weggelassen, ist der Standardwert fürmaxAnisotropy 1.

Die meisten Implementierungen unterstützenmaxAnisotropy-Werte in einem Bereich zwischen 1 und 16 inklusive. Der benutzte Wert wird auf den maximalen Wert begrenzt, den die zugrunde liegende Plattform unterstützt.

magFilterOptional

Ein enumerierter Wert, der das Abtastverhalten angibt, wenn der Proben-Fußabdruck kleiner oder gleich einem Texel ist. Mögliche Werte sind:

  • "nearest": Gibt den Wert des Texels zurück, der den Texturkoordinaten am nächsten liegt.
  • "linear": Wählt zwei Texels in jeder Dimension und gibt eine lineare Interpolation zwischen deren Werten zurück.

Wenn weggelassen, ist der Standardwert fürmagFilter"nearest".

Hinweis:Dasfloat32-filterableFeature muss aktiviert sein, damitr32float-,rg32float- undrgba32float-formatGPUTextures filterbar sind.

minFilterOptional

Ein enumerierter Wert, der das Abtastverhalten angibt, wenn der Proben-Fußabdruck größer als ein Texel ist. Mögliche und Standardwerte sind die gleichen wie fürmagFilter.

mipmapFilterOptional

Ein enumerierter Wert, der das Verhalten beim Abtasten zwischen Mipmap-Ebenen angibt. Mögliche und Standardwerte sind die gleichen wie fürmagFilter.

Rückgabewert

EineGPUSampler-Objektinstanz.

Validierung

Die folgenden Kriterien müssen erfüllt sein, wenncreateSampler() aufgerufen wird, andernfalls wird einGPUValidationError erzeugt und ein ungültigesGPUSampler-Objekt zurückgegeben:

  • lodMinClamp ist gleich oder größer als 0.
  • lodMaxClamp ist gleich oder größer alslodMinClamp.
  • maxAnisotropy ist gleich oder größer als 1.
  • WennmaxAnisotropy größer als 1 ist, sindmagFilter,minFilter undmipmapFilter"linear".

Beispiele

Das folgende Snippet erzeugt einGPUSampler, das trilineares Filtern durchführt und Texturkoordinaten wiederholt:

js
// …const sampler = device.createSampler({  addressModeU: "repeat",  addressModeV: "repeat",  magFilter: "linear",  minFilter: "linear",  mipmapFilter: "linear",});

Das WebGPU-BeispielShadow Mapping sample verwendet Vergleichssampler, um aus einer Tiefentextur Schatten zu rendern.

Spezifikationen

Specification
WebGPU
# dom-gpudevice-createsampler

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp