Files

79 lines
1.7 KiB
C++
Raw Permalink Normal View History

2025-05-13 02:46:21 +03:00
#ifndef ITextureSampler_h__
#define ITextureSampler_h__
#include "IResource.h"
#include "render/Enums.h"
namespace LifeGraphics
{
enum TextureFilter
{
MinMagMipPoint = 0,
MinMagPointMipLinear = 1,
MinPointMagLinearMipPoint = 4,
MinPointMagMipLinear = 5,
MinLinearMagMipPoint = 16,
MinLinearMagPointMipLinear = 17,
MinMagLinearMipPoint = 20,
MinMagMipLinear = 21,
Anisotropic = 85,
ComparisonMinMagMipPoint = 128,
ComparisonMinMagPointMipLinear = 129,
ComparisonMinPointMagLinearMipPoint = 132,
ComparisonMinPointMagMipLinear = 133,
ComparisonMinLinearMagMipPoint = 144,
ComparisonMinLinearMagPointMipLinear = 145,
ComparisonMinMagLinearMipPoint = 148,
ComparisonMinMagMipLinear = 149,
ComparisonAnisotropic = 213,
};
enum TextureAddressMode
{
Wrap = 1,
Mirror = 2,
Clamp = 3,
Border = 4,
MirrorOnce = 5,
};
struct ISamplerDescription
{
TextureAddressMode AddressU;
TextureAddressMode AddressV;
TextureAddressMode AddressW;
TextureFilter Filter;
COMPARISON_FUNC CmpFunc;
ISamplerDescription(TextureAddressMode _aU, TextureAddressMode _aV, TextureAddressMode _aW, TextureFilter _f)
{
AddressU = _aU;
AddressV = _aV;
AddressW = _aW;
Filter = _f;
CmpFunc = COMPARISON_ALWAYS;
}
ISamplerDescription(TextureAddressMode _aU, TextureAddressMode _aV, TextureAddressMode _aW, TextureFilter _f, COMPARISON_FUNC cmp)
{
AddressU = _aU;
AddressV = _aV;
AddressW = _aW;
Filter = _f;
CmpFunc = cmp;
}
ISamplerDescription()
{
}
};
class ITextureSampler : public IResource
{
public:
ISamplerDescription Description;
ITextureSampler()
{
}
virtual ~ITextureSampler()
{
}
};
}
#endif // ITextureSampler_h__