summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libGLESv2/Sampler.cpp
blob: ed6e29f89ef6cddfe4b72630fa92b2963906f4b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "precompiled.h"
//
// 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.cpp : Implements the Sampler class, which represents a GLES 3
// sampler object. Sampler objects store some state needed to sample textures.

#include "libGLESv2/Sampler.h"
#include "libGLESv2/angletypes.h"

namespace gl
{

Sampler::Sampler(GLuint id)
    : RefCountObject(id),
      mMinFilter(GL_NEAREST_MIPMAP_LINEAR),
      mMagFilter(GL_LINEAR),
      mWrapS(GL_REPEAT),
      mWrapT(GL_REPEAT),
      mWrapR(GL_REPEAT),
      mMinLod(-1000.0f),
      mMaxLod(1000.0f),
      mComparisonMode(GL_NONE),
      mComparisonFunc(GL_LEQUAL)
{
}

void Sampler::getState(SamplerState *samplerState) const
{
    samplerState->minFilter   = mMinFilter;
    samplerState->magFilter   = mMagFilter;
    samplerState->wrapS       = mWrapS;
    samplerState->wrapT       = mWrapT;
    samplerState->wrapR       = mWrapR;
    samplerState->minLod      = mMinLod;
    samplerState->maxLod      = mMaxLod;
    samplerState->compareMode = mComparisonMode;
    samplerState->compareFunc = mComparisonFunc;
}

}