wut/include/gx2/sampler.h
2018-06-20 11:05:16 +01:00

79 lines
1.8 KiB
C

#pragma once
#include <wut.h>
#include "enum.h"
/**
* \defgroup gx2_sampler Sampler
* \ingroup gx2
* @{
*/
#ifdef __cplusplus
extern "C" {
#endif
typedef struct GX2Sampler GX2Sampler;
struct GX2Sampler
{
uint32_t regs[3];
};
WUT_CHECK_SIZE(GX2Sampler, 12);
void
GX2InitSampler(GX2Sampler *sampler,
GX2TexClampMode clampMode,
GX2TexXYFilterMode minMagFilterMode);
void
GX2InitSamplerBorderType(GX2Sampler *sampler,
GX2TexBorderType borderType);
void
GX2InitSamplerClamping(GX2Sampler *sampler,
GX2TexClampMode clampX,
GX2TexClampMode clampY,
GX2TexClampMode clampZ);
void
GX2InitSamplerDepthCompare(GX2Sampler *sampler,
GX2CompareFunction depthCompare);
void
GX2InitSamplerFilterAdjust(GX2Sampler *sampler,
BOOL highPrecision,
GX2TexMipPerfMode perfMip,
GX2TexZPerfMode perfZ);
void
GX2InitSamplerLOD(GX2Sampler *sampler,
float lodMin,
float lodMax,
float lodBias);
void
GX2InitSamplerLODAdjust(GX2Sampler *sampler,
float unk1,
BOOL unk2);
void
GX2InitSamplerRoundingMode(GX2Sampler *sampler,
GX2RoundingMode roundingMode);
void
GX2InitSamplerXYFilter(GX2Sampler *sampler,
GX2TexXYFilterMode filterMag,
GX2TexXYFilterMode filterMin,
GX2TexAnisoRatio maxAniso);
void
GX2InitSamplerZMFilter(GX2Sampler *sampler,
GX2TexZFilterMode filterZ,
GX2TexMipFilterMode filterMip);
#ifdef __cplusplus
}
#endif
/** @} */