Removed idInteraction.

This commit is contained in:
Justin Marshall
2026-04-23 23:45:54 -07:00
parent 7427d94865
commit bd14edb616
20 changed files with 14 additions and 5463 deletions
+2 -81
View File
@@ -95,8 +95,6 @@ SURFACES
#include "ModelDecal.h"
#include "ModelOverlay.h"
#include "Interaction.h"
// drawSurf_t structures command the back end to render surfaces
// a given srfTriangles_t may be used with multiple viewEntity_t,
@@ -142,8 +140,8 @@ typedef struct areaReference_s {
struct areaReference_s *areaNext; // chain in the area
struct areaReference_s *areaPrev;
struct areaReference_s *ownerNext; // chain on either the entityDef or lightDef
idRenderEntityLocal * entity; // only one of entity / light will be non-NULL
idRenderLightLocal * light; // only one of entity / light will be non-NULL
class idRenderEntityLocal * entity; // only one of entity / light will be non-NULL
class idRenderLightLocal * light; // only one of entity / light will be non-NULL
struct portalArea_s * area; // so owners can find all the areas they are in
} areaReference_t;
@@ -227,8 +225,6 @@ public:
struct viewLight_s * viewLight;
areaReference_t * references; // each area the light is present in will have a lightRef
idInteraction * firstInteraction; // doubly linked list
idInteraction * lastInteraction;
struct doublePortal_s * foggedPortals;
};
@@ -283,8 +279,6 @@ public:
idRenderModelOverlay * overlay; // blood overlays on animated models
areaReference_t * entityRefs; // chain of all references
idInteraction * firstInteraction; // doubly linked list
idInteraction * lastInteraction;
bool needsPortalSky;
@@ -1387,79 +1381,6 @@ typedef enum {
PP_LIGHT_FALLOFF_TQ = 20 // only for NV programs
} programParameter_t;
/*
============================================================
TR_STENCILSHADOWS
"facing" should have one more element than tri->numIndexes / 3, which should be set to 1
============================================================
*/
void R_MakeShadowFrustums( idRenderLightLocal *def );
typedef enum {
SG_DYNAMIC, // use infinite projections
SG_STATIC, // clip to bounds
SG_OFFLINE // perform very time consuming optimizations
} shadowGen_t;
srfTriangles_t *R_CreateShadowVolume( const idRenderEntityLocal *ent,
const srfTriangles_t *tri, const idRenderLightLocal *light,
shadowGen_t optimize, srfCullInfo_t &cullInfo );
/*
============================================================
TR_TURBOSHADOW
Fast, non-clipped overshoot shadow volumes
"facing" should have one more element than tri->numIndexes / 3, which should be set to 1
calling this function may modify "facing" based on culling
============================================================
*/
srfTriangles_t *R_CreateVertexProgramTurboShadowVolume( const idRenderEntityLocal *ent,
const srfTriangles_t *tri, const idRenderLightLocal *light,
srfCullInfo_t &cullInfo );
srfTriangles_t *R_CreateTurboShadowVolume( const idRenderEntityLocal *ent,
const srfTriangles_t *tri, const idRenderLightLocal *light,
srfCullInfo_t &cullInfo );
/*
============================================================
util/shadowopt3
dmap time optimization of shadow volumes, called from R_CreateShadowVolume
============================================================
*/
typedef struct {
idVec3 *verts; // includes both front and back projections, caller should free
int numVerts;
glIndex_t *indexes; // caller should free
// indexes must be sorted frontCap, rearCap, silPlanes so the caps can be removed
// when the viewer is in a position that they don't need to see them
int numFrontCapIndexes;
int numRearCapIndexes;
int numSilPlaneIndexes;
int totalIndexes;
} optimizedShadow_t;
optimizedShadow_t SuperOptimizeOccluders( idVec4 *verts, glIndex_t *indexes, int numIndexes,
idPlane projectionPlane, idVec3 projectionOrigin );
void CleanupOptimizedShadowTris( srfTriangles_t *tri );
/*
============================================================