gazebosim / gazebosim/gz-rendering

Offer calibration APIs for users with various DPI setups

Open
#381 0 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted
Dominant language
C++
Stars
81
Forks
90
Avg merge
1d 13h
Merged PRs (30d)
10

Description

We've been having a hard time to support screens with different resolutions and DPIs. Pull request https://github.com/ignitionrobotics/ign-rendering/pull/221 has been open for a long time, but we're failing to find a single solution that applies to all use cases.

My alternative proposal is to provide users with a calibration utility so that they can manually set the scale. See for example this touchscreen calibration tool:

[![](https://www.oki.com/printing/online-manuals-12/465331/img/common/MC5T_L_DvsUse001_01.png)](https://www.oki.com/printing/online-manuals-12/465331/id/contents/contents/kt_000025.html)

## Desired behavior

We could offer a small executable that opens a screen with a few points for the user to click on. Then internally calculate the scaling factor and save it to a file in `~/.ignition/rendering`. Every time `ign-rendering` is loaded, it reads from that file to set the scale. If the file doesn't exist, it uses 1.0 as the scale.

## Alternatives considered

We can keep banging our heads against a general solution like we're trying in https://github.com/ignitionrobotics/ign-rendering/pull/221, but there will always be corner cases that we can't test without the hardware.

## Implementation suggestion

See above.

## Additional context

Related to https://github.com/ignitionrobotics/ign-gazebo/issues/147

Contributor guide

Open the contributing guide

Research direction

Start by reviewing pull request #221 and the related ign-gazebo issue #147 to understand existing DPI approaches and unresolved use cases. Define the calibration executable and scale persistence behavior described here; done means a user can set a scale, it is saved under ~/.ignition/rendering, and loading defaults to 1.0 when no file exists.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.