Hi,
Wie verhält sich Texture2D.Load(), wenn Location außerhalb des Texturausmaßes liegt? Clamping? Schwarz? Undefiniert? Finde in der Doku nichts.
Gruß, Ky
(gelöst)[HLSL] Verhalten von Texture2D.Load() out-of-bounds
- Krishty
- Establishment
- Beiträge: 8350
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
(gelöst)[HLSL] Verhalten von Texture2D.Load() out-of-bounds
Zuletzt geändert von Krishty am 09.02.2011, 19:54, insgesamt 1-mal geändert.
- kimmi
- Moderator
- Beiträge: 1412
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: [HLSL] Verhalten von Texture2D.Load() out-of-bounds
Probier doch einfach mal, was bei rauskommt. Ansonsten kann man das Verhalten doch sicher per State vorher setzen? Ich bin nicht so firm in HLSL, daher die Menge an Annahmen von meiner Seite.
Gruß Kimmi
Gruß Kimmi
- Krishty
- Establishment
- Beiträge: 8350
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: [HLSL] Verhalten von Texture2D.Load() out-of-bounds
Bei mir wird geclamped. Da das nicht dokumentiert ist, bin ich äußerst misstrauisch, ob das auch in Zukunft noch so ist … per State kann man garnichts setzen – im Gegensatz zu Sample(), was per Sampler-State konfigurierbar ist, soll Load() ein direkter Speicherzugriff auf einen einzelnen Texel / ein einziges Sample sein.
- Krishty
- Establishment
- Beiträge: 8350
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: [HLSL] Verhalten von Texture2D.Load() out-of-bounds
Soo. Endlich einen Beleg gefunden:
Ich weise auf die Möglichkeit hin, das zur Verbesserung der Bandbreite zu nutzen.
Also immer Null, kein Clamping. Ob das nur für den eingebauten operator[] gilt oder auch für Load() weiß ich zwar nicht, aber Load() benutze ich eh nicht mehr.Chas. Boyd — DirectX 11 Compute Shader, Siggraph2008 hat geschrieben:DXGI Resources
– Used for textures, images, vertices, hulls, etc.
– Enables out-of-bounds memory checking
• Returns 0 on reads
• Writes are No-Ops
– Improves security, reliability of shipped code
Ich weise auf die Möglichkeit hin, das zur Verbesserung der Bandbreite zu nutzen.