]> git.lizzy.rs Git - irrlicht.git/blob - source/Irrlicht/COGLES2ExtensionHandler.cpp
Reduce IrrCompileConfig usage to files that actually need it
[irrlicht.git] / source / Irrlicht / COGLES2ExtensionHandler.cpp
1 // Copyright (C) 2015 Patryk Nadrowski\r
2 // Copyright (C) 2009-2010 Amundis\r
3 // 2017 modified by Michael Zeilfelder (unifying extension handlers)\r
4 // This file is part of the "Irrlicht Engine".\r
5 // For conditions of distribution and use, see copyright notice in Irrlicht.h\r
6 \r
7 #include "COGLES2ExtensionHandler.h"\r
8 \r
9 #ifdef _IRR_COMPILE_WITH_OGLES2_\r
10 \r
11 #include "irrString.h"\r
12 #include "SMaterial.h"\r
13 #include "fast_atof.h"\r
14 \r
15 namespace irr\r
16 {\r
17 namespace video\r
18 {\r
19         void COGLES2ExtensionHandler::initExtensions()\r
20         {\r
21                 getGLVersion();\r
22 \r
23                 getGLExtensions();\r
24 \r
25                 GLint val=0;\r
26                 glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &val);\r
27                 Feature.MaxTextureUnits = static_cast<u8>(val);\r
28 \r
29         #ifdef GL_EXT_texture_filter_anisotropic\r
30                 if (FeatureAvailable[IRR_GL_EXT_texture_filter_anisotropic])\r
31                 {\r
32                         glGetIntegerv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &val);\r
33                         MaxAnisotropy = static_cast<u8>(val);\r
34                 }\r
35         #endif\r
36         #ifdef GL_MAX_ELEMENTS_INDICES\r
37                 glGetIntegerv(GL_MAX_ELEMENTS_INDICES, &val);\r
38                 MaxIndices=val;\r
39         #endif\r
40                 glGetIntegerv(GL_MAX_TEXTURE_SIZE, &val);\r
41                 MaxTextureSize=static_cast<u32>(val);\r
42         #ifdef GL_EXT_texture_lod_bias\r
43                 if (FeatureAvailable[IRR_EXT_texture_lod_bias])\r
44                         glGetFloatv(GL_MAX_TEXTURE_LOD_BIAS_EXT, &MaxTextureLODBias);\r
45         #endif\r
46                 glGetFloatv(GL_ALIASED_LINE_WIDTH_RANGE, DimAliasedLine);\r
47                 glGetFloatv(GL_ALIASED_POINT_SIZE_RANGE, DimAliasedPoint);\r
48 \r
49                 Feature.MaxTextureUnits = core::min_(Feature.MaxTextureUnits, static_cast<u8>(MATERIAL_MAX_TEXTURES));\r
50                 Feature.ColorAttachment = 1;\r
51         }\r
52 \r
53 } // end namespace video\r
54 } // end namespace irr\r
55 \r
56 \r
57 #endif // _IRR_COMPILE_WITH_OGLES2_\r