View Issue Details

IDProjectCategoryView StatusLast Update
0004420The Dark ModGraphicspublic13.02.2017 17:54
Reporternbohr1more Assigned Toduzenko  
PrioritynormalSeveritynormalReproducibilityalways
Status closedResolutionfixed 
PlatformALL 
Product VersionSVN 
Target VersionTDM 2.05Fixed in VersionTDM 2.05 
Summary0004420: Reflective "subview" materials flicker when in close range
DescriptionRecent SVN builds produce flickering on some transparent reflective materials.
Of the notable ones are the puddle next to the homeless man in Penny Dreadful 2: All the Way Up.

http://media.moddb.com/cache/images/mods/1/4/4000/thumb_620x2000/penny203.jpg

The most noticeable one is the entire lake in the Animated Grass Demo map.
Steps To Reproduce1) Download the Animated Grass Demo map:
http://www.moddb.com/mods/the-dark-mod/addons/arcturuss-animated-grass-demo
2) Install into darkmod/fms folder
3) Install and Start the Animated Grass Demo map
4) Look at the lake and note that it renders perfectly
5) Get close to the lake
6) Notices that if flickers considerably

Workaround: set r_skipSubviews 1 in the console (side effect, lake has a strange skybox reflection instead of a proper reflection).
Additional InformationI initially thought this might be the time parameter in the material def which is using floatTime but the puddles in PD2 seem to negate that theory.
TagsNo tags attached.

Relationships

related to 0004405 resolvedduzenko com_speed discrepancy 
related to 0004484 resolvedduzenko Lightgem is visible in mirrors and some subviews 

Activities

nbohr1more

nbohr1more

21.11.2016 05:14

developer   ~0008510

Thus far tried

(draw_common.cpp RB_STD_DrawShaderPasses):

if ( drawSurfs[0]->material->GetSort() >= SS_POST_PROCESS ) {
        if ( r_skipPostProcess.GetBool() || backEnd.viewDef->renderView.viewID == RENDERTOOLS_SKIP_ID) {
            return 0;
        }

        // only dump if in a 3d view
        if ( backEnd.viewDef->viewEntitys && tr.backEndRenderer == BE_ARB2 && backEnd.viewDef->renderView.viewID != RENDERTOOLS_SKIP_ID) {
            globalImages->currentRenderImage->CopyFramebuffer( backEnd.viewDef->viewport.x1,
                backEnd.viewDef->viewport.y1, backEnd.viewDef->viewport.x2 - backEnd.viewDef->viewport.x1 + 1,
                backEnd.viewDef->viewport.y2 - backEnd.viewDef->viewport.y1 + 1, true );
                    
        }
        backEnd.currentRenderCopied = true;


(RB_STD_T_RenderShaderPasses)

if (shader->HasSubview() && backEnd.viewDef->renderView.viewID == RENDERTOOLS_SKIP_ID) {
        return;
    }


No luck
duzenko

duzenko

21.11.2016 06:51

developer   ~0008511

Last edited: 21.11.2016 07:20

How about g_enablePortalSky 1?
...
Nope, didn't help
...
How is the reflection implemented in DR? I am absolutely clueless with DR.
..
It could be related to lightgem.
...
Does the water surface get rendered on the lightgem stage?

nbohr1more

nbohr1more

21.11.2016 07:35

developer   ~0008514

I think it's noshadows so it's skipped. But I disabled my optimizations and the problem persists. Still it couldn't hurt to set the material to islightgemsurf and see if it still flickers.
duzenko

duzenko

21.11.2016 09:08

developer   ~0008515

Last edited: 21.11.2016 09:34

But it does stop flickering with tdm_lg_weak 1 for you?
...
Committed a fix - would you review it please. I think the change that may have triggered this bug was my fix for com_speeds (0004405).

nbohr1more

nbohr1more

21.11.2016 12:27

developer   ~0008519

Fixed by the change in 4405
duzenko

duzenko

21.11.2016 12:38

developer   ~0008520

Last edited: 21.11.2016 12:42

Hmm...
Reflection rotates unnaturally when player moves/turns.
Is it only me or ???
...
The problem seems to be the skybox part of the reflection.
...
We do need the skybox render to texture for mirrors.

duzenko

duzenko

21.11.2016 13:42

developer   ~0008521

Last edited: 21.11.2016 13:51

Appears to be caused by lightgem stage pixels leftover in framebuffer
Skybox stage pixels are also there
...
Leftover pixels might be helped by adding an ambient material on the mirror surface.

Springheel

Springheel

22.01.2017 21:54

administrator   ~0008716

This may also be related to this problem: http://forums.thedarkmod.com/topic/18525-beta-testing-205/?p=400170
duzenko

duzenko

23.01.2017 19:16

developer   ~0008717

I don't have permission to access that forum - can someone give me access?
nbohr1more

nbohr1more

23.01.2017 22:57

developer   ~0008718

Please check now. Biker just updated your permissions. :)

Issue History

Date Modified Username Field Change
20.11.2016 16:49 nbohr1more New Issue
20.11.2016 16:49 nbohr1more Status new => assigned
20.11.2016 16:49 nbohr1more Assigned To => duzenko
21.11.2016 05:14 nbohr1more Note Added: 0008510
21.11.2016 06:51 duzenko Note Added: 0008511
21.11.2016 06:59 duzenko Note Edited: 0008511
21.11.2016 07:04 duzenko Note Edited: 0008511
21.11.2016 07:17 duzenko Note Edited: 0008511
21.11.2016 07:20 duzenko Note Edited: 0008511
21.11.2016 07:35 nbohr1more Note Added: 0008514
21.11.2016 09:08 duzenko Note Added: 0008515
21.11.2016 09:34 duzenko Note Edited: 0008515
21.11.2016 12:26 nbohr1more Relationship added related to 0004405
21.11.2016 12:27 nbohr1more Note Added: 0008519
21.11.2016 12:28 nbohr1more Status assigned => closed
21.11.2016 12:28 nbohr1more Resolution open => fixed
21.11.2016 12:28 nbohr1more Fixed in Version => TDM 2.05
21.11.2016 12:38 duzenko Note Added: 0008520
21.11.2016 12:39 duzenko Note Edited: 0008520
21.11.2016 12:42 duzenko Note Edited: 0008520
21.11.2016 13:42 duzenko Note Added: 0008521
21.11.2016 13:51 duzenko Note Edited: 0008521
28.11.2016 02:07 nbohr1more Relationship added related to 0004426
28.11.2016 02:21 nbohr1more Relationship deleted related to 0004426
22.01.2017 21:54 Springheel Note Added: 0008716
23.01.2017 19:16 duzenko Note Added: 0008717
23.01.2017 22:57 nbohr1more Note Added: 0008718
13.02.2017 17:54 nbohr1more Relationship added related to 0004484