]> git.lizzy.rs Git - irrlicht.git/commitdiff
Get rid of MATERIAL_MAX_TEXTURES_USED
authorsfan5 <sfan5@live.de>
Fri, 19 Nov 2021 19:16:57 +0000 (20:16 +0100)
committersfan5 <sfan5@live.de>
Fri, 19 Nov 2021 19:16:57 +0000 (20:16 +0100)
Another configurable knob of questionable usefulness,
especially since this inhibits certain optimizations
by making loop length dependent on a global variable.

include/SMaterial.h
source/Irrlicht/COGLES2ExtensionHandler.cpp
source/Irrlicht/COGLESExtensionHandler.cpp
source/Irrlicht/COpenGLExtensionHandler.cpp
source/Irrlicht/CWebGL1Driver.cpp
source/Irrlicht/Irrlicht.cpp

index 295cfbd010a498da98bbc9881b6b30cd2aafa184..9874d77bf2b504d7e32c0c61aad1688b95617c87 100644 (file)
@@ -282,23 +282,6 @@ namespace video
        */\r
        const u32 MATERIAL_MAX_TEXTURES = _IRR_MATERIAL_MAX_TEXTURES_;\r
 \r
-       //! By default this is identical to MATERIAL_MAX_TEXTURES\r
-       /** Users can modify this value if they are certain they don't need all\r
-               available textures per material in their application. For example if you\r
-               never need more than 2 textures per material you can set this to 2.\r
-\r
-               We (mostly) avoid dynamic memory in SMaterial, so the extra memory\r
-               will still be allocated. But by lowering MATERIAL_MAX_TEXTURES_USED the\r
-               material comparisons and assignments can be faster. Also several other\r
-               places in the engine can be faster when reducing this value to the limit\r
-               you need.\r
-\r
-               NOTE: This should only be changed once and before any call to createDevice.\r
-               NOTE: Do not set it below 1 or above the value of _IRR_MATERIAL_MAX_TEXTURES_.\r
-               NOTE: Going below 4 is usually not worth it.\r
-       */\r
-       IRRLICHT_API extern u32 MATERIAL_MAX_TEXTURES_USED;\r
-\r
        //! Struct for holding parameters for a material renderer\r
        // Note for implementors: Serialization is in CNullDriver\r
        class SMaterial\r
@@ -323,7 +306,7 @@ namespace video
                SMaterial(const SMaterial& other)\r
                {\r
                        // These pointers are checked during assignment\r
-                       for (u32 i=0; i<MATERIAL_MAX_TEXTURES_USED; ++i)\r
+                       for (u32 i=0; i<MATERIAL_MAX_TEXTURES; ++i)\r
                                TextureLayer[i].TextureMatrix = 0;\r
                        *this = other;\r
                }\r
@@ -565,23 +548,23 @@ namespace video
                                        FrontfaceCulling = value; break;\r
                                case EMF_BILINEAR_FILTER:\r
                                {\r
-                                       for (u32 i=0; i<MATERIAL_MAX_TEXTURES_USED; ++i)\r
+                                       for (u32 i=0; i<MATERIAL_MAX_TEXTURES; ++i)\r
                                                TextureLayer[i].BilinearFilter = value;\r
                                }\r
                                break;\r
                                case EMF_TRILINEAR_FILTER:\r
                                {\r
-                                       for (u32 i=0; i<MATERIAL_MAX_TEXTURES_USED; ++i)\r
+                                       for (u32 i=0; i<MATERIAL_MAX_TEXTURES; ++i)\r
                                                TextureLayer[i].TrilinearFilter = value;\r
                                }\r
                                break;\r
                                case EMF_ANISOTROPIC_FILTER:\r
                                {\r
                                        if (value)\r
-                                               for (u32 i=0; i<MATERIAL_MAX_TEXTURES_USED; ++i)\r
+                                               for (u32 i=0; i<MATERIAL_MAX_TEXTURES; ++i)\r
                                                        TextureLayer[i].AnisotropicFilter = 0xFF;\r
                                        else\r
-                                               for (u32 i=0; i<MATERIAL_MAX_TEXTURES_USED; ++i)\r
+                                               for (u32 i=0; i<MATERIAL_MAX_TEXTURES; ++i)\r
                                                        TextureLayer[i].AnisotropicFilter = 0;\r
                                }\r
                                break;\r
@@ -591,7 +574,7 @@ namespace video
                                        NormalizeNormals = value; break;\r
                                case EMF_TEXTURE_WRAP:\r
                                {\r
-                                       for (u32 i=0; i<MATERIAL_MAX_TEXTURES_USED; ++i)\r
+                                       for (u32 i=0; i<MATERIAL_MAX_TEXTURES; ++i)\r
                                        {\r
                                                TextureLayer[i].TextureWrapU = (E_TEXTURE_CLAMP)value;\r
                                                TextureLayer[i].TextureWrapV = (E_TEXTURE_CLAMP)value;\r
@@ -713,7 +696,7 @@ namespace video
                                PolygonOffsetSlopeScale != b.PolygonOffsetSlopeScale ||\r
                                UseMipMaps != b.UseMipMaps\r
                                ;\r
-                       for (u32 i=0; (i<MATERIAL_MAX_TEXTURES_USED) && !different; ++i)\r
+                       for (u32 i=0; (i<MATERIAL_MAX_TEXTURES) && !different; ++i)\r
                        {\r
                                different |= (TextureLayer[i] != b.TextureLayer[i]);\r
                        }\r
index 416e594763ddb4785303ad8d6ec185256778b6aa..83b8eb2ae8556e52d9abcf8f671e4898fb39c063 100644 (file)
@@ -47,7 +47,6 @@ namespace video
                glGetFloatv(GL_ALIASED_POINT_SIZE_RANGE, DimAliasedPoint);\r
 \r
                Feature.MaxTextureUnits = core::min_(Feature.MaxTextureUnits, static_cast<u8>(MATERIAL_MAX_TEXTURES));\r
-               Feature.MaxTextureUnits = core::min_(Feature.MaxTextureUnits, static_cast<u8>(MATERIAL_MAX_TEXTURES_USED));\r
                Feature.ColorAttachment = 1;\r
        }\r
 \r
index 4badf221e9b7923008f1a8944545e83f93782cc0..4923ada58659dcf07b591d9d0b2fb65ca27ea99e 100644 (file)
@@ -82,7 +82,6 @@ namespace video
                glGetFloatv(GL_ALIASED_POINT_SIZE_RANGE, DimAliasedPoint);\r
 \r
                Feature.MaxTextureUnits = core::min_(Feature.MaxTextureUnits, static_cast<u8>(MATERIAL_MAX_TEXTURES));\r
-               Feature.MaxTextureUnits = core::min_(Feature.MaxTextureUnits, static_cast<u8>(MATERIAL_MAX_TEXTURES_USED));\r
                Feature.ColorAttachment = 1;\r
 \r
 #if defined(_IRR_OGLES1_USE_EXTPOINTER_)\r
index 8a2ed4245260e14ed3b92825d04cdcbdcfc7cfd7..3e5593f6cd71e199e9b72d35311e83f1c2decfba 100644 (file)
@@ -756,7 +756,6 @@ void COpenGLExtensionHandler::initExtensions(bool stencilBuffer)
        else\r
 #endif\r
        Feature.MaxTextureUnits = core::min_(Feature.MaxTextureUnits, static_cast<u8>(MATERIAL_MAX_TEXTURES));\r
-       Feature.MaxTextureUnits = core::min_(Feature.MaxTextureUnits, static_cast<u8>(MATERIAL_MAX_TEXTURES_USED));\r
 \r
 #ifdef GL_ARB_occlusion_query\r
        if (FeatureAvailable[IRR_ARB_occlusion_query])\r
index 1f0acb11098a633ffbc5cf3213e5e6fc07497d89..defa5ac1a8afcfa3f546737008a1937c9cac5be5 100644 (file)
@@ -1097,7 +1097,6 @@ void CWebGL1Driver::initWebGLExtensions()
        glGetFloatv(GL_ALIASED_LINE_WIDTH_RANGE, DimAliasedLine);\r
        glGetFloatv(GL_ALIASED_POINT_SIZE_RANGE, DimAliasedPoint);\r
        Feature.MaxTextureUnits = core::min_(Feature.MaxTextureUnits, static_cast<u8>(MATERIAL_MAX_TEXTURES));\r
-       Feature.MaxTextureUnits = core::min_(Feature.MaxTextureUnits, static_cast<u8>(MATERIAL_MAX_TEXTURES_USED));\r
 \r
        Feature.ColorAttachment = 1;\r
 }\r
index 0745c5edd9d3a4f0fcedb1bac2a350fda7025299..1e0165105f6f6bd3f58da5a595d1f9db355015fb 100644 (file)
@@ -132,7 +132,6 @@ namespace core
 namespace video\r
 {\r
        SMaterial IdentityMaterial;\r
-       u32 MATERIAL_MAX_TEXTURES_USED = MATERIAL_MAX_TEXTURES;\r
 }\r
 \r
 } // end namespace irr\r