mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-15 08:52:00 +00:00
40 lines
587 B
C
40 lines
587 B
C
|
#ifndef __GL_SAMPLERS_H
|
||
|
#define __GL_SAMPLERS_H
|
||
|
|
||
|
#include <stdint.h>
|
||
|
|
||
|
enum ESampler
|
||
|
{
|
||
|
SamplerRepeat,
|
||
|
SamplerClampX,
|
||
|
SamplerClampY,
|
||
|
SamplerClampXY,
|
||
|
Sampler2D,
|
||
|
SamplerNoFilter,
|
||
|
Sampler2DFiltered,
|
||
|
NumSamplers
|
||
|
};
|
||
|
|
||
|
|
||
|
class FSamplerManager
|
||
|
{
|
||
|
// We need 6 different samplers: 4 for the different clamping modes,
|
||
|
// one for 2D-textures and one for voxel textures
|
||
|
unsigned int mSamplers[NumSamplers];
|
||
|
|
||
|
void UnbindAll();
|
||
|
|
||
|
public:
|
||
|
|
||
|
FSamplerManager();
|
||
|
~FSamplerManager();
|
||
|
|
||
|
uint8_t Bind(int texunit, int num, int lastval);
|
||
|
void SetTextureFilterMode(int mode, int aniso);
|
||
|
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif
|
||
|
|