| // | |
| // Copyright (c) 2013 The ANGLE Project Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| // | |
| // Sampler.h : Defines the Sampler class, which represents a GLES 3 | |
| // sampler object. Sampler objects store some state needed to sample textures. | |
| #ifndef LIBGLESV2_SAMPLER_H_ | |
| #define LIBGLESV2_SAMPLER_H_ | |
| #include "common/RefCountObject.h" | |
| namespace gl | |
| { | |
| struct SamplerState; | |
| class Sampler : public RefCountObject | |
| { | |
| public: | |
| Sampler(GLuint id); | |
| void setMinFilter(GLenum minFilter) { mMinFilter = minFilter; } | |
| void setMagFilter(GLenum magFilter) { mMagFilter = magFilter; } | |
| void setWrapS(GLenum wrapS) { mWrapS = wrapS; } | |
| void setWrapT(GLenum wrapT) { mWrapT = wrapT; } | |
| void setWrapR(GLenum wrapR) { mWrapR = wrapR; } | |
| void setMinLod(GLfloat minLod) { mMinLod = minLod; } | |
| void setMaxLod(GLfloat maxLod) { mMaxLod = maxLod; } | |
| void setComparisonMode(GLenum comparisonMode) { mComparisonMode = comparisonMode; } | |
| void setComparisonFunc(GLenum comparisonFunc) { mComparisonFunc = comparisonFunc; } | |
| GLenum getMinFilter() const { return mMinFilter; } | |
| GLenum getMagFilter() const { return mMagFilter; } | |
| GLenum getWrapS() const { return mWrapS; } | |
| GLenum getWrapT() const { return mWrapT; } | |
| GLenum getWrapR() const { return mWrapR; } | |
| GLfloat getMinLod() const { return mMinLod; } | |
| GLfloat getMaxLod() const { return mMaxLod; } | |
| GLenum getComparisonMode() const { return mComparisonMode; } | |
| GLenum getComparisonFunc() const { return mComparisonFunc; } | |
| void getState(SamplerState *samplerState) const; | |
| private: | |
| GLenum mMinFilter; | |
| GLenum mMagFilter; | |
| GLenum mWrapS; | |
| GLenum mWrapT; | |
| GLenum mWrapR; | |
| GLfloat mMinLod; | |
| GLfloat mMaxLod; | |
| GLenum mComparisonMode; | |
| GLenum mComparisonFunc; | |
| }; | |
| } | |
| #endif // LIBGLESV2_SAMPLER_H_ |