Was sind die verschiedenen HLSL-sampler-Typen für?

Arbeite ich mit DX9/SM3 im moment, und die MSDN-Dokumentation auf HLSL-Sampler zu sein scheint, fehlt bei der Erklärung, wie die verschiedenen sampler-Typen. Was noch schlimmer ist, Sie versuchen zu decken DX9 und DX10 in einem einzigen Artikel, so dass Sie Durcheinander zusammen, alle keywords:

sampler Namen = SamplerType { Texture = <texture_variable>; [state_name = state_value;] ... };

...

SamplerType

[in] Der sampler-Typ, welche eine der folgenden ist: sampler, sampler1D, sampler2D, sampler3D, samplerCUBE, sampler_state, SamplerState.

Unterschiede zwischen Direct3D 9 und Direct3D 10:

Direct3D 10 unterstützt einen zusätzlichen sampler Typ: SamplerComparisonState.

Habe ich das Gefühl, dass Sie im Gegensatz zu diesem Kommentar, SamplerState ist DX10 nur. Nahezu alle der code, den ich sehe, nutzt sampler_state für SamplerType. Ein kurzes Beispiel aus BasicHLSL (DX9):

sampler MeshTextureSampler =
sampler_state
{
    Texture = <g_MeshTexture>;
    MipFilter = LINEAR;
    MinFilter = LINEAR;
    MagFilter = LINEAR;
};

Warum all die verschiedenen _SamplerType_s existieren und als würde Sie verwenden, sagen, sampler oder sampler2D statt sampler_state? Sie müssen eindeutig sein beim abholen jedenfalls, z.B. tex2D, texCUBE, also, was ist hier Los?

InformationsquelleAutor | 2009-08-19
Schreibe einen Kommentar