[Scummvm-tracker] [ScummVM :: Bugs] #15486: TINYGL: triangles always override zbuffer from lines?
ScummVM :: Bugs
trac at scummvm.org
Thu Nov 14 12:08:55 UTC 2024
#15486: TINYGL: triangles always override zbuffer from lines?
------------------------+----------------------
Reporter: neuromancer | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Graphics
Version: | Keywords:
Game: |
------------------------+----------------------
It seems that when using TinyGL, rendering a line on top of a triangle can
cause the line to be invisible, depending on the order of the rendering
calls. In theory, the rendering order should not matter when depth
testing/writing is enabled.
This can be reproduced in the freescape engine, removing workaround for
this issue located here:
https://github.com/scummvm/scummvm/compare/638af45da0ad...79f7d38f3694
#diff-
be1a69b059b2d0790b564279ad27cce15d58d9dfe2e7d9d6e9ef7c81c5f5c0f4R362-R373
To reproduce, modify the the affected code to render first planar, then
non-planar objects:
{{{
for (auto &pair : offsetMap) {
pair._key->draw(gfx, pair._value);
}
for (auto &obj : nonPlanarObjects) {
obj->draw(gfx);
}
}}}
Then, load the Total Eclipse CPC demo
(https://downloads.scummvm.org/frs/demos/freescape/totaleclipse-cpc-
demo.zip), switch the render to software, start the game and examine the
plane from different angles.
I have attached two images with and without the workaround.
--
Ticket URL: <https://bugs.scummvm.org/ticket/15486>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list