aboutsummaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authornumzero <numzer0@yandex.ru>2023-04-02 21:06:09 +0300
committersfan5 <sfan5@live.de>2023-04-07 17:42:54 +0200
commit718ba69e1b81fe8149bdd637379cb37c7394d9c4 (patch)
tree7f86fd452a8aa5378410c213cc3cbc1c3eb61091 /source
parent54314691ec17f0fa4700bf6fbd4925f25ac81021 (diff)
downloadirrlicht-718ba69e1b81fe8149bdd637379cb37c7394d9c4.tar.xz
OpenGL3: Drop unused fixed-function emulation materials
Diffstat (limited to 'source')
-rw-r--r--source/Irrlicht/OpenGL/Driver.cpp123
-rw-r--r--source/Irrlicht/OpenGL/Driver.h2
-rw-r--r--source/Irrlicht/OpenGL/FixedPipelineRenderer.cpp137
-rw-r--r--source/Irrlicht/OpenGL/FixedPipelineRenderer.h74
4 files changed, 32 insertions, 304 deletions
diff --git a/source/Irrlicht/OpenGL/Driver.cpp b/source/Irrlicht/OpenGL/Driver.cpp
index 641536f..6dec58f 100644
--- a/source/Irrlicht/OpenGL/Driver.cpp
+++ b/source/Irrlicht/OpenGL/Driver.cpp
@@ -317,140 +317,73 @@ COpenGL3DriverBase::~COpenGL3DriverBase()
fsFile->drop();
}
+ void COpenGL3DriverBase::addDummyMaterial(E_MATERIAL_TYPE type) {
+ auto index = addMaterialRenderer(getMaterialRenderer(EMT_SOLID), "DUMMY");
+ assert(index == type);
+ }
+
void COpenGL3DriverBase::createMaterialRenderers()
{
// Create callbacks.
COpenGL3MaterialSolidCB* SolidCB = new COpenGL3MaterialSolidCB();
- COpenGL3MaterialSolid2CB* Solid2LayerCB = new COpenGL3MaterialSolid2CB();
- COpenGL3MaterialLightmapCB* LightmapCB = new COpenGL3MaterialLightmapCB(1.f);
- COpenGL3MaterialLightmapCB* LightmapAddCB = new COpenGL3MaterialLightmapCB(1.f);
- COpenGL3MaterialLightmapCB* LightmapM2CB = new COpenGL3MaterialLightmapCB(2.f);
- COpenGL3MaterialLightmapCB* LightmapM4CB = new COpenGL3MaterialLightmapCB(4.f);
- COpenGL3MaterialLightmapCB* LightmapLightingCB = new COpenGL3MaterialLightmapCB(1.f);
- COpenGL3MaterialLightmapCB* LightmapLightingM2CB = new COpenGL3MaterialLightmapCB(2.f);
- COpenGL3MaterialLightmapCB* LightmapLightingM4CB = new COpenGL3MaterialLightmapCB(4.f);
- COpenGL3MaterialSolid2CB* DetailMapCB = new COpenGL3MaterialSolid2CB();
- COpenGL3MaterialReflectionCB* SphereMapCB = new COpenGL3MaterialReflectionCB();
- COpenGL3MaterialReflectionCB* Reflection2LayerCB = new COpenGL3MaterialReflectionCB();
- COpenGL3MaterialSolidCB* TransparentAddColorCB = new COpenGL3MaterialSolidCB();
COpenGL3MaterialSolidCB* TransparentAlphaChannelCB = new COpenGL3MaterialSolidCB();
COpenGL3MaterialSolidCB* TransparentAlphaChannelRefCB = new COpenGL3MaterialSolidCB();
COpenGL3MaterialSolidCB* TransparentVertexAlphaCB = new COpenGL3MaterialSolidCB();
- COpenGL3MaterialReflectionCB* TransparentReflection2LayerCB = new COpenGL3MaterialReflectionCB();
COpenGL3MaterialOneTextureBlendCB* OneTextureBlendCB = new COpenGL3MaterialOneTextureBlendCB();
// Create built-in materials.
+ // The addition order must be the same as in the E_MATERIAL_TYPE enumeration. Thus the
+ // addDummyMaterial calls for materials no longer supported.
- core::stringc VertexShader = OGLES2ShaderPath + "Solid.vsh";
- core::stringc FragmentShader = OGLES2ShaderPath + "Solid.fsh";
+ const core::stringc VertexShader = OGLES2ShaderPath + "Solid.vsh";
+ // EMT_SOLID
+ core::stringc FragmentShader = OGLES2ShaderPath + "Solid.fsh";
addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, SolidCB, EMT_SOLID, 0);
- VertexShader = OGLES2ShaderPath + "Solid2.vsh";
- FragmentShader = OGLES2ShaderPath + "Solid2Layer.fsh";
-
- addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
- EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, Solid2LayerCB, EMT_SOLID, 0);
-
- VertexShader = OGLES2ShaderPath + "Solid2.vsh";
- FragmentShader = OGLES2ShaderPath + "LightmapModulate.fsh";
-
- addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
- EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, LightmapCB, EMT_SOLID, 0);
-
- FragmentShader = OGLES2ShaderPath + "LightmapAdd.fsh";
-
- addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
- EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, LightmapAddCB, EMT_SOLID, 0);
-
- FragmentShader = OGLES2ShaderPath + "LightmapModulate.fsh";
-
- addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
- EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, LightmapM2CB, EMT_SOLID, 0);
-
- addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
- EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, LightmapM4CB, EMT_SOLID, 0);
-
- addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
- EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, LightmapLightingCB, EMT_SOLID, 0);
-
- addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
- EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, LightmapLightingM2CB, EMT_SOLID, 0);
-
- addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
- EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, LightmapLightingM4CB, EMT_SOLID, 0);
-
- VertexShader = OGLES2ShaderPath + "Solid2.vsh";
- FragmentShader = OGLES2ShaderPath + "DetailMap.fsh";
-
- addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
- EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, DetailMapCB, EMT_SOLID, 0);
-
- VertexShader = OGLES2ShaderPath + "SphereMap.vsh";
- FragmentShader = OGLES2ShaderPath + "SphereMap.fsh";
-
- addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
- EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, SphereMapCB, EMT_SOLID, 0);
-
- VertexShader = OGLES2ShaderPath + "Reflection2Layer.vsh";
- FragmentShader = OGLES2ShaderPath + "Reflection2Layer.fsh";
-
- addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
- EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, Reflection2LayerCB, EMT_SOLID, 0);
-
- VertexShader = OGLES2ShaderPath + "Solid.vsh";
- FragmentShader = OGLES2ShaderPath + "Solid.fsh";
-
- addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
- EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, TransparentAddColorCB, EMT_TRANSPARENT_ADD_COLOR, 0);
-
+ addDummyMaterial(EMT_SOLID_2_LAYER);
+ addDummyMaterial(EMT_LIGHTMAP);
+ addDummyMaterial(EMT_LIGHTMAP_ADD);
+ addDummyMaterial(EMT_LIGHTMAP_M2);
+ addDummyMaterial(EMT_LIGHTMAP_M4);
+ addDummyMaterial(EMT_LIGHTMAP_LIGHTING);
+ addDummyMaterial(EMT_LIGHTMAP_LIGHTING_M2);
+ addDummyMaterial(EMT_LIGHTMAP_LIGHTING_M4);
+ addDummyMaterial(EMT_DETAIL_MAP);
+ addDummyMaterial(EMT_SPHERE_MAP);
+ addDummyMaterial(EMT_REFLECTION_2_LAYER);
+ addDummyMaterial(EMT_TRANSPARENT_ADD_COLOR);
+
+ // EMT_TRANSPARENT_ALPHA_CHANNEL
FragmentShader = OGLES2ShaderPath + "TransparentAlphaChannel.fsh";
addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, TransparentAlphaChannelCB, EMT_TRANSPARENT_ALPHA_CHANNEL, 0);
+ // EMT_TRANSPARENT_ALPHA_CHANNEL_REF
FragmentShader = OGLES2ShaderPath + "TransparentAlphaChannelRef.fsh";
-
addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, TransparentAlphaChannelRefCB, EMT_SOLID, 0);
+ // EMT_TRANSPARENT_VERTEX_ALPHA
FragmentShader = OGLES2ShaderPath + "TransparentVertexAlpha.fsh";
-
addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, TransparentVertexAlphaCB, EMT_TRANSPARENT_ALPHA_CHANNEL, 0);
- VertexShader = OGLES2ShaderPath + "Reflection2Layer.vsh";
- FragmentShader = OGLES2ShaderPath + "Reflection2Layer.fsh";
+ addDummyMaterial(EMT_TRANSPARENT_REFLECTION_2_LAYER);
- addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
- EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, TransparentReflection2LayerCB, EMT_TRANSPARENT_ALPHA_CHANNEL, 0);
-
- VertexShader = OGLES2ShaderPath + "Solid.vsh";
+ // EMT_ONETEXTURE_BLEND
FragmentShader = OGLES2ShaderPath + "OneTextureBlend.fsh";
-
addHighLevelShaderMaterialFromFiles(VertexShader, "main", EVST_VS_2_0, FragmentShader, "main", EPST_PS_2_0, "", "main",
EGST_GS_4_0, scene::EPT_TRIANGLES, scene::EPT_TRIANGLE_STRIP, 0, OneTextureBlendCB, EMT_ONETEXTURE_BLEND, 0);
// Drop callbacks.
SolidCB->drop();
- Solid2LayerCB->drop();
- LightmapCB->drop();
- LightmapAddCB->drop();
- LightmapM2CB->drop();
- LightmapM4CB->drop();
- LightmapLightingCB->drop();
- LightmapLightingM2CB->drop();
- LightmapLightingM4CB->drop();
- DetailMapCB->drop();
- SphereMapCB->drop();
- Reflection2LayerCB->drop();
- TransparentAddColorCB->drop();
TransparentAlphaChannelCB->drop();
TransparentAlphaChannelRefCB->drop();
TransparentVertexAlphaCB->drop();
- TransparentReflection2LayerCB->drop();
OneTextureBlendCB->drop();
// Create 2D material renderers
diff --git a/source/Irrlicht/OpenGL/Driver.h b/source/Irrlicht/OpenGL/Driver.h
index 06907b7..c91ccfe 100644
--- a/source/Irrlicht/OpenGL/Driver.h
+++ b/source/Irrlicht/OpenGL/Driver.h
@@ -384,6 +384,8 @@ private:
IContextManager* ContextManager;
+ void addDummyMaterial(E_MATERIAL_TYPE type);
+
std::vector<u16> QuadsIndices;
void initQuadsIndices(int max_vertex_count = 65536);
diff --git a/source/Irrlicht/OpenGL/FixedPipelineRenderer.cpp b/source/Irrlicht/OpenGL/FixedPipelineRenderer.cpp
index 2922470..421788a 100644
--- a/source/Irrlicht/OpenGL/FixedPipelineRenderer.cpp
+++ b/source/Irrlicht/OpenGL/FixedPipelineRenderer.cpp
@@ -1,3 +1,4 @@
+// Copyright (C) 2023 Vitaliy Lobachevskiy
// Copyright (C) 2014 Patryk Nadrowski
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in Irrlicht.h
@@ -137,142 +138,6 @@ void COpenGL3MaterialSolidCB::OnSetConstants(IMaterialRendererServices* services
services->setPixelShaderConstant(TextureUnit0ID, &TextureUnit0, 1);
}
-// EMT_SOLID_2_LAYER + EMT_DETAIL_MAP
-
-COpenGL3MaterialSolid2CB::COpenGL3MaterialSolid2CB() :
- FirstUpdate(true), TMatrix0ID(-1), TMatrix1ID(-1), TextureUsage0ID(-1), TextureUsage1ID(-1), TextureUnit0ID(-1), TextureUnit1ID(-1),
- TextureUsage0(0), TextureUsage1(0), TextureUnit0(0), TextureUnit1(1)
-{
-}
-
-void COpenGL3MaterialSolid2CB::OnSetMaterial(const SMaterial& material)
-{
- COpenGL3MaterialBaseCB::OnSetMaterial(material);
-
- TextureUsage0 = (material.TextureLayer[0].Texture) ? 1 : 0;
- TextureUsage1 = (material.TextureLayer[1].Texture) ? 1 : 0;
-}
-
-void COpenGL3MaterialSolid2CB::OnSetConstants(IMaterialRendererServices* services, s32 userData)
-{
- COpenGL3MaterialBaseCB::OnSetConstants(services, userData);
-
- IVideoDriver* driver = services->getVideoDriver();
-
- if (FirstUpdate)
- {
- TMatrix0ID = services->getVertexShaderConstantID("uTMatrix0");
- TMatrix1ID = services->getVertexShaderConstantID("uTMatrix1");
- TextureUsage0ID = services->getVertexShaderConstantID("uTextureUsage0");
- TextureUsage1ID = services->getVertexShaderConstantID("uTextureUsage1");
- TextureUnit0ID = services->getVertexShaderConstantID("uTextureUnit0");
- TextureUnit1ID = services->getVertexShaderConstantID("uTextureUnit1");
-
- FirstUpdate = false;
- }
-
- core::matrix4 Matrix = driver->getTransform(ETS_TEXTURE_0);
- services->setPixelShaderConstant(TMatrix0ID, Matrix.pointer(), 16);
-
- Matrix = driver->getTransform(E_TRANSFORMATION_STATE(ETS_TEXTURE_0 + 1));
- services->setPixelShaderConstant(TMatrix1ID, Matrix.pointer(), 16);
-
- services->setPixelShaderConstant(TextureUsage0ID, &TextureUsage0, 1);
- services->setPixelShaderConstant(TextureUsage1ID, &TextureUsage1, 1);
- services->setPixelShaderConstant(TextureUnit0ID, &TextureUnit0, 1);
- services->setPixelShaderConstant(TextureUnit1ID, &TextureUnit1, 1);
-}
-
-// EMT_LIGHTMAP + EMT_LIGHTMAP_ADD + EMT_LIGHTMAP_M2 + EMT_LIGHTMAP_M4
-
-COpenGL3MaterialLightmapCB::COpenGL3MaterialLightmapCB(float modulate) :
- FirstUpdate(true), TMatrix0ID(-1), TMatrix1ID(-1), ModulateID(-1), TextureUsage0ID(-1), TextureUsage1ID(-1), TextureUnit0ID(-1), TextureUnit1ID(-1),
- Modulate(modulate), TextureUsage0(0), TextureUsage1(0), TextureUnit0(0), TextureUnit1(1)
-{
-}
-
-void COpenGL3MaterialLightmapCB::OnSetMaterial(const SMaterial& material)
-{
- COpenGL3MaterialBaseCB::OnSetMaterial(material);
-
- TextureUsage0 = (material.TextureLayer[0].Texture) ? 1 : 0;
- TextureUsage1 = (material.TextureLayer[1].Texture) ? 1 : 0;
-}
-
-void COpenGL3MaterialLightmapCB::OnSetConstants(IMaterialRendererServices* services, s32 userData)
-{
- COpenGL3MaterialBaseCB::OnSetConstants(services, userData);
-
- IVideoDriver* driver = services->getVideoDriver();
-
- if (FirstUpdate)
- {
- TMatrix0ID = services->getVertexShaderConstantID("uTMatrix0");
- TMatrix1ID = services->getVertexShaderConstantID("uTMatrix1");
- ModulateID = services->getVertexShaderConstantID("uModulate");
- TextureUsage0ID = services->getVertexShaderConstantID("uTextureUsage0");
- TextureUsage1ID = services->getVertexShaderConstantID("uTextureUsage1");
- TextureUnit0ID = services->getVertexShaderConstantID("uTextureUnit0");
- TextureUnit1ID = services->getVertexShaderConstantID("uTextureUnit1");
-
- FirstUpdate = false;
- }
-
- core::matrix4 Matrix = driver->getTransform(ETS_TEXTURE_0);
- services->setPixelShaderConstant(TMatrix0ID, Matrix.pointer(), 16);
-
- Matrix = driver->getTransform(E_TRANSFORMATION_STATE(ETS_TEXTURE_0 + 1));
- services->setPixelShaderConstant(TMatrix1ID, Matrix.pointer(), 16);
-
- services->setPixelShaderConstant(ModulateID, &Modulate, 1);
- services->setPixelShaderConstant(TextureUsage0ID, &TextureUsage0, 1);
- services->setPixelShaderConstant(TextureUsage1ID, &TextureUsage1, 1);
- services->setPixelShaderConstant(TextureUnit0ID, &TextureUnit0, 1);
- services->setPixelShaderConstant(TextureUnit1ID, &TextureUnit1, 1);
-}
-
-// EMT_SPHERE_MAP + EMT_REFLECTION_2_LAYER + EMT_TRANSPARENT_REFLECTION_2_LAYER
-
-COpenGL3MaterialReflectionCB::COpenGL3MaterialReflectionCB() :
- FirstUpdate(true), TMatrix0ID(-1), TextureUsage0ID(-1), TextureUsage1ID(-1), TextureUnit0ID(-1), TextureUnit1ID(-1),
- TextureUsage0(0), TextureUsage1(0), TextureUnit0(0), TextureUnit1(1)
-{
-}
-
-void COpenGL3MaterialReflectionCB::OnSetMaterial(const SMaterial& material)
-{
- COpenGL3MaterialBaseCB::OnSetMaterial(material);
-
- TextureUsage0 = (material.TextureLayer[0].Texture) ? 1 : 0;
- TextureUsage1 = (material.TextureLayer[1].Texture) ? 1 : 0;
-}
-
-void COpenGL3MaterialReflectionCB::OnSetConstants(IMaterialRendererServices* services, s32 userData)
-{
- COpenGL3MaterialBaseCB::OnSetConstants(services, userData);
-
- IVideoDriver* driver = services->getVideoDriver();
-
- if (FirstUpdate)
- {
- TMatrix0ID = services->getVertexShaderConstantID("uTMatrix0");
- TextureUsage0ID = services->getVertexShaderConstantID("uTextureUsage0");
- TextureUsage1ID = services->getVertexShaderConstantID("uTextureUsage1");
- TextureUnit0ID = services->getVertexShaderConstantID("uTextureUnit0");
- TextureUnit1ID = services->getVertexShaderConstantID("uTextureUnit1");
-
- FirstUpdate = false;
- }
-
- core::matrix4 Matrix = driver->getTransform(ETS_TEXTURE_0);
- services->setPixelShaderConstant(TMatrix0ID, Matrix.pointer(), 16);
-
- services->setPixelShaderConstant(TextureUsage0ID, &TextureUsage0, 1);
- services->setPixelShaderConstant(TextureUsage1ID, &TextureUsage1, 1);
- services->setPixelShaderConstant(TextureUnit0ID, &TextureUnit0, 1);
- services->setPixelShaderConstant(TextureUnit1ID, &TextureUnit1, 1);
-}
-
// EMT_ONETEXTURE_BLEND
COpenGL3MaterialOneTextureBlendCB::COpenGL3MaterialOneTextureBlendCB() :
diff --git a/source/Irrlicht/OpenGL/FixedPipelineRenderer.h b/source/Irrlicht/OpenGL/FixedPipelineRenderer.h
index aea935f..cfbb3b6 100644
--- a/source/Irrlicht/OpenGL/FixedPipelineRenderer.h
+++ b/source/Irrlicht/OpenGL/FixedPipelineRenderer.h
@@ -1,3 +1,4 @@
+// Copyright (C) 2023 Vitaliy Lobachevskiy
// Copyright (C) 2014 Patryk Nadrowski
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in Irrlicht.h
@@ -82,79 +83,6 @@ protected:
s32 TextureUnit0;
};
-class COpenGL3MaterialSolid2CB : public COpenGL3MaterialBaseCB
-{
-public:
- COpenGL3MaterialSolid2CB();
-
- virtual void OnSetMaterial(const SMaterial& material);
- virtual void OnSetConstants(IMaterialRendererServices* services, s32 userData);
-
-protected:
- bool FirstUpdate;
-
- s32 TMatrix0ID;
- s32 TMatrix1ID;
- s32 TextureUsage0ID;
- s32 TextureUsage1ID;
- s32 TextureUnit0ID;
- s32 TextureUnit1ID;
-
- s32 TextureUsage0;
- s32 TextureUsage1;
- s32 TextureUnit0;
- s32 TextureUnit1;
-};
-
-class COpenGL3MaterialLightmapCB : public COpenGL3MaterialBaseCB
-{
-public:
- COpenGL3MaterialLightmapCB(float modulate);
-
- virtual void OnSetMaterial(const SMaterial& material);
- virtual void OnSetConstants(IMaterialRendererServices* services, s32 userData);
-
-protected:
- bool FirstUpdate;
-
- s32 TMatrix0ID;
- s32 TMatrix1ID;
- s32 ModulateID;
- s32 TextureUsage0ID;
- s32 TextureUsage1ID;
- s32 TextureUnit0ID;
- s32 TextureUnit1ID;
-
- f32 Modulate;
- s32 TextureUsage0;
- s32 TextureUsage1;
- s32 TextureUnit0;
- s32 TextureUnit1;
-};
-
-class COpenGL3MaterialReflectionCB : public COpenGL3MaterialBaseCB
-{
-public:
- COpenGL3MaterialReflectionCB();
-
- virtual void OnSetMaterial(const SMaterial& material);
- virtual void OnSetConstants(IMaterialRendererServices* services, s32 userData);
-
-protected:
- bool FirstUpdate;
-
- s32 TMatrix0ID;
- s32 TextureUsage0ID;
- s32 TextureUsage1ID;
- s32 TextureUnit0ID;
- s32 TextureUnit1ID;
-
- s32 TextureUsage0;
- s32 TextureUsage1;
- s32 TextureUnit0;
- s32 TextureUnit1;
-};
-
class COpenGL3MaterialOneTextureBlendCB : public COpenGL3MaterialBaseCB
{
public: