Doors (forcefields) closed
Doors (forcefields) open
Doors (forcefields) closed
Doors (forcefields) open
<replace this line with the file content>
<replace this line with the file content>
Status | Assigned | Task | ||
---|---|---|---|---|
In Queue | SmilingDemon | T168 transparent blocks touching open doors have invisible faces | ||
In Queue | SmilingDemon | T1656 Transparent blocks lose texture when console/light bar placed above it. |
T370 is not fully related, this is about light calc beside closed doors not seeing a reason to calc, and thus no texture gets generated.
There's a lot more to this bug then "transparent blocks touching open doors have invisible faces" and it extends throughout the game to all sorts of symptoms of just some weird rendering order or some such.
There's a group of transparent blocks in the game that includes blocks like force fields, metal grills, charged circuits and they're all pretty much invisible when viewed through one another.
The actual bug is any block which exists in the world but has a transparent property (either partial such as a block with the inherent property like a forcefield or fully invisible such as open door) disables the rendering of any other such block when viewed through the transparency of the first block.
Pretty annoying when metal grills are one of the nicer interior blocks to use and they all start disappearing when you put up some force fields too.
This bug doesn't seem to affect all transparent blocks, e.g glass blocks can be viewed through forcefields so I don't see why it shouldn't all be fixable.
To fix it properly, it will need a full rendering queue, to draw everything from "far away to close to the player" in exactly that order.
The engine relies on OpenGL to sort and organise the rendering order,
but it turns out that its not perfect without giving it an exact list for the rendering order.
So once we are feature complete, and know everything we want to render, we can rewrite that part on our own, and help OpenGL doing its job rendering the object we sent to it properly. =)
And yes, glass for example seems to work better, because it has only a partial transparency on an otherwise solid texture, while grates have parts that completely cover the view, and parts that are 100% transparent, this seems to be a weak spot for OpenGL.