View Issue Details

IDProjectCategoryView StatusLast Update
0005867The Dark ModGraphicspublic04.11.2023 08:22
Reporterstgatilov Assigned To 
Status newResolutionopen 
Product VersionTDM 2.10 
Target VersionTDM 2.12 
Summary0005867: Try to support interactions on projected decals
DescriptionIt turns out that decals generated dynamically (e.g. blood splats) go through simplified processing in renderer frontend:
    // add the lightweight decal surfaces
    for ( idRenderModelDecal *decal = def.decals; decal; decal = decal->Next() ) {
        decal->AddDecalDrawSurf( vEntity );
Most importantly, interactions are not generated for them.
It makes it impossible to apply bumpmapping to them.

Maybe we can change that...
Additional InformationInternal discussion:
TagsNo tags attached.


related to 0005868 resolvedstgatilov Interactions rendering with polygonOffset 




04.11.2023 08:22

administrator   ~0016161

I currently see two ways:

1) Enable interactions for the current decals (idRenderModelDecal, which is actually not derived from idRenderModel).
The problem here is that interactions will be cached as part of interactions with the owner entity, which is usually static.
So one has to hack frontend to force regeneration of interactions with owner whenever that is a decal on it.

2) For every decal, create a separate idRenderEntityLocal which represents it.
This involves some lifetime management (store links, delete decal REs when owner RE dies).
But then frontend should work out of the box, and interactions too (basically everything should).
The model should probably be DM_CONTINUOUS, so that it can regenerate alpha every frame.
This might also be more costly performance-wise...

Issue History

Date Modified Username Field Change
04.01.2022 03:25 stgatilov New Issue
04.01.2022 03:30 stgatilov Relationship added related to 0005868
15.11.2022 04:42 nbohr1more Target Version TDM 2.11 => TDM 2.12
04.11.2023 08:22 stgatilov Note Added: 0016161