GXSAMPLER DESC

Материал из SkyXEngine wiki
Перейти к: навигация, поиск

Описывает состояния сэмплера для вызова IGXContext::createSamplerState для создания IGXSamplerState

Синтаксис

typedef struct _GXSAMPLER_DESC
{
	GXFILTER filter = GXFILTER_MIN_MAG_MIP_POINT;
	GXTEXTURE_ADDRESS_MODE addressU = GXTEXTURE_ADDRESS_WRAP;
	GXTEXTURE_ADDRESS_MODE addressV = GXTEXTURE_ADDRESS_WRAP;
	GXTEXTURE_ADDRESS_MODE addressW = GXTEXTURE_ADDRESS_WRAP;
	float fMipLODBias = 0.0f;
	UINT uMaxAnisotropy = 1;
	GXCOMPARISON_FUNC comparisonFunc = GXCOMPARISON_NEVER;
	float4_t f4BorderColor;
	float fMinLOD = 0;
	float fMaxLOD = FLT_MAX;
} GXSAMPLER_DESC;

Поля

filter
Тип: GXFILTER
Тип фильтрации при выборке из текстуры
addressU
Тип: GXTEXTURE_ADDRESS_MODE
Метод обработки текстурной координаты U, выходящих за пределы [0..1]
addressV
Тип: GXTEXTURE_ADDRESS_MODE
Метод обработки текстурной координаты V, выходящих за пределы [0..1]
addressW
Тип: GXTEXTURE_ADDRESS_MODE
Метод обработки текстурной координаты W, выходящих за пределы [0..1]
fMipLODBias
Тип: float
Смещение относительно расчитанного мипмап уровня. Например, если драйвер решит, что выборка должна происходить из уровня 3, а fMipLODBias равен 2, то выборка будет из уровня 5.
uMaxAnisotropy
Тип: UINT

To do: описать это

Допустимые значения от 1 до 16
comparisonFunc
Тип: GXCOMPARISON_FUNC

To do: описать это

Примечание: не поддерживается для directx9

f4BorderColor
Тип: float4_t
Указывает цвет для использования при режиме адресации GXTEXTURE_ADDRESS_BORDER. Допустимые значения [0..1]
fMinLOD
Тип: float
Наименьший мипмап уровень, используемый для выборки. 0 - самый большой и детализированный мип-уровень.
fMaxLOD
Тип: float
Наибольшой доступный мипмап уровень, используемый для выборки. 0 - самый большой и детализированный мип-уровень. Это значение должно не должно быть меньше, чем fMinLOD

Примечание: не поддерживается для directx9


Примечания

Аналоги в dx9

IDirect3Device9::SetSamplerState() со следующими стейтами:

  • D3DSAMP_ADDRESSU = 1, /* D3DTEXTUREADDRESS for U coordinate */
  • D3DSAMP_ADDRESSV = 2, /* D3DTEXTUREADDRESS for V coordinate */
  • D3DSAMP_ADDRESSW = 3, /* D3DTEXTUREADDRESS for W coordinate */
  • D3DSAMP_BORDERCOLOR = 4, /* D3DCOLOR */
  • D3DSAMP_MAGFILTER = 5, /* D3DTEXTUREFILTER filter to use for magnification */
  • D3DSAMP_MINFILTER = 6, /* D3DTEXTUREFILTER filter to use for minification */
  • D3DSAMP_MIPFILTER = 7, /* D3DTEXTUREFILTER filter to use between mipmaps during minification */
  • D3DSAMP_MIPMAPLODBIAS = 8, /* float Mipmap LOD bias */
  • D3DSAMP_MAXMIPLEVEL = 9, /* DWORD 0..(n-1) LOD index of largest map to use (0 == largest) */
  • D3DSAMP_MAXANISOTROPY = 10, /* DWORD maximum anisotropy */