1 // Created on: 2014-10-07
2 // Created by: Denis BOGOLEPOV
3 // Copyright (c) 2014 OPEN CASCADE SAS
5 // This file is part of Open CASCADE Technology software library.
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
16 #ifndef _OpenGl_ArbTexBindless_H__
17 #define _OpenGl_ArbTexBindless_H__
19 #include <OpenGl_GlFunctions.hxx>
21 //! Provides bindless textures.
22 //! This extension allows OpenGL applications to access texture objects in
23 //! shaders without first binding each texture to one of a limited number of
24 //! texture image units.
25 struct OpenGl_ArbTexBindless : protected OpenGl_GlFunctions
27 #if !defined(GL_ES_VERSION_2_0)
28 using OpenGl_GlFunctions::glGetTextureHandleARB;
29 using OpenGl_GlFunctions::glGetTextureSamplerHandleARB;
30 using OpenGl_GlFunctions::glMakeTextureHandleResidentARB;
31 using OpenGl_GlFunctions::glMakeTextureHandleNonResidentARB;
32 using OpenGl_GlFunctions::glGetImageHandleARB;
33 using OpenGl_GlFunctions::glMakeImageHandleResidentARB;
34 using OpenGl_GlFunctions::glMakeImageHandleNonResidentARB;
35 using OpenGl_GlFunctions::glUniformHandleui64ARB;
36 using OpenGl_GlFunctions::glUniformHandleui64vARB;
37 using OpenGl_GlFunctions::glProgramUniformHandleui64ARB;
38 using OpenGl_GlFunctions::glProgramUniformHandleui64vARB;
39 using OpenGl_GlFunctions::glIsTextureHandleResidentARB;
40 using OpenGl_GlFunctions::glIsImageHandleResidentARB;
41 using OpenGl_GlFunctions::glVertexAttribL1ui64ARB;
42 using OpenGl_GlFunctions::glVertexAttribL1ui64vARB;
43 using OpenGl_GlFunctions::glGetVertexAttribLui64vARB;
47 #endif // _OpenGl_ArbTexBindless_H__