0030483: Visualization, Path Tracing - make Tile Size configurable
[occt.git] / src / OpenGl / OpenGl_ArbSamplerObject.hxx
1 // Copyright (c) 2017 OPEN CASCADE SAS
2 //
3 // This file is part of Open CASCADE Technology software library.
4 //
5 // This library is free software; you can redistribute it and/or modify it under
6 // the terms of the GNU Lesser General Public License version 2.1 as published
7 // by the Free Software Foundation, with special exception defined in the file
8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 // distribution for complete text of the license and disclaimer of any warranty.
10 //
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
13
14 #ifndef _OpenGl_ArbSamplerObject_Header
15 #define _OpenGl_ArbSamplerObject_Header
16
17 #include <OpenGl_GlFunctions.hxx>
18
19 //! Provide Sampler Object functionality (texture parameters stored independently from texture itself).
20 //! Available since OpenGL 3.3+ (GL_ARB_sampler_objects extension) and OpenGL ES 3.0+.
21 struct OpenGl_ArbSamplerObject : protected OpenGl_GlFunctions
22 {
23   using OpenGl_GlFunctions::glGenSamplers;
24   using OpenGl_GlFunctions::glDeleteSamplers;
25   using OpenGl_GlFunctions::glIsSampler;
26   using OpenGl_GlFunctions::glBindSampler;
27   using OpenGl_GlFunctions::glSamplerParameteri;
28   using OpenGl_GlFunctions::glSamplerParameteriv;
29   using OpenGl_GlFunctions::glSamplerParameterf;
30   using OpenGl_GlFunctions::glSamplerParameterfv;
31   using OpenGl_GlFunctions::glGetSamplerParameteriv;
32   using OpenGl_GlFunctions::glGetSamplerParameterfv;
33
34 #if !defined(GL_ES_VERSION_2_0)
35   using OpenGl_GlFunctions::glSamplerParameterIiv;
36   using OpenGl_GlFunctions::glSamplerParameterIuiv;
37   using OpenGl_GlFunctions::glGetSamplerParameterIiv;
38   using OpenGl_GlFunctions::glGetSamplerParameterIuiv;
39 #endif
40
41 };
42
43 #endif // _OpenGl_ArbSamplerObject_Header