Je travaille actuellement avec DX9/SM3, et la documentation MSDN sur HLSL samplers semble manquer cruellement d'expliquer comment utiliser les différents types d'échantillonneurs. Ce qui est pire est qu'ils essaient de couvrir DX9 et DX10 dans un seul article, ils pêle-mêle ensemble tous les mots-clés:Quels sont les différents types d'échantillonneurs HLSL?
sampler Nom = SamplerType {Texture = < texture_variable>; [nom_état = valeur_état;] ...};
...
SamplerType
[en] Le type d'échantillonnage, qui est l'un des éléments suivants: sampler, sampler1D, sampler2D, sampler3D, samplerCUBE, sampler_state, SamplerState.
différences entre Direct3D 9 et Direct3D 10:
Direct3D 10 supporte un type d'échantillonnage supplémentaire: SamplerComparisonState.
J'ai le sentiment que, contrairement à ce writeup, SamplerState
est DX10 seulement. Pratiquement tout le code que je vois utilise sampler_state
pour SamplerType. Un exemple rapide de BasicHLSL (DX9):
sampler MeshTextureSampler =
sampler_state
{
Texture = <g_MeshTexture>;
MipFilter = LINEAR;
MinFilter = LINEAR;
MagFilter = LINEAR;
};
Pourquoi tous les différents _SamplerType_s existent et, par exemple quand utiliseriez-vous, ou sampler
sampler2D
au lieu de sampler_state
? Vous devez être explicite lors de la récupération de toute façon, par ex. tex2D
, texCUBE
, alors qu'est-ce qui se passe ici?
Soyez prévenu, [email protected] n'est pas surveillé activement. – Goz
Je ne le savais pas, merci. Eh bien, j'ai également noté et fourni des commentaires à l'article en question, alors peut-être que cela va fonctionner. – Tchami
Merci, je suis content de ne pas l'avoir perdu. J'ai réussi à déterrer mon vieux DX9 CHM et il y avait un article beaucoup plus propre. DX9 prend même en charge les baies d'échantillonneurs, mais vous ne le sauriez jamais à partir de la page MSDN nouvellement bâclée. –