View Issue Details

IDProjectCategoryView StatusLast Update
0005063Spring engineGeneralpublic2016-02-07 22:15
ReporterBeherith Assigned ToKloot  
PrioritynormalSeveritytweakReproducibilityalways
Status closedResolutionno change required 
Product Version100.0+git 
Summary0005063: ModelFragProg.glsl writes to deferred buffers even if the fragment is fully transparent.
DescriptionThe deferred buffers are written to even if a fragment is transparent.
Maybe just an early [ if (extraColor.a < 0.5) discard; ] is sufficient, but I see that there have been some alpha pass changes in the shader code, and am unsure if i'm not breaking some intended functionality with this.

Steps To ReproduceRequires deferred buffer visualiaztion, and a unit with alpha transparency. For this, I used some trees and BAR's deferred lighting shader. See the attached screenshot for details.
TagsNo tags attached.
Attached Files
screen00141.jpg (Attachment missing)
Checked infolog.txt for Errors

Activities

Kloot

2016-02-07 21:09

developer   ~0015644

Last edited: 2016-02-07 21:09

extraColor is written to the SPECTEX buffer, so you can kill the lighting for those fragments by multiplying with float(SPECTEX.a > 0.0) on the deferred side (a branch would hurt more than writing the fragment does).

Issue History

Date Modified Username Field Change
2016-02-07 16:09 Beherith New Issue
2016-02-07 16:09 Beherith File Added: screen00141.jpg
2016-02-07 21:09 Kloot Note Added: 0015644
2016-02-07 21:09 Kloot Note Edited: 0015644
2016-02-07 22:15 Kloot Status new => closed
2016-02-07 22:15 Kloot Assigned To => Kloot
2016-02-07 22:15 Kloot Resolution open => no change required