/* ** Command & Conquer Generals(tm) ** Copyright 2025 Electronic Arts Inc. ** ** This program is free software: you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation, either version 3 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program. If not, see . */ //////////////////////////////////////////////////////////////////////////////// // // // (c) 2001-2003 Electronic Arts Inc. // // // //////////////////////////////////////////////////////////////////////////////// #pragma once #ifndef __W3DVOLUMETRICSHADOW_H_ #define __W3DVOLUMETRICSHADOW_H_ #include "matrix4.h" #include "W3DDevice/GameClient/W3DBufferManager.h" #include "GameClient/Shadow.h" ///@todo Make the 100 below a 'better' number. Was 32, increased because of overcomplex models. #define MAX_SHADOW_CASTER_MESHES 160 //number of meshes allowed in animated hierarchy (must be <256 since index is a byte). class W3DShadowGeometry; //forward reference class W3DShadowGeometryManager; //forward reference struct Geometry; //forward reference struct PolyNeighbor; //forward reference class W3DVolumetricShadow; //forward reference class Drawable; //forward reference struct W3DVolumetricShadowRenderTask : public W3DBufferManager::W3DRenderTask { W3DVolumetricShadow *m_parentShadow; ///
m_nextTask=oldTask; } void invalidateCachedLightPositions(void); ///removeShadow(this);} ///