diff --git a/source/renderer/DebugRenderer.cpp b/source/renderer/DebugRenderer.cpp index b93fbe47d4..038fa8d222 100644 --- a/source/renderer/DebugRenderer.cpp +++ b/source/renderer/DebugRenderer.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2024 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -17,23 +17,33 @@ #include "precompiled.h" -#include "renderer/DebugRenderer.h" +#include "DebugRenderer.h" #include "graphics/Camera.h" #include "graphics/Color.h" +#include "graphics/ShaderDefines.h" #include "graphics/ShaderManager.h" -#include "graphics/ShaderProgram.h" +#include "graphics/ShaderTechnique.h" +#include "lib/code_generation.h" #include "lib/hash.h" #include "maths/BoundingBoxAligned.h" #include "maths/Brush.h" #include "maths/Matrix3D.h" #include "maths/Vector3D.h" #include "ps/CStrInternStatic.h" -#include "renderer/backend/IDeviceCommandContext.h" +#include "ps/containers/Span.h" #include "renderer/Renderer.h" #include "renderer/SceneRenderer.h" +#include "renderer/backend/Format.h" +#include "renderer/backend/IDeviceCommandContext.h" +#include "renderer/backend/IShaderProgram.h" +#include "renderer/backend/PipelineState.h" +#include #include +#include +#include +#include void CDebugRenderer::Initialize() { diff --git a/source/renderer/DecalRData.cpp b/source/renderer/DecalRData.cpp index f22117937f..c522374686 100644 --- a/source/renderer/DecalRData.cpp +++ b/source/renderer/DecalRData.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2024 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -19,23 +19,44 @@ #include "DecalRData.h" +#include "graphics/Color.h" #include "graphics/Decal.h" -#include "graphics/Model.h" +#include "graphics/Material.h" +#include "graphics/ShaderDefines.h" #include "graphics/ShaderManager.h" +#include "graphics/ShaderTechnique.h" +#include "graphics/ShaderTechniquePtr.h" #include "graphics/Terrain.h" #include "graphics/TextureManager.h" +#include "lib/alignment.h" #include "lib/allocators/DynamicArena.h" #include "lib/allocators/STLAllocators.h" +#include "lib/debug.h" +#include "lib/types.h" +#include "maths/Matrix3D.h" #include "ps/CLogger.h" +#include "ps/CStrIntern.h" #include "ps/CStrInternStatic.h" -#include "ps/Game.h" #include "ps/Profile.h" +#include "ps/containers/Span.h" #include "renderer/Renderer.h" #include "renderer/TerrainRenderer.h" +#include "renderer/VertexBuffer.h" +#include "renderer/backend/Format.h" +#include "renderer/backend/IBuffer.h" +#include "renderer/backend/IDeviceCommandContext.h" +#include "renderer/backend/IShaderProgram.h" #include "simulation2/components/ICmpWaterManager.h" -#include "simulation2/Simulation2.h" +#include "simulation2/system/CmpPtr.h" +#include "simulation2/system/Entity.h" #include +#include +#include +#include +#include +#include +#include // TODO: Currently each decal is a separate CDecalRData. We might want to use // lots of decals for special effects like shadows, footprints, etc, in which diff --git a/source/renderer/GPUSkinnedModelRenderer.cpp b/source/renderer/GPUSkinnedModelRenderer.cpp index 088af8e3d7..89775feafa 100644 --- a/source/renderer/GPUSkinnedModelRenderer.cpp +++ b/source/renderer/GPUSkinnedModelRenderer.cpp @@ -17,27 +17,45 @@ #include "precompiled.h" -#include "renderer/GPUSkinnedModelRenderer.h" +#include "GPUSkinnedModelRenderer.h" -#include "graphics/Color.h" -#include "graphics/LightEnv.h" +#include "graphics/MeshManager.h" #include "graphics/Model.h" #include "graphics/ModelDef.h" +#include "graphics/RenderableObject.h" +#include "graphics/ShaderDefines.h" #include "graphics/ShaderManager.h" -#include "maths/MathUtil.h" +#include "graphics/ShaderTechnique.h" +#include "graphics/ShaderTechniquePtr.h" +#include "lib/debug.h" +#include "lib/lib.h" +#include "lib/types.h" +#include "maths/Matrix3D.h" #include "maths/Vector3D.h" #include "maths/Vector4D.h" #include "ps/CLogger.h" -#include "ps/containers/StaticVector.h" +#include "ps/CStrIntern.h" #include "ps/CStrInternStatic.h" +#include "ps/containers/Span.h" +#include "ps/containers/StaticVector.h" #include "renderer/ModelRenderer.h" -#include "renderer/RenderModifiers.h" #include "renderer/Renderer.h" #include "renderer/VertexArray.h" +#include "renderer/VertexBuffer.h" +#include "renderer/VertexBufferManager.h" #include "renderer/backend/Barrier.h" -#include "renderer/backend/PipelineState.h" +#include "renderer/backend/Format.h" +#include "renderer/backend/IBuffer.h" +#include "renderer/backend/IDeviceCommandContext.h" +#include "renderer/backend/IShaderProgram.h" #include "third_party/mikktspace/weldmesh.h" +#include +#include +#include +#include +#include + namespace { diff --git a/source/renderer/ModelRenderer.cpp b/source/renderer/ModelRenderer.cpp index b1e2ebe15b..09034af28a 100644 --- a/source/renderer/ModelRenderer.cpp +++ b/source/renderer/ModelRenderer.cpp @@ -17,31 +17,53 @@ #include "precompiled.h" +#include "graphics/Camera.h" #include "graphics/Color.h" #include "graphics/LightEnv.h" #include "graphics/Material.h" #include "graphics/Model.h" #include "graphics/ModelDef.h" +#include "graphics/SColor.h" +#include "graphics/ShaderDefines.h" #include "graphics/ShaderManager.h" +#include "graphics/ShaderTechnique.h" +#include "graphics/ShaderTechniquePtr.h" +#include "graphics/Texture.h" #include "graphics/TextureManager.h" +#include "lib/alignment.h" #include "lib/allocators/DynamicArena.h" #include "lib/allocators/STLAllocators.h" +#include "lib/debug.h" #include "lib/hash.h" +#include "maths/Matrix3D.h" +#include "maths/Vector2D.h" #include "maths/Vector3D.h" -#include "maths/Vector4D.h" #include "ps/CLogger.h" -#include "ps/containers/Span.h" +#include "ps/CStrIntern.h" #include "ps/CStrInternStatic.h" #include "ps/Profile.h" +#include "ps/containers/Span.h" #include "renderer/MikktspaceWrap.h" #include "renderer/ModelRenderer.h" #include "renderer/ModelVertexRenderer.h" -#include "renderer/Renderer.h" #include "renderer/RenderModifiers.h" +#include "renderer/Renderer.h" #include "renderer/SceneRenderer.h" #include "renderer/SkyManager.h" #include "renderer/TimeManager.h" +#include "renderer/VertexArray.h" #include "renderer/WaterManager.h" +#include "renderer/backend/IDeviceCommandContext.h" +#include "renderer/backend/IShaderProgram.h" + +#include +#include +#include +#include +#include +#include +#include +#include /////////////////////////////////////////////////////////////////////////////////////////////// // ModelRenderer implementation diff --git a/source/renderer/OverlayRenderer.cpp b/source/renderer/OverlayRenderer.cpp index 462be093e3..5898bb7598 100644 --- a/source/renderer/OverlayRenderer.cpp +++ b/source/renderer/OverlayRenderer.cpp @@ -20,30 +20,53 @@ #include "OverlayRenderer.h" #include "graphics/Camera.h" +#include "graphics/Color.h" #include "graphics/LOSTexture.h" #include "graphics/Overlay.h" +#include "graphics/RenderableObject.h" +#include "graphics/SColor.h" +#include "graphics/ShaderDefines.h" #include "graphics/ShaderManager.h" -#include "graphics/Terrain.h" +#include "graphics/ShaderTechnique.h" +#include "graphics/ShaderTechniquePtr.h" +#include "graphics/Texture.h" #include "graphics/TextureManager.h" +#include "lib/debug.h" #include "lib/hash.h" -#include "maths/MathUtil.h" -#include "maths/Quaternion.h" +#include "lib/types.h" +#include "maths/Matrix3D.h" +#include "maths/Vector2D.h" +#include "maths/Vector3D.h" +#include "maths/Vector4D.h" +#include "ps/CStrIntern.h" #include "ps/CStrInternStatic.h" -#include "ps/Game.h" #include "ps/Profile.h" -#include "renderer/backend/PipelineState.h" +#include "ps/containers/Span.h" #include "renderer/DebugRenderer.h" #include "renderer/Renderer.h" +#include "renderer/Scene.h" #include "renderer/SceneRenderer.h" #include "renderer/TexturedLineRData.h" #include "renderer/VertexArray.h" -#include "renderer/VertexBuffer.h" -#include "renderer/VertexBufferManager.h" -#include "simulation2/components/ICmpWaterManager.h" +#include "renderer/backend/Format.h" +#include "renderer/backend/IBuffer.h" +#include "renderer/backend/IDeviceCommandContext.h" +#include "renderer/backend/IShaderProgram.h" +#include "renderer/backend/PipelineState.h" #include "simulation2/Simulation2.h" -#include "simulation2/system/SimContext.h" +#include +#include +#include +#include +#include +#include +#include #include +#include +#include + +namespace Renderer::Backend { class IDevice; } namespace { diff --git a/source/renderer/OverlayRenderer.h b/source/renderer/OverlayRenderer.h index f3a18b33bd..b4b540c4f8 100644 --- a/source/renderer/OverlayRenderer.h +++ b/source/renderer/OverlayRenderer.h @@ -18,7 +18,6 @@ #ifndef INCLUDED_OVERLAYRENDERER #define INCLUDED_OVERLAYRENDERER -#include "graphics/ShaderProgram.h" #include "lib/code_annotation.h" class CCamera; diff --git a/source/renderer/PatchRData.cpp b/source/renderer/PatchRData.cpp index 83c6d44f39..e39ec87e61 100644 --- a/source/renderer/PatchRData.cpp +++ b/source/renderer/PatchRData.cpp @@ -19,39 +19,64 @@ #include "renderer/PatchRData.h" +#include "graphics/Camera.h" +#include "graphics/Color.h" #include "graphics/GameView.h" -#include "graphics/LOSTexture.h" -#include "graphics/LightEnv.h" +#include "graphics/Material.h" +#include "graphics/MiniPatch.h" #include "graphics/Patch.h" +#include "graphics/ShaderDefines.h" #include "graphics/ShaderManager.h" +#include "graphics/ShaderTechnique.h" +#include "graphics/ShaderTechniquePtr.h" #include "graphics/Terrain.h" #include "graphics/TerrainTextureEntry.h" +#include "graphics/TerrainTextureManager.h" #include "graphics/TextRenderer.h" #include "graphics/TextureManager.h" +#include "lib/alignment.h" #include "lib/allocators/DynamicArena.h" #include "lib/allocators/STLAllocators.h" -#include "maths/MathUtil.h" +#include "lib/code_generation.h" +#include "lib/debug.h" +#include "maths/Matrix3D.h" #include "ps/CLogger.h" +#include "ps/CStr.h" +#include "ps/CStrIntern.h" #include "ps/CStrInternStatic.h" #include "ps/Game.h" -#include "ps/GameSetup/Config.h" #include "ps/Profile.h" -#include "ps/Pyrogenesis.h" #include "ps/VideoMode.h" -#include "ps/World.h" +#include "ps/containers/Span.h" #include "renderer/AlphaMapCalculator.h" #include "renderer/BlendShapes.h" #include "renderer/DebugRenderer.h" #include "renderer/Renderer.h" #include "renderer/SceneRenderer.h" #include "renderer/TerrainRenderer.h" +#include "renderer/VertexBuffer.h" #include "renderer/WaterManager.h" -#include "simulation2/Simulation2.h" +#include "renderer/backend/Format.h" +#include "renderer/backend/IBuffer.h" +#include "renderer/backend/IDeviceCommandContext.h" +#include "renderer/backend/IShaderProgram.h" #include "simulation2/components/ICmpWaterManager.h" +#include "simulation2/system/CmpPtr.h" +#include "simulation2/system/Entity.h" #include +#include +#include +#include +#include +#include +#include +#include #include -#include +#include +#include + +namespace Renderer::Backend { class ITexture; } const ssize_t BlendOffsets[9][2] = { { 0, -1 }, diff --git a/source/renderer/PostprocManager.cpp b/source/renderer/PostprocManager.cpp index dda4050124..28dec2ceb8 100644 --- a/source/renderer/PostprocManager.cpp +++ b/source/renderer/PostprocManager.cpp @@ -19,25 +19,38 @@ #include "renderer/PostprocManager.h" -#include "graphics/GameView.h" +#include "graphics/Color.h" #include "graphics/LightEnv.h" +#include "graphics/ShaderDefines.h" #include "graphics/ShaderManager.h" -#include "lib/bits.h" -#include "maths/MathUtil.h" -#include "ps/ConfigDB.h" +#include "graphics/ShaderTechnique.h" +#include "lib/debug.h" +#include "lib/file/vfs/vfs_path.h" +#include "lib/file/vfs/vfs_util.h" +#include "lib/lib.h" +#include "lib/path.h" #include "ps/CLogger.h" +#include "ps/CStrIntern.h" #include "ps/CStrInternStatic.h" +#include "ps/ConfigDB.h" #include "ps/Filesystem.h" -#include "ps/Game.h" #include "ps/Profile.h" #include "ps/World.h" -#include "renderer/backend/Backend.h" -#include "renderer/backend/IDevice.h" -#include "renderer/backend/Sampler.h" +#include "ps/containers/Span.h" #include "renderer/Renderer.h" #include "renderer/RenderingOptions.h" +#include "renderer/backend/Backend.h" +#include "renderer/backend/Format.h" +#include "renderer/backend/IDevice.h" +#include "renderer/backend/IDeviceCommandContext.h" +#include "renderer/backend/IShaderProgram.h" +#include "renderer/backend/Sampler.h" #include "tools/atlas/GameInterface/GameLoop.h" +#include +#include +#include +#include #include namespace diff --git a/source/renderer/Renderer.cpp b/source/renderer/Renderer.cpp index a14eeff1a7..6e8e6e9c73 100644 --- a/source/renderer/Renderer.cpp +++ b/source/renderer/Renderer.cpp @@ -19,51 +19,70 @@ #include "Renderer.h" +#include "graphics/Camera.h" #include "graphics/Canvas2D.h" #include "graphics/CinemaManager.h" +#include "graphics/Color.h" +#include "graphics/FontManager.h" #include "graphics/GameView.h" -#include "graphics/LightEnv.h" +#include "graphics/HeightMipmap.h" #include "graphics/ModelDef.h" +#include "graphics/ShaderManager.h" #include "graphics/TerrainTextureManager.h" -#include "i18n/L10n.h" -#include "lib/allocators/shared_ptr.h" -#include "lib/hash.h" -#include "lib/tex/tex.h" +#include "graphics/TextureManager.h" #include "gui/GUIManager.h" +#include "i18n/L10n.h" +#include "lib/alignment.h" +#include "lib/allocators/shared_ptr.h" +#include "lib/code_annotation.h" +#include "lib/debug.h" +#include "lib/file/vfs/vfs.h" +#include "lib/file/vfs/vfs_util.h" +#include "lib/hash.h" +#include "lib/os_path.h" +#include "lib/path.h" +#include "lib/secure_crt.h" +#include "lib/status.h" +#include "lib/tex/tex.h" +#include "lib/timer.h" +#include "lib/types.h" +#include "maths/Matrix3D.h" #include "ps/CConsole.h" #include "ps/CLogger.h" +#include "ps/CStr.h" #include "ps/ConfigDB.h" -#include "ps/CStrInternStatic.h" +#include "ps/Filesystem.h" #include "ps/Game.h" #include "ps/GameSetup/Config.h" -#include "ps/GameSetup/GameSetup.h" #include "ps/Globals.h" -#include "ps/Loader.h" #include "ps/Profile.h" -#include "ps/Filesystem.h" -#include "ps/World.h" #include "ps/ProfileViewer.h" -#include "graphics/Camera.h" -#include "graphics/FontManager.h" -#include "graphics/ShaderManager.h" -#include "graphics/Terrain.h" -#include "graphics/Texture.h" -#include "graphics/TextureManager.h" +#include "ps/Profiler2.h" #include "ps/Util.h" #include "ps/VideoMode.h" -#include "renderer/backend/IDevice.h" +#include "ps/World.h" +#include "ps/containers/Span.h" #include "renderer/DebugRenderer.h" #include "renderer/ModelRenderer.h" #include "renderer/PostprocManager.h" #include "renderer/RenderingOptions.h" -#include "renderer/RenderModifiers.h" #include "renderer/SceneRenderer.h" #include "renderer/TimeManager.h" #include "renderer/VertexBufferManager.h" +#include "renderer/backend/Backend.h" +#include "renderer/backend/IDevice.h" +#include "renderer/backend/IDeviceCommandContext.h" +#include "renderer/backend/IFramebuffer.h" +#include "renderer/backend/IShaderProgram.h" #include "tools/atlas/GameInterface/GameLoop.h" #include "tools/atlas/GameInterface/View.h" -#include +#include +#include +#include +#include +#include +#include namespace { diff --git a/source/renderer/RenderingOptions.cpp b/source/renderer/RenderingOptions.cpp index ddcee98211..566ff9ba75 100644 --- a/source/renderer/RenderingOptions.cpp +++ b/source/renderer/RenderingOptions.cpp @@ -21,16 +21,21 @@ #include "graphics/TextureManager.h" #include "ps/CLogger.h" -#include "ps/ConfigDB.h" #include "ps/CStr.h" +#include "ps/CStrIntern.h" #include "ps/CStrInternStatic.h" +#include "ps/ConfigDB.h" #include "ps/VideoMode.h" -#include "renderer/backend/IDevice.h" -#include "renderer/Renderer.h" #include "renderer/PostprocManager.h" +#include "renderer/Renderer.h" #include "renderer/SceneRenderer.h" #include "renderer/ShadowMap.h" #include "renderer/WaterManager.h" +#include "renderer/backend/IDevice.h" + +#include +#include +#include CRenderingOptions g_RenderingOptions; diff --git a/source/renderer/SceneRenderer.cpp b/source/renderer/SceneRenderer.cpp index 05958ac197..e91859c08d 100644 --- a/source/renderer/SceneRenderer.cpp +++ b/source/renderer/SceneRenderer.cpp @@ -20,31 +20,31 @@ #include "SceneRenderer.h" #include "graphics/Camera.h" -#include "graphics/Decal.h" -#include "graphics/GameView.h" -#include "graphics/LightEnv.h" +#include "graphics/Color.h" #include "graphics/LOSTexture.h" +#include "graphics/LightEnv.h" +#include "graphics/Material.h" #include "graphics/MaterialManager.h" #include "graphics/MiniMapTexture.h" #include "graphics/Model.h" +#include "graphics/ModelAbstract.h" #include "graphics/ModelDef.h" #include "graphics/ParticleManager.h" #include "graphics/Patch.h" -#include "graphics/ShaderManager.h" +#include "graphics/ShaderDefines.h" #include "graphics/TerritoryTexture.h" -#include "graphics/Terrain.h" -#include "graphics/Texture.h" -#include "graphics/TextureManager.h" -#include "maths/Matrix3D.h" +#include "lib/code_annotation.h" +#include "lib/config2.h" +#include "lib/debug.h" +#include "maths/Frustum.h" #include "maths/MathUtil.h" -#include "ps/CLogger.h" -#include "ps/ConfigDB.h" +#include "maths/Matrix3D.h" +#include "maths/Vector3D.h" +#include "maths/Vector4D.h" +#include "ps/CStrIntern.h" #include "ps/CStrInternStatic.h" #include "ps/Game.h" #include "ps/Profile.h" -#include "ps/World.h" -#include "renderer/backend/Backend.h" -#include "renderer/backend/IDevice.h" #include "renderer/CPUSkinnedModelRenderer.h" #include "renderer/DebugRenderer.h" #include "renderer/GPUSkinnedModelRenderer.h" @@ -52,17 +52,21 @@ #include "renderer/ModelRenderer.h" #include "renderer/OverlayRenderer.h" #include "renderer/ParticleRenderer.h" +#include "renderer/RenderModifiers.h" #include "renderer/Renderer.h" #include "renderer/RenderingOptions.h" -#include "renderer/RenderModifiers.h" #include "renderer/ShadowMap.h" #include "renderer/SilhouetteRenderer.h" #include "renderer/SkyManager.h" #include "renderer/TerrainOverlay.h" #include "renderer/TerrainRenderer.h" #include "renderer/WaterManager.h" +#include "renderer/backend/Backend.h" +#include "renderer/backend/IDevice.h" +#include "renderer/backend/IDeviceCommandContext.h" #include +#include struct SScreenRect { diff --git a/source/renderer/ShadowMap.cpp b/source/renderer/ShadowMap.cpp index fc0aebb43c..5f9a9c35d9 100644 --- a/source/renderer/ShadowMap.cpp +++ b/source/renderer/ShadowMap.cpp @@ -20,30 +20,41 @@ #include "ShadowMap.h" #include "graphics/Camera.h" -#include "graphics/LightEnv.h" -#include "graphics/ShaderManager.h" +#include "graphics/Color.h" #include "lib/bits.h" +#include "lib/config2.h" +#include "lib/debug.h" #include "maths/BoundingBoxAligned.h" #include "maths/Brush.h" #include "maths/Frustum.h" #include "maths/MathUtil.h" #include "maths/Matrix3D.h" +#include "maths/Vector3D.h" #include "ps/CLogger.h" -#include "ps/ConfigDB.h" +#include "ps/CStrIntern.h" #include "ps/CStrInternStatic.h" -#include "ps/Profile.h" -#include "renderer/backend/Backend.h" -#include "renderer/backend/CompareOp.h" -#include "renderer/backend/IDevice.h" -#include "renderer/backend/ITexture.h" -#include "renderer/backend/IFramebuffer.h" -#include "renderer/backend/Sampler.h" +#include "ps/ConfigDB.h" +#include "ps/containers/Span.h" #include "renderer/DebugRenderer.h" #include "renderer/Renderer.h" #include "renderer/RenderingOptions.h" #include "renderer/SceneRenderer.h" +#include "renderer/backend/Backend.h" +#include "renderer/backend/CompareOp.h" +#include "renderer/backend/Format.h" +#include "renderer/backend/IDevice.h" +#include "renderer/backend/IDeviceCommandContext.h" +#include "renderer/backend/IFramebuffer.h" +#include "renderer/backend/IShaderProgram.h" +#include "renderer/backend/ITexture.h" +#include "renderer/backend/Sampler.h" +#include #include +#include +#include +#include +#include namespace { diff --git a/source/renderer/ShadowMap.h b/source/renderer/ShadowMap.h index 6fa711ae52..2add8f5d0a 100644 --- a/source/renderer/ShadowMap.h +++ b/source/renderer/ShadowMap.h @@ -18,15 +18,13 @@ #ifndef INCLUDED_SHADOWMAP #define INCLUDED_SHADOWMAP -#include "renderer/backend/IDeviceCommandContext.h" - class CBoundingBoxAligned; class CCamera; class CFrustum; class CVector3D; namespace Renderer::Backend { class IDevice; } +namespace Renderer::Backend { class IDeviceCommandContext; } namespace Renderer::Backend { class IShaderProgram; } - struct ShadowMapInternals; /** diff --git a/source/renderer/SilhouetteRenderer.cpp b/source/renderer/SilhouetteRenderer.cpp index aed6a75e37..bd882f812a 100644 --- a/source/renderer/SilhouetteRenderer.cpp +++ b/source/renderer/SilhouetteRenderer.cpp @@ -19,22 +19,41 @@ #include "SilhouetteRenderer.h" -#include "renderer/backend/IDeviceCommandContext.h" -#include "renderer/backend/IShaderProgram.h" #include "graphics/Camera.h" #include "graphics/HFTracer.h" #include "graphics/Model.h" #include "graphics/Overlay.h" #include "graphics/Patch.h" +#include "graphics/RenderableObject.h" +#include "graphics/ShaderDefines.h" #include "graphics/ShaderManager.h" +#include "graphics/ShaderTechnique.h" +#include "lib/debug.h" +#include "lib/types.h" #include "maths/MathUtil.h" +#include "maths/Matrix3D.h" +#include "maths/Vector3D.h" +#include "maths/Vector4D.h" +#include "ps/CStrIntern.h" #include "ps/CStrInternStatic.h" #include "ps/Profile.h" +#include "ps/containers/Span.h" #include "renderer/DebugRenderer.h" #include "renderer/Renderer.h" #include "renderer/Scene.h" +#include "renderer/backend/Format.h" +#include "renderer/backend/IDeviceCommandContext.h" +#include "renderer/backend/IShaderProgram.h" +#include "renderer/backend/PipelineState.h" -#include +#include +#include +#include +#include +#include +#include +#include +#include extern int g_xres, g_yres; diff --git a/source/renderer/SkyManager.cpp b/source/renderer/SkyManager.cpp index 0c7144572e..1151ec0136 100644 --- a/source/renderer/SkyManager.cpp +++ b/source/renderer/SkyManager.cpp @@ -17,27 +17,50 @@ #include "precompiled.h" -#include "renderer/SkyManager.h" +#include "SkyManager.h" +#include "graphics/Camera.h" +#include "graphics/HeightMipmap.h" #include "graphics/LightEnv.h" #include "graphics/ShaderManager.h" -#include "graphics/Terrain.h" +#include "graphics/ShaderTechnique.h" +#include "graphics/ShaderTechniquePtr.h" #include "graphics/TextureManager.h" #include "lib/bits.h" +#include "lib/code_generation.h" +#include "lib/file/file_system.h" +#include "lib/file/vfs/vfs.h" +#include "lib/path.h" +#include "lib/status.h" #include "lib/tex/tex.h" -#include "maths/MathUtil.h" +#include "lib/types.h" +#include "maths/Matrix3D.h" +#include "maths/Vector3D.h" #include "ps/CLogger.h" -#include "ps/ConfigDB.h" #include "ps/CStr.h" +#include "ps/CStrIntern.h" #include "ps/CStrInternStatic.h" +#include "ps/ConfigDB.h" #include "ps/Filesystem.h" -#include "ps/Game.h" -#include "renderer/backend/IDevice.h" +#include "ps/containers/Span.h" #include "renderer/Renderer.h" #include "renderer/SceneRenderer.h" -#include "renderer/RenderingOptions.h" +#include "renderer/backend/Format.h" +#include "renderer/backend/IBuffer.h" +#include "renderer/backend/IDevice.h" +#include "renderer/backend/IDeviceCommandContext.h" +#include "renderer/backend/IShaderProgram.h" +#include "renderer/backend/ITexture.h" +#include "renderer/backend/Sampler.h" #include +#include +#include +#include +#include +#include +#include +#include SkyManager::SkyManager() : m_VertexArray{Renderer::Backend::IBuffer::Type::VERTEX, diff --git a/source/renderer/TerrainOverlay.cpp b/source/renderer/TerrainOverlay.cpp index 181994dd6b..03687cdc7a 100644 --- a/source/renderer/TerrainOverlay.cpp +++ b/source/renderer/TerrainOverlay.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2023 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -19,26 +19,43 @@ #include "TerrainOverlay.h" +#include "graphics/Camera.h" #include "graphics/Color.h" +#include "graphics/SColor.h" +#include "graphics/ShaderDefines.h" #include "graphics/ShaderManager.h" -#include "graphics/ShaderProgram.h" +#include "graphics/ShaderTechnique.h" #include "graphics/Terrain.h" #include "lib/bits.h" #include "maths/MathUtil.h" +#include "maths/Matrix3D.h" #include "maths/Vector2D.h" +#include "maths/Vector3D.h" +#include "ps/CStrIntern.h" #include "ps/CStrInternStatic.h" #include "ps/Game.h" #include "ps/Profile.h" #include "ps/World.h" -#include "renderer/backend/IDevice.h" -#include "renderer/backend/IDeviceCommandContext.h" -#include "renderer/backend/Sampler.h" +#include "ps/containers/Span.h" #include "renderer/Renderer.h" #include "renderer/SceneRenderer.h" #include "renderer/TerrainRenderer.h" +#include "renderer/backend/Format.h" +#include "renderer/backend/IDevice.h" +#include "renderer/backend/IDeviceCommandContext.h" +#include "renderer/backend/IShaderProgram.h" +#include "renderer/backend/ITexture.h" +#include "renderer/backend/PipelineState.h" +#include "renderer/backend/Sampler.h" #include "simulation2/system/SimContext.h" #include +#include +#include +#include +#include +#include +#include namespace { diff --git a/source/renderer/TerrainRenderer.cpp b/source/renderer/TerrainRenderer.cpp index d811a3ce8c..02f8f7c1c7 100644 --- a/source/renderer/TerrainRenderer.cpp +++ b/source/renderer/TerrainRenderer.cpp @@ -22,37 +22,49 @@ #include "graphics/Camera.h" #include "graphics/Canvas2D.h" #include "graphics/Decal.h" -#include "graphics/GameView.h" -#include "graphics/LightEnv.h" #include "graphics/LOSTexture.h" +#include "graphics/LightEnv.h" #include "graphics/Patch.h" -#include "graphics/Model.h" +#include "graphics/ShaderDefines.h" #include "graphics/ShaderManager.h" -#include "graphics/TerritoryTexture.h" +#include "graphics/ShaderTechnique.h" +#include "graphics/ShaderTechniquePtr.h" #include "graphics/TextRenderer.h" +#include "graphics/Texture.h" #include "graphics/TextureManager.h" +#include "lib/debug.h" +#include "maths/BoundingBoxAligned.h" #include "maths/MathUtil.h" +#include "maths/Matrix3D.h" #include "maths/Vector2D.h" +#include "maths/Vector3D.h" #include "ps/CLogger.h" +#include "ps/CStrIntern.h" #include "ps/CStrInternStatic.h" -#include "ps/Filesystem.h" -#include "ps/Game.h" #include "ps/Profile.h" -#include "ps/World.h" -#include "renderer/backend/IDevice.h" -#include "renderer/backend/PipelineState.h" +#include "ps/containers/Span.h" #include "renderer/DecalRData.h" #include "renderer/PatchRData.h" #include "renderer/PostprocManager.h" #include "renderer/Renderer.h" -#include "renderer/RenderingOptions.h" +#include "renderer/Scene.h" #include "renderer/SceneRenderer.h" #include "renderer/ShadowMap.h" #include "renderer/SkyManager.h" -#include "renderer/VertexArray.h" #include "renderer/WaterManager.h" +#include "renderer/backend/Format.h" +#include "renderer/backend/IDeviceCommandContext.h" +#include "renderer/backend/IFramebuffer.h" +#include "renderer/backend/IShaderProgram.h" +#include "renderer/backend/PipelineState.h" +#include +#include +#include +#include #include +#include +#include /** * TerrainRenderer keeps track of which phase it is in, to detect diff --git a/source/renderer/VertexArray.cpp b/source/renderer/VertexArray.cpp index a4f0a50f14..800d9d932b 100644 --- a/source/renderer/VertexArray.cpp +++ b/source/renderer/VertexArray.cpp @@ -20,16 +20,16 @@ #include "lib/alignment.h" #include "lib/bits.h" #include "lib/sysdep/rtl.h" -#include "maths/Vector3D.h" -#include "maths/Vector4D.h" #include "ps/CLogger.h" -#include "graphics/Color.h" -#include "graphics/SColor.h" #include "renderer/Renderer.h" #include "renderer/VertexArray.h" #include "renderer/VertexBuffer.h" #include "renderer/VertexBufferManager.h" +class CVector3D; +class CVector4D; +struct SColor4ub; + namespace { diff --git a/source/renderer/VertexBuffer.cpp b/source/renderer/VertexBuffer.cpp index 08931fe0f4..3a7d477a1b 100644 --- a/source/renderer/VertexBuffer.cpp +++ b/source/renderer/VertexBuffer.cpp @@ -19,8 +19,8 @@ #include "VertexBuffer.h" -#include "lib/sysdep/cpu.h" -#include "ps/CLogger.h" +#include "lib/debug.h" +#include "lib/types.h" #include "renderer/Renderer.h" #include "renderer/backend/IDevice.h" #include "renderer/backend/IDeviceCommandContext.h" diff --git a/source/renderer/VertexBufferManager.cpp b/source/renderer/VertexBufferManager.cpp index 8015f8ccee..4e5c2c6729 100644 --- a/source/renderer/VertexBufferManager.cpp +++ b/source/renderer/VertexBufferManager.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2024 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -19,9 +19,13 @@ #include "VertexBufferManager.h" +#include "lib/debug.h" #include "ps/CLogger.h" #include "renderer/Renderer.h" +#include +#include + #define DUMP_VB_STATS 0 // for debugging namespace diff --git a/source/renderer/WaterManager.cpp b/source/renderer/WaterManager.cpp index 002eb92ddc..0405240128 100644 --- a/source/renderer/WaterManager.cpp +++ b/source/renderer/WaterManager.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2024 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -17,30 +17,52 @@ #include "precompiled.h" +#include "WaterManager.h" + +#include "graphics/Camera.h" +#include "graphics/ShaderManager.h" +#include "graphics/ShaderTechnique.h" +#include "graphics/ShaderTechniquePtr.h" #include "graphics/Terrain.h" #include "graphics/TextureManager.h" -#include "graphics/ShaderManager.h" -#include "graphics/ShaderProgram.h" #include "lib/bits.h" -#include "lib/timer.h" +#include "lib/code_annotation.h" +#include "lib/debug.h" +#include "lib/secure_crt.h" +#include "maths/BoundingBoxAligned.h" +#include "maths/Frustum.h" #include "maths/MathUtil.h" #include "maths/Vector2D.h" -#include "ps/CLogger.h" +#include "maths/Vector3D.h" +#include "ps/CStrIntern.h" #include "ps/CStrInternStatic.h" #include "ps/Game.h" #include "ps/World.h" -#include "renderer/backend/Backend.h" -#include "renderer/backend/IDevice.h" +#include "ps/containers/Span.h" #include "renderer/PostprocManager.h" #include "renderer/Renderer.h" #include "renderer/RenderingOptions.h" #include "renderer/SceneRenderer.h" -#include "renderer/WaterManager.h" -#include "simulation2/Simulation2.h" -#include "simulation2/components/ICmpWaterManager.h" -#include "simulation2/components/ICmpRangeManager.h" +#include "renderer/VertexBuffer.h" +#include "renderer/backend/Backend.h" +#include "renderer/backend/Format.h" +#include "renderer/backend/IBuffer.h" +#include "renderer/backend/IDevice.h" +#include "renderer/backend/IDeviceCommandContext.h" +#include "renderer/backend/IFramebuffer.h" +#include "renderer/backend/IShaderProgram.h" +#include "renderer/backend/ITexture.h" +#include "renderer/backend/Sampler.h" #include +#include +#include +#include +#include +#include +#include +#include +#include struct CoastalPoint { diff --git a/source/renderer/WaterManager.h b/source/renderer/WaterManager.h index cbe66e5c78..05f82ce11d 100644 --- a/source/renderer/WaterManager.h +++ b/source/renderer/WaterManager.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2023 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -24,19 +24,22 @@ #include "graphics/Color.h" #include "graphics/Texture.h" +#include "lib/types.h" #include "maths/Matrix3D.h" -#include "maths/Vector2D.h" -#include "renderer/backend/IDeviceCommandContext.h" -#include "renderer/backend/IFramebuffer.h" -#include "renderer/backend/IShaderProgram.h" -#include "renderer/backend/ITexture.h" #include "renderer/VertexBufferManager.h" +#include #include +#include +#include #include class CFrustum; - +namespace Renderer::Backend { class IDevice; } +namespace Renderer::Backend { class IDeviceCommandContext; } +namespace Renderer::Backend { class IFramebuffer; } +namespace Renderer::Backend { class ITexture; } +namespace Renderer::Backend { class IVertexInputLayout; } struct WaveObject; /** diff --git a/source/renderer/backend/PipelineState.cpp b/source/renderer/backend/PipelineState.cpp index 907d8ac44f..139b6020ea 100644 --- a/source/renderer/backend/PipelineState.cpp +++ b/source/renderer/backend/PipelineState.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2022 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -19,10 +19,11 @@ #include "PipelineState.h" -#include "renderer/backend/Backend.h" +#include "lib/debug.h" #include "renderer/backend/CompareOp.h" #include +#include namespace Renderer { diff --git a/source/renderer/backend/dummy/Device.cpp b/source/renderer/backend/dummy/Device.cpp index af56e9a08a..64652fa958 100644 --- a/source/renderer/backend/dummy/Device.cpp +++ b/source/renderer/backend/dummy/Device.cpp @@ -19,18 +19,21 @@ #include "Device.h" +#include "ps/containers/Span.h" +#include "renderer/backend/Format.h" +#include "renderer/backend/IFramebuffer.h" #include "renderer/backend/dummy/Buffer.h" #include "renderer/backend/dummy/DeviceCommandContext.h" #include "renderer/backend/dummy/Framebuffer.h" #include "renderer/backend/dummy/PipelineState.h" #include "renderer/backend/dummy/ShaderProgram.h" #include "renderer/backend/dummy/Texture.h" -#include "scriptinterface/JSON.h" #include "scriptinterface/Object.h" -#include "scriptinterface/ScriptInterface.h" -#include "scriptinterface/ScriptRequest.h" #include +#include +#include +#include namespace Renderer { diff --git a/source/renderer/backend/dummy/ShaderProgram.cpp b/source/renderer/backend/dummy/ShaderProgram.cpp index 8aa136cd2f..dc896ee291 100644 --- a/source/renderer/backend/dummy/ShaderProgram.cpp +++ b/source/renderer/backend/dummy/ShaderProgram.cpp @@ -22,6 +22,8 @@ #include "ps/CStrIntern.h" #include "renderer/backend/dummy/Device.h" +#include + namespace Renderer { diff --git a/source/renderer/backend/gl/Buffer.cpp b/source/renderer/backend/gl/Buffer.cpp index fce137a0d2..930c660e38 100644 --- a/source/renderer/backend/gl/Buffer.cpp +++ b/source/renderer/backend/gl/Buffer.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2024 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -19,12 +19,9 @@ #include "Buffer.h" -#include "lib/code_annotation.h" #include "lib/config2.h" -#include "ps/CLogger.h" -#include "ps/ConfigDB.h" +#include "lib/debug.h" #include "renderer/backend/gl/Device.h" -#include "renderer/backend/gl/Texture.h" namespace Renderer { diff --git a/source/renderer/backend/gl/Framebuffer.cpp b/source/renderer/backend/gl/Framebuffer.cpp index 560deb7656..fe1c0a7d3c 100644 --- a/source/renderer/backend/gl/Framebuffer.cpp +++ b/source/renderer/backend/gl/Framebuffer.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2022 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -19,9 +19,11 @@ #include "Framebuffer.h" -#include "lib/code_annotation.h" #include "lib/config2.h" +#include "lib/debug.h" #include "ps/CLogger.h" +#include "renderer/backend/Format.h" +#include "renderer/backend/ITexture.h" #include "renderer/backend/gl/Device.h" #include "renderer/backend/gl/Texture.h" diff --git a/source/renderer/backend/gl/Mapping.cpp b/source/renderer/backend/gl/Mapping.cpp index a59b91579b..27d1679daf 100644 --- a/source/renderer/backend/gl/Mapping.cpp +++ b/source/renderer/backend/gl/Mapping.cpp @@ -20,6 +20,7 @@ #include "Mapping.h" #include "lib/config2.h" +#include "lib/debug.h" #include "renderer/backend/CompareOp.h" #include "renderer/backend/PipelineState.h" diff --git a/source/renderer/backend/gl/PipelineState.h b/source/renderer/backend/gl/PipelineState.h index 3b8235a196..bea92c2d51 100644 --- a/source/renderer/backend/gl/PipelineState.h +++ b/source/renderer/backend/gl/PipelineState.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2024 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -18,7 +18,7 @@ #ifndef INCLUDED_RENDERER_BACKEND_GL_PIPELINESTATE #define INCLUDED_RENDERER_BACKEND_GL_PIPELINESTATE -#include "lib/ogl.h" +#include "graphics/Color.h" #include "renderer/backend/PipelineState.h" #include diff --git a/source/renderer/backend/gl/ShaderProgram.h b/source/renderer/backend/gl/ShaderProgram.h index 94078410c0..38306909fc 100644 --- a/source/renderer/backend/gl/ShaderProgram.h +++ b/source/renderer/backend/gl/ShaderProgram.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2023 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -21,7 +21,7 @@ #include "lib/ogl.h" #include "lib/file/vfs/vfs_path.h" #include "ps/containers/Span.h" -#include "ps/CStrForward.h" +#include "ps/CStr.h" #include "renderer/backend/Format.h" #include "renderer/backend/gl/Texture.h" #include "renderer/backend/IShaderProgram.h" diff --git a/source/renderer/backend/gl/Texture.cpp b/source/renderer/backend/gl/Texture.cpp index c51d23ac5d..fd674dc910 100644 --- a/source/renderer/backend/gl/Texture.cpp +++ b/source/renderer/backend/gl/Texture.cpp @@ -19,7 +19,10 @@ #include "Texture.h" +#include "graphics/Color.h" #include "lib/config2.h" +#include "lib/debug.h" +#include "ps/containers/Span.h" #include "renderer/backend/Sampler.h" #include "renderer/backend/gl/Device.h" #include "renderer/backend/gl/DeviceCommandContext.h" diff --git a/source/renderer/backend/vulkan/Buffer.cpp b/source/renderer/backend/vulkan/Buffer.cpp index 0508bfe5f4..d895e2a034 100644 --- a/source/renderer/backend/vulkan/Buffer.cpp +++ b/source/renderer/backend/vulkan/Buffer.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2024 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -19,11 +19,13 @@ #include "Buffer.h" -#include "renderer/backend/Backend.h" +#include "lib/debug.h" +#include "ps/CLogger.h" #include "renderer/backend/vulkan/Device.h" #include "renderer/backend/vulkan/Utilities.h" #include +#include namespace Renderer { diff --git a/source/renderer/backend/vulkan/RenderPassManager.h b/source/renderer/backend/vulkan/RenderPassManager.h index 24086fa14b..935c599663 100644 --- a/source/renderer/backend/vulkan/RenderPassManager.h +++ b/source/renderer/backend/vulkan/RenderPassManager.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2023 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -20,10 +20,11 @@ #include "renderer/backend/IFramebuffer.h" +#include +#include #include #include #include -#include namespace Renderer { diff --git a/source/renderer/backend/vulkan/SwapChain.h b/source/renderer/backend/vulkan/SwapChain.h index a89ff8ae11..e5ab5a2ab0 100644 --- a/source/renderer/backend/vulkan/SwapChain.h +++ b/source/renderer/backend/vulkan/SwapChain.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2023 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -20,12 +20,20 @@ #include "renderer/backend/IFramebuffer.h" +#include +#include #include +#include #include #include #include #include +namespace Renderer::Backend::Vulkan { class CDevice; } +namespace Renderer::Backend::Vulkan { class CFramebuffer; } +namespace Renderer::Backend::Vulkan { class CRingCommandContext; } +namespace Renderer::Backend::Vulkan { class CTexture; } + namespace Renderer { @@ -35,11 +43,6 @@ namespace Backend namespace Vulkan { -class CDevice; -class CFramebuffer; -class CRingCommandContext; -class CTexture; - class CSwapChain final { public: diff --git a/source/renderer/backend/vulkan/Utilities.h b/source/renderer/backend/vulkan/Utilities.h index 27b4bf59cf..93d5459ae7 100644 --- a/source/renderer/backend/vulkan/Utilities.h +++ b/source/renderer/backend/vulkan/Utilities.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2024 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -20,8 +20,12 @@ #include "ps/CStr.h" +#include #include +namespace Renderer::Backend::Vulkan { class CBuffer; } +namespace Renderer::Backend::Vulkan { class CTexture; } + #define ENSURE_VK_SUCCESS(EXPR) \ do \ { \ @@ -53,9 +57,6 @@ namespace Backend namespace Vulkan { -class CBuffer; -class CTexture; - namespace Utilities { diff --git a/source/scriptinterface/tests/test_FunctionWrapper.h b/source/scriptinterface/tests/test_FunctionWrapper.h index a54fe49932..f3210836dc 100644 --- a/source/scriptinterface/tests/test_FunctionWrapper.h +++ b/source/scriptinterface/tests/test_FunctionWrapper.h @@ -17,6 +17,8 @@ #include "lib/self_test.h" +#include "ps/CLogger.h" +#include "ps/Filesystem.h" #include "scriptinterface/FunctionWrapper.h" #include "scriptinterface/ModuleLoader.h" #include "scriptinterface/ScriptContext.h"