Skip to content

Dynamic Label Scaling Based on Zoom Level #304

@AdrienBousquieEPFL

Description

@AdrienBousquieEPFL

Description

Implement a feature that enables 3D labels to dynamically scale based on the zoom level in an OpenGL-rendered environment. This enhancement will ensure that labels remain proportional and legible regardless of zoom adjustments.

Problem Statement

Labels in the current implementation do not adjust their size relative to the zoom level. This results in labels that may appear too large or too small depending on the user's zoom perspective, reducing their usability and visual consistency.

Proposed Solution

Introduce a scaling mechanism that:

  • Calculates label size dynamically based on the camera's zoom level or projection matrix.
  • Applies scaling through OpenGL transformations to ensure efficient rendering.
  • Maintains compatibility with existing features, such as billboard rotation and text alignment.

Expected Behavior

  • Labels resize proportionally when the user zooms in or out.
  • The scaling logic does not impact other label features (e.g., rotation or positioning).
  • Performance remains unaffected during real-time zoom adjustments.

Acceptance Criteria

  • Labels dynamically adjust size based on zoom level.
  • Scaling logic integrates seamlessly with other label transformations.
  • Performance impact is minimal and within acceptable thresholds.
  • Documentation includes implementation details and usage examples.
  • Tests validate the scaling behavior; untested areas are documented with justification.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions