View Issue Details

IDProjectCategoryView StatusLast Update
0004955The Dark ModMappingpublic17.12.2020 02:27
Reporterstgatilov Assigned To 
PrioritylowSeverityminorReproducibilityalways
Status confirmedResolutionreopened 
Product VersionTDM 2.07 
Summary0004955: Wrongly black interaction light on a crate
DescriptionOriginally reported here:
  http://forums.thedarkmod.com/topic/19774-beta-testing-207/page-9#entry432791
There is a video also.
Steps To Reproduce1) Start "William Steele 4: The Warrens" FM
2) Execute: setviewpos 5362.51 1166.37 583.25 53.6
3) Look at the crate under candle. You can also move candle around.

Note that the problem only appears with "enhanced" interaction shader.
TagsNo tags attached.
Attached Files
issue4955_normals.png (485,188 bytes)

Relationships

related to 0004958 resolvedstgatilov Broken smoothing on models 

Activities

stgatilov

stgatilov

10.01.2019 04:34

administrator   ~0011291

The reason for issue is that when the ARB interaction shader was ported to GLSL, some clamps got missing. Here is the full story:
  http://forums.thedarkmod.com/topic/19064-glsl-interaction-shader/page-10#entry432850
stgatilov

stgatilov

10.01.2019 04:38

administrator   ~0011292

Last edited: 16.01.2019 16:58

Fixed in rev 15546.

Note that while clamps are exactly the same, and the code is logically the same, one subtle difference from the ARB version remains.
In ARB version, all dot products (NdotL, NdotH, NdotV) were computed from TANGENT-space normal and directions.
In GLSL version, all these dot products are computed from world-space normal and directions.
The difference means slight difference in interpolation errors.

UPDATE: There was an error in the initial description saying that ARB version used object space. It used tangent space, which makes a big difference.
Anyway, it turns out that interpolation matters.

stgatilov

stgatilov

16.01.2019 17:01

administrator   ~0011359

Follow-up problem:
  http://forums.thedarkmod.com/topic/19774-beta-testing-207/page-10#entry433034
STiFU

STiFU

17.01.2019 11:36

developer   ~0011385

Fix confirmed on WS4. Since the follow-up problem is now resolved, this one can be set to fixed, too.
stgatilov

stgatilov

26.01.2019 05:00

administrator   ~0011504

Since beta207-06, this problem happens again. It is caused by moving from world space back into tangent space (which is required for good mesh smoothing).

I compared it with TDM 2.05, and the problem happens there too.
I think this problem will not be in shader: the crate itself has to be fixed. Something is wrong with it.
stgatilov

stgatilov

26.01.2019 08:12

administrator   ~0011508

Attached an image obtained using:
  r_showTangentSpace 3
  r_skipAmbient 3
  r_skipInteractions 1
It shows normal of each fragment encoded into color.

It is clear that good crates have flat normal with sharp changes on the edges, while the crates with the problem have smoothly changing normal over a large flat face, and sometimes normal even changes smoothly from one face to another when going over an edge.
stgatilov

stgatilov

30.12.2019 04:55

administrator   ~0011980

In my opinion the model of the crate is bad.
This is the map-specific model (I guess a merge of several standard models):
  // entity 6909
  {
  "classname" "func_static"
  "name" "func_static_1140"
  "model" "models/darkmod/map_specific/steele/smythe_5.lwo"
  "origin" "5449.81 1280.2 564.684"
  "rotation" "1 0 0 0 1 0 0 0 1"
  }

I'm moving this to mapping category, assigning to author for now.
Also reducing priority/severity, since it does not stop players from enjoying the FM.
grayman

grayman

26.10.2020 23:07

viewer   ~0012840

Removing myself as "Assigned To" because I doubt I will ever have time to work on it.

Issue History

Date Modified Username Field Change
10.01.2019 04:33 stgatilov New Issue
10.01.2019 04:33 stgatilov Status new => assigned
10.01.2019 04:33 stgatilov Assigned To => stgatilov
10.01.2019 04:34 stgatilov Note Added: 0011291
10.01.2019 04:38 stgatilov Note Added: 0011292
10.01.2019 04:39 stgatilov Note Edited: 0011292
10.01.2019 04:39 stgatilov Status assigned => resolved
10.01.2019 04:39 stgatilov Fixed in Version => TDM 2.07
10.01.2019 04:39 stgatilov Resolution open => fixed
16.01.2019 16:58 stgatilov Note Edited: 0011292
16.01.2019 17:01 stgatilov Note Added: 0011359
16.01.2019 17:01 stgatilov Status resolved => feedback
16.01.2019 17:01 stgatilov Resolution fixed => reopened
16.01.2019 17:02 stgatilov Status feedback => assigned
16.01.2019 18:37 nbohr1more Relationship added parent of 0004958
17.01.2019 11:36 STiFU Note Added: 0011385
17.01.2019 12:13 stgatilov Status assigned => resolved
17.01.2019 12:13 stgatilov Resolution reopened => fixed
26.01.2019 04:55 stgatilov Relationship deleted parent of 0004958
26.01.2019 04:56 stgatilov Relationship added related to 0004958
26.01.2019 05:00 stgatilov Note Added: 0011504
26.01.2019 05:00 stgatilov Status resolved => feedback
26.01.2019 05:00 stgatilov Resolution fixed => reopened
26.01.2019 05:00 stgatilov Status feedback => confirmed
26.01.2019 05:01 stgatilov Fixed in Version TDM 2.07 =>
26.01.2019 05:01 stgatilov Target Version TDM 2.07 => TDM 2.08
26.01.2019 08:10 stgatilov File Added: issue4955_normals.png
26.01.2019 08:12 stgatilov Note Added: 0011508
30.12.2019 04:55 stgatilov Assigned To stgatilov => grayman
30.12.2019 04:55 stgatilov Priority normal => low
30.12.2019 04:55 stgatilov Severity normal => minor
30.12.2019 04:55 stgatilov Category Graphics => Mapping
30.12.2019 04:55 stgatilov Note Added: 0011980
22.03.2020 12:07 grayman Target Version TDM 2.08 => TDM 2.09
26.10.2020 23:07 grayman Assigned To grayman =>
26.10.2020 23:07 grayman Note Added: 0012840
17.12.2020 02:27 nbohr1more Target Version TDM 2.09 =>