SampleLevel HLSL

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
MadMax
Beiträge: 59
Registriert: 24.01.2003, 13:31
Kontaktdaten:

SampleLevel HLSL

Beitrag von MadMax »

Kurze Frage:

warum funktioniert Load richtig und SampleLevel nicht (SampleLevel gibt mir immer die nullte Mip)

Code: Alles auswählen

	int l=3;
	int2 size = int2(DEVICE_DATA.x,DEVICE_DATA.y)*(1.0/(pow(2,l)));
	int2 index = int2(uv.x*size.x,uv.y*size.y);

	return RENDERTARGET_5.Load(int3(index, l), 0 );
	return RENDERTARGET_5.SampleLevel(PointSamplerClamp,uv.xy,l);
Benutzeravatar
B.G.Michi
Establishment
Beiträge: 163
Registriert: 07.03.2006, 20:38
Alter Benutzername: B.G.Michi
Kontaktdaten:

Re: SampleLevel HLSL

Beitrag von B.G.Michi »

Mit der Menge an Informationen würde ich auf den Sampler tippen. Evtl. einen Sampler im Shader definiert oder einen falschen an das Device gebunden?
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: SampleLevel HLSL

Beitrag von Krishty »

Hat die Textur überhaupt Mip-Ebenen? Dein Load() funktioniert nämlich auch dann richtig; SampleLevel() kann hingegen nur Ebenen samplen, die auch existieren.

Sonst würde ich, wie Michi, die Sampler-Einstellungen verdächtigen.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
MadMax
Beiträge: 59
Registriert: 24.01.2003, 13:31
Kontaktdaten:

Re: SampleLevel HLSL

Beitrag von MadMax »

Was meinst du mit Load würde auch ohne Mips funktionieren. Load sollte eigentlich 0 liefern sobald es außerhalb des Speichers zugreift.  Sollten keine Mips existieren  Zugriff mit l != 0  Schwarz. Das ist aber nicht der Fall. Ich erstelle die Mips übrigens mit GenerateMips.
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: SampleLevel HLSL

Beitrag von Krishty »

Ja stimmt; ich hatte das falsch gelesen.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten