1// 2// Copyright (c) 2013 The ANGLE Project Authors. All rights reserved. 3// Use of this source code is governed by a BSD-style license that can be 4// found in the LICENSE file. 5// 6 7// Sampler.cpp : Implements the Sampler class, which represents a GLES 3 8// sampler object. Sampler objects store some state needed to sample textures. 9 10#include "libGLESv2/Sampler.h" 11#include "libGLESv2/angletypes.h" 12 13namespace gl 14{ 15 16Sampler::Sampler(GLuint id) 17 : RefCountObject(id), 18 mMinFilter(GL_NEAREST_MIPMAP_LINEAR), 19 mMagFilter(GL_LINEAR), 20 mWrapS(GL_REPEAT), 21 mWrapT(GL_REPEAT), 22 mWrapR(GL_REPEAT), 23 mMinLod(-1000.0f), 24 mMaxLod(1000.0f), 25 mComparisonMode(GL_NONE), 26 mComparisonFunc(GL_LEQUAL) 27{ 28} 29 30void Sampler::getState(SamplerState *samplerState) const 31{ 32 samplerState->minFilter = mMinFilter; 33 samplerState->magFilter = mMagFilter; 34 samplerState->wrapS = mWrapS; 35 samplerState->wrapT = mWrapT; 36 samplerState->wrapR = mWrapR; 37 samplerState->minLod = mMinLod; 38 samplerState->maxLod = mMaxLod; 39 samplerState->compareMode = mComparisonMode; 40 samplerState->compareFunc = mComparisonFunc; 41} 42 43} 44