mirror of
https://github.com/minetest/minetest.git
synced 2024-12-22 14:12:24 +01:00
Debloat IVideoDriver and IrrlichtDevice includes (#15080)
As the project grows, compile time will not go down unless the header mess is cleaned up one by one to only include exactly what's needed.
This commit is contained in:
parent
a6ba5304c4
commit
efd7792add
75
irr/include/EVideoTypes.h
Normal file
75
irr/include/EVideoTypes.h
Normal file
@ -0,0 +1,75 @@
|
||||
// Copyright (C) 2002-2012 Nikolaus Gebhardt
|
||||
// This file is part of the "Irrlicht Engine".
|
||||
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "SMaterial.h" // MATERIAL_MAX_TEXTURES
|
||||
|
||||
namespace irr::video
|
||||
{
|
||||
|
||||
//! enumeration for geometry transformation states
|
||||
enum E_TRANSFORMATION_STATE
|
||||
{
|
||||
//! View transformation
|
||||
ETS_VIEW = 0,
|
||||
//! World transformation
|
||||
ETS_WORLD,
|
||||
//! Projection transformation
|
||||
ETS_PROJECTION,
|
||||
//! Texture 0 transformation
|
||||
//! Use E_TRANSFORMATION_STATE(ETS_TEXTURE_0 + texture_number) to access other texture transformations
|
||||
ETS_TEXTURE_0,
|
||||
//! Only used internally
|
||||
ETS_COUNT = ETS_TEXTURE_0 + MATERIAL_MAX_TEXTURES
|
||||
};
|
||||
|
||||
//! Special render targets, which usually map to dedicated hardware
|
||||
/** These render targets (besides 0 and 1) need not be supported by gfx cards */
|
||||
enum E_RENDER_TARGET
|
||||
{
|
||||
//! Render target is the main color frame buffer
|
||||
ERT_FRAME_BUFFER = 0,
|
||||
//! Render target is a render texture
|
||||
ERT_RENDER_TEXTURE,
|
||||
//! Multi-Render target textures
|
||||
ERT_MULTI_RENDER_TEXTURES,
|
||||
//! Render target is the main color frame buffer
|
||||
ERT_STEREO_LEFT_BUFFER,
|
||||
//! Render target is the right color buffer (left is the main buffer)
|
||||
ERT_STEREO_RIGHT_BUFFER,
|
||||
//! Render to both stereo buffers at once
|
||||
ERT_STEREO_BOTH_BUFFERS,
|
||||
//! Auxiliary buffer 0
|
||||
ERT_AUX_BUFFER0,
|
||||
//! Auxiliary buffer 1
|
||||
ERT_AUX_BUFFER1,
|
||||
//! Auxiliary buffer 2
|
||||
ERT_AUX_BUFFER2,
|
||||
//! Auxiliary buffer 3
|
||||
ERT_AUX_BUFFER3,
|
||||
//! Auxiliary buffer 4
|
||||
ERT_AUX_BUFFER4
|
||||
};
|
||||
|
||||
//! Enum for the flags of clear buffer
|
||||
enum E_CLEAR_BUFFER_FLAG
|
||||
{
|
||||
ECBF_NONE = 0,
|
||||
ECBF_COLOR = 1,
|
||||
ECBF_DEPTH = 2,
|
||||
ECBF_STENCIL = 4,
|
||||
ECBF_ALL = ECBF_COLOR | ECBF_DEPTH | ECBF_STENCIL
|
||||
};
|
||||
|
||||
//! Enum for the types of fog distributions to choose from
|
||||
enum E_FOG_TYPE
|
||||
{
|
||||
EFT_FOG_EXP = 0,
|
||||
EFT_FOG_LINEAR,
|
||||
EFT_FOG_EXP2
|
||||
};
|
||||
|
||||
} // irr::video
|
||||
|
@ -9,14 +9,16 @@
|
||||
#include "ITexture.h"
|
||||
#include "irrArray.h"
|
||||
#include "matrix4.h"
|
||||
#include "plane3d.h"
|
||||
#include "dimension2d.h"
|
||||
#include "position2d.h"
|
||||
#include "IMeshBuffer.h"
|
||||
#include "EDriverTypes.h"
|
||||
#include "EDriverFeatures.h"
|
||||
#include "EPrimitiveTypes.h"
|
||||
#include "EVideoTypes.h"
|
||||
#include "SExposedVideoData.h"
|
||||
#include "SOverrideMaterial.h"
|
||||
#include "S3DVertex.h" // E_VERTEX_TYPE
|
||||
#include "SVertexIndex.h" // E_INDEX_TYPE
|
||||
|
||||
namespace irr
|
||||
{
|
||||
@ -36,77 +38,12 @@ class ISceneNode;
|
||||
|
||||
namespace video
|
||||
{
|
||||
struct S3DVertex;
|
||||
struct S3DVertex2TCoords;
|
||||
struct S3DVertexTangents;
|
||||
class IImageLoader;
|
||||
class IImageWriter;
|
||||
class IMaterialRenderer;
|
||||
class IGPUProgrammingServices;
|
||||
class IRenderTarget;
|
||||
|
||||
//! enumeration for geometry transformation states
|
||||
enum E_TRANSFORMATION_STATE
|
||||
{
|
||||
//! View transformation
|
||||
ETS_VIEW = 0,
|
||||
//! World transformation
|
||||
ETS_WORLD,
|
||||
//! Projection transformation
|
||||
ETS_PROJECTION,
|
||||
//! Texture 0 transformation
|
||||
//! Use E_TRANSFORMATION_STATE(ETS_TEXTURE_0 + texture_number) to access other texture transformations
|
||||
ETS_TEXTURE_0,
|
||||
//! Only used internally
|
||||
ETS_COUNT = ETS_TEXTURE_0 + MATERIAL_MAX_TEXTURES
|
||||
};
|
||||
|
||||
//! Special render targets, which usually map to dedicated hardware
|
||||
/** These render targets (besides 0 and 1) need not be supported by gfx cards */
|
||||
enum E_RENDER_TARGET
|
||||
{
|
||||
//! Render target is the main color frame buffer
|
||||
ERT_FRAME_BUFFER = 0,
|
||||
//! Render target is a render texture
|
||||
ERT_RENDER_TEXTURE,
|
||||
//! Multi-Render target textures
|
||||
ERT_MULTI_RENDER_TEXTURES,
|
||||
//! Render target is the main color frame buffer
|
||||
ERT_STEREO_LEFT_BUFFER,
|
||||
//! Render target is the right color buffer (left is the main buffer)
|
||||
ERT_STEREO_RIGHT_BUFFER,
|
||||
//! Render to both stereo buffers at once
|
||||
ERT_STEREO_BOTH_BUFFERS,
|
||||
//! Auxiliary buffer 0
|
||||
ERT_AUX_BUFFER0,
|
||||
//! Auxiliary buffer 1
|
||||
ERT_AUX_BUFFER1,
|
||||
//! Auxiliary buffer 2
|
||||
ERT_AUX_BUFFER2,
|
||||
//! Auxiliary buffer 3
|
||||
ERT_AUX_BUFFER3,
|
||||
//! Auxiliary buffer 4
|
||||
ERT_AUX_BUFFER4
|
||||
};
|
||||
|
||||
//! Enum for the flags of clear buffer
|
||||
enum E_CLEAR_BUFFER_FLAG
|
||||
{
|
||||
ECBF_NONE = 0,
|
||||
ECBF_COLOR = 1,
|
||||
ECBF_DEPTH = 2,
|
||||
ECBF_STENCIL = 4,
|
||||
ECBF_ALL = ECBF_COLOR | ECBF_DEPTH | ECBF_STENCIL
|
||||
};
|
||||
|
||||
//! Enum for the types of fog distributions to choose from
|
||||
enum E_FOG_TYPE
|
||||
{
|
||||
EFT_FOG_EXP = 0,
|
||||
EFT_FOG_LINEAR,
|
||||
EFT_FOG_EXP2
|
||||
};
|
||||
|
||||
const c8 *const FogTypeNames[] = {
|
||||
"FogExp",
|
||||
"FogLinear",
|
||||
|
@ -6,14 +6,16 @@
|
||||
|
||||
#include "IReferenceCounted.h"
|
||||
#include "dimension2d.h"
|
||||
#include "IVideoDriver.h"
|
||||
#include "EDriverTypes.h"
|
||||
#include "EDeviceTypes.h"
|
||||
#include "IEventReceiver.h"
|
||||
#include "ICursorControl.h"
|
||||
#include "ITimer.h"
|
||||
#include "IOSOperator.h"
|
||||
#include "irrArray.h"
|
||||
#include "IrrCompileConfig.h"
|
||||
#include "position2d.h"
|
||||
#include "SColor.h" // video::ECOLOR_FORMAT
|
||||
|
||||
namespace irr
|
||||
{
|
||||
@ -38,6 +40,9 @@ class ISceneManager;
|
||||
namespace video
|
||||
{
|
||||
class IContextManager;
|
||||
class IImage;
|
||||
class ITexture;
|
||||
class IVideoDriver;
|
||||
extern "C" IRRLICHT_API bool IRRCALLCONV isDriverSupported(E_DRIVER_TYPE driver);
|
||||
} // end namespace video
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include "line3d.h"
|
||||
#include "aabbox3d.h"
|
||||
#include "matrix4.h"
|
||||
#include "IVideoDriver.h"
|
||||
#include "EVideoTypes.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "IGUISpriteBank.h"
|
||||
#include "IImageLoader.h"
|
||||
#include "IFileSystem.h"
|
||||
#include "IVideoDriver.h"
|
||||
#include <X11/XKBlib.h>
|
||||
#include <X11/Xatom.h>
|
||||
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include "IGUIEnvironment.h"
|
||||
#include "IImageLoader.h"
|
||||
#include "IFileSystem.h"
|
||||
#include "IVideoDriver.h"
|
||||
#include "os.h"
|
||||
#include "CTimer.h"
|
||||
#include "irrString.h"
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include "IFileSystem.h"
|
||||
#include "IGUIElement.h"
|
||||
#include "IGUIEnvironment.h"
|
||||
#include "IVideoDriver.h"
|
||||
#include "os.h"
|
||||
#include "CTimer.h"
|
||||
#include "CLogger.h"
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "COSOperator.h"
|
||||
#include "dimension2d.h"
|
||||
#include "IGUISpriteBank.h"
|
||||
#include "IVideoDriver.h"
|
||||
#include <winuser.h>
|
||||
#include "SExposedVideoData.h"
|
||||
|
||||
|
@ -6,7 +6,6 @@
|
||||
#include "ICameraSceneNode.h"
|
||||
#include "SViewFrustum.h"
|
||||
|
||||
#include "os.h"
|
||||
#include "irrMath.h"
|
||||
|
||||
namespace irr
|
||||
|
@ -38,6 +38,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "script/scripting_client.h"
|
||||
#include "gettext.h"
|
||||
#include <SViewFrustum.h>
|
||||
#include <IVideoDriver.h>
|
||||
|
||||
#define CAMERA_OFFSET_STEP 200
|
||||
#define WIELDMESH_OFFSET_X 55.0f
|
||||
|
@ -22,6 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "client/mesh.h"
|
||||
#include "mapblock_mesh.h"
|
||||
#include <IMaterialRenderer.h>
|
||||
#include <IVideoDriver.h>
|
||||
#include <matrix4.h>
|
||||
#include "mapsector.h"
|
||||
#include "mapblock.h"
|
||||
@ -192,6 +193,13 @@ void ClientMap::OnRegisterSceneNode()
|
||||
// we have other way to find it
|
||||
}
|
||||
|
||||
void ClientMap::render()
|
||||
{
|
||||
video::IVideoDriver* driver = SceneManager->getVideoDriver();
|
||||
driver->setTransform(video::ETS_WORLD, AbsoluteTransformation);
|
||||
renderMap(driver, SceneManager->getSceneNodeRenderPass());
|
||||
}
|
||||
|
||||
void ClientMap::getBlocksInViewRange(v3s16 cam_pos_nodes,
|
||||
v3s16 *p_blocks_min, v3s16 *p_blocks_max, float range)
|
||||
{
|
||||
|
@ -75,12 +75,7 @@ public:
|
||||
|
||||
virtual void OnRegisterSceneNode() override;
|
||||
|
||||
virtual void render() override
|
||||
{
|
||||
video::IVideoDriver* driver = SceneManager->getVideoDriver();
|
||||
driver->setTransform(video::ETS_WORLD, AbsoluteTransformation);
|
||||
renderMap(driver, SceneManager->getSceneNodeRenderPass());
|
||||
}
|
||||
virtual void render() override;
|
||||
|
||||
virtual const aabb3f &getBoundingBox() const override
|
||||
{
|
||||
|
@ -22,6 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include <cassert>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <IVideoDriver.h>
|
||||
|
||||
// Simple 2D bitmap class with just the functionality needed here
|
||||
class Bitmap {
|
||||
|
@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
|
||||
#include "anaglyph.h"
|
||||
#include "client/camera.h"
|
||||
#include <IrrlichtDevice.h>
|
||||
|
||||
|
||||
/// SetColorMaskStep step
|
||||
|
@ -21,6 +21,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#pragma once
|
||||
#include "irrlichttypes_extrabloated.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
class IrrlichtDevice;
|
||||
}
|
||||
|
||||
class ShadowRenderer;
|
||||
class Camera;
|
||||
class Client;
|
||||
|
@ -19,6 +19,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#pragma once
|
||||
|
||||
#include "irrlichttypes_extrabloated.h"
|
||||
#include <IrrlichtDevice.h> // used in all render/*.cpp
|
||||
#include <IVideoDriver.h> // used in all render/*.cpp
|
||||
|
||||
#include <vector>
|
||||
#include <memory>
|
||||
@ -31,6 +33,11 @@ class Client;
|
||||
class Hud;
|
||||
class ShadowRenderer;
|
||||
|
||||
namespace irr::video
|
||||
{
|
||||
class IRenderTarget;
|
||||
}
|
||||
|
||||
struct PipelineContext
|
||||
{
|
||||
PipelineContext(IrrlichtDevice *_device, Client *_client, Hud *_hud, ShadowRenderer *_shadow_renderer, video::SColor _color, v2u32 _target_size)
|
||||
|
@ -29,6 +29,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "client/render/core.h"
|
||||
// include the shadow mapper classes too
|
||||
#include "client/shadows/dynamicshadowsrender.h"
|
||||
#include <IVideoDriver.h>
|
||||
|
||||
#ifdef SERVER
|
||||
#error Do not include in server builds
|
||||
|
@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "client/clientenvironment.h"
|
||||
#include "client/clientmap.h"
|
||||
#include "client/camera.h"
|
||||
#include <IVideoDriver.h>
|
||||
|
||||
using m4f = core::matrix4;
|
||||
|
||||
|
@ -32,6 +32,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "EShaderTypes.h"
|
||||
#include "IGPUProgrammingServices.h"
|
||||
#include "IMaterialRenderer.h"
|
||||
#include <IVideoDriver.h>
|
||||
|
||||
ShadowRenderer::ShadowRenderer(IrrlichtDevice *device, Client *client) :
|
||||
m_smgr(device->getSceneManager()), m_driver(device->getVideoDriver()),
|
||||
|
@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <IrrlichtDevice.h>
|
||||
#include "irrlichttypes_extrabloated.h"
|
||||
#include "client/shadows/dynamicshadows.h"
|
||||
|
||||
|
@ -18,6 +18,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
*/
|
||||
|
||||
#include "shadowsScreenQuad.h"
|
||||
#include <IVideoDriver.h>
|
||||
|
||||
shadowScreenQuad::shadowScreenQuad()
|
||||
{
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include "util/string.h"
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <ITexture.h>
|
||||
|
||||
GUIAnimatedImage::GUIAnimatedImage(gui::IGUIEnvironment *env, gui::IGUIElement *parent,
|
||||
s32 id, const core::rect<s32> &rectangle) :
|
||||
|
@ -18,6 +18,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
*/
|
||||
|
||||
#include "guiBox.h"
|
||||
#include <IVideoDriver.h>
|
||||
|
||||
GUIBox::GUIBox(gui::IGUIEnvironment *env, gui::IGUIElement *parent, s32 id,
|
||||
const core::rect<s32> &rectangle,
|
||||
|
@ -37,6 +37,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "util/string.h"
|
||||
#include "util/enriched_string.h"
|
||||
#include "StyleSpec.h"
|
||||
#include <ICursorControl.h> // gui::ECURSOR_ICON
|
||||
#include <IGUIStaticText.h>
|
||||
|
||||
class InventoryManager;
|
||||
|
@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "guiFormSpecMenu.h"
|
||||
#include "client/hud.h"
|
||||
#include "client/client.h"
|
||||
#include <IVideoDriver.h>
|
||||
|
||||
GUIInventoryList::GUIInventoryList(gui::IGUIEnvironment *env,
|
||||
gui::IGUIElement *parent,
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include <IGUIButton.h>
|
||||
#include <IGUIStaticText.h>
|
||||
#include <IGUIFont.h>
|
||||
#include <IVideoDriver.h>
|
||||
#include "settings.h"
|
||||
#include <algorithm>
|
||||
|
||||
|
@ -20,6 +20,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
#include "guiEditBoxWithScrollbar.h"
|
||||
#include <IGUIEditBox.h>
|
||||
#include <IGUIFont.h>
|
||||
#include <IVideoDriver.h>
|
||||
#include "client/renderingengine.h"
|
||||
#include "porting.h"
|
||||
#include "gettext.h"
|
||||
|
@ -24,6 +24,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
#include <IGUIButton.h>
|
||||
#include <IGUIStaticText.h>
|
||||
#include <IGUIFont.h>
|
||||
#include <IVideoDriver.h>
|
||||
|
||||
#include "porting.h"
|
||||
#include "gettext.h"
|
||||
|
@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
|
||||
#include <SViewFrustum.h>
|
||||
#include <IAnimatedMeshSceneNode.h>
|
||||
#include <IVideoDriver.h>
|
||||
#include "porting.h"
|
||||
|
||||
GUIScene::GUIScene(gui::IGUIEnvironment *env, scene::ISceneManager *smgr,
|
||||
|
@ -27,6 +27,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
#include <IGUIButton.h>
|
||||
#include <IGUIStaticText.h>
|
||||
#include <IGUIFont.h>
|
||||
#include <IVideoDriver.h>
|
||||
#include "settings.h"
|
||||
|
||||
#include "gettext.h"
|
||||
|
@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
|
||||
#include "porting.h"
|
||||
#include "profilergraph.h"
|
||||
#include "IVideoDriver.h"
|
||||
#include "util/string.h"
|
||||
|
||||
void ProfilerGraph::put(const Profiler::GraphValues &values)
|
||||
|
@ -23,9 +23,12 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include <deque>
|
||||
#include <utility>
|
||||
#include <IGUIFont.h>
|
||||
#include <IVideoDriver.h>
|
||||
#include "profiler.h"
|
||||
|
||||
namespace irr::video {
|
||||
class IVideoDriver;
|
||||
}
|
||||
|
||||
/* Profiler display */
|
||||
class ProfilerGraph
|
||||
{
|
||||
|
@ -34,6 +34,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "gettext.h"
|
||||
#include "IGUIStaticText.h"
|
||||
#include "IGUIFont.h"
|
||||
#include <IrrlichtDevice.h>
|
||||
#include <ISceneCollisionManager.h>
|
||||
|
||||
#include <iostream>
|
||||
|
@ -25,7 +25,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include <IEventReceiver.h>
|
||||
#include <IGUIImage.h>
|
||||
#include <IGUIEnvironment.h>
|
||||
#include <IrrlichtDevice.h>
|
||||
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
@ -35,6 +34,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "itemdef.h"
|
||||
#include "client/game.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
class IrrlichtDevice;
|
||||
}
|
||||
|
||||
using namespace irr;
|
||||
using namespace irr::core;
|
||||
using namespace irr::gui;
|
||||
|
@ -24,7 +24,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#ifndef SERVER
|
||||
#include <IMesh.h>
|
||||
#include <IImage.h>
|
||||
#include <IrrlichtDevice.h>
|
||||
#include <IMeshSceneNode.h>
|
||||
#include <IDummyTransformationSceneNode.h>
|
||||
#include <SMesh.h>
|
||||
|
Loading…
Reference in New Issue
Block a user