Giter Club home page Giter Club logo

Comments (10)

pastk avatar pastk commented on September 22, 2024

I think its related to #891.

Thick lines consist of square segments and circles at their ends/joins. Segments and circles have the same depth value, which causes z-fighting.

FYI @vng

from organicmaps.

vng avatar vng commented on September 22, 2024

This is the nearest reason here :)
af37c06

from organicmaps.

vng avatar vng commented on September 22, 2024

I suppose we will be struggling a lot with the transparent bridges :)

from organicmaps.

pastk avatar pastk commented on September 22, 2024

This is the nearest reason here :) af37c06

Hm, how could it possibly affect this?
This change is present in the May release only, while the OP says flickering has started in February. Also there are no bridge areas at this intersection.

from organicmaps.

vng avatar vng commented on September 22, 2024

It is a guess honestly, should check manually.

I talked to a guy who worked with drape before and he says that drawing areas is not a simple/straightforward routine taking into account 3D perspective - true geometry depth added, not only Z-order.

from organicmaps.

vng avatar vng commented on September 22, 2024

UPD: I've double-checked and areas don't influence here.

@pastk I found some strange colors (suspect for different link opacity) and can't understand where these colors come from (motorway_link colors should be equal with motorway according to mapcss):

vehicle_light:

motorway:

  element {
    scale: 19
    lines {
      width: 37.0
      color: 1307964388
      priority: 249
      cap: BUTTCAP
    }
    lines {
      width: 34.0
      color: 16748864
      priority: 250
    }

motorway_link:

  element {
    scale: 19
    lines {
      width: 26.5
      color: 1307964388
      priority: 167
      cap: BUTTCAP
    }
    lines {
      width: 24.0
      color: 1308594496    // <-- This
      priority: 168
    }

from organicmaps.

vng avatar vng commented on September 22, 2024

We have double line drawing (casing/core ?) in vehicle style (don't know why) and seems like with a different opacity.
While the default style has one rule for motorway/_link.

from organicmaps.

pastk avatar pastk commented on September 22, 2024

We have double line drawing (casing/core ?) in vehicle style (don't know why) and seems like with a different opacity. While the default style has one rule for motorway/_link.

Yeap vehicle style uses casing / outlines for bigger roads. The casing line has lower priority so shouldn't cause z-fighting.

And motorway_link's opacity is lower than of motorway, so that its less prominent. It had been like this for a long time..

from organicmaps.

vng avatar vng commented on September 22, 2024

I did a manual check:

  • 2023.12.20-4-android - NO bug
  • 2024.01.09-5-android - bug EXISTS

Looks like it was introduced with a transparent motorway_link color. At least I see the same with motorway (NOT transparent) color in the December release, and the transparent color in the January release (for the default style, and in the vehicle too I suppose).

from organicmaps.

pastk avatar pastk commented on September 22, 2024

Looks like it was introduced with a transparent motorway_link color. At least I see the same with motorway (NOT transparent) color in the December release, and the transparent color in the January release (for the default style, and in the vehicle too I suppose).

It looks like adding transparency just made the bug visible, though is existed before.

If a line section is semi-transparent and then a circular semi-transparent join is overlapped then their intersection will obviously look less transparent / more bright. So a line will inherently look patchy anyway.

The bug is those "patchy" areas are not "stable" in vulkan case.

It might be possible to change "joins" shader or program to discard a fragment if its the same depth as in the depth buffer already (meaning there is an underlying line section quad already).

from organicmaps.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.