The default SDL + OpenGL3 example provides a minimal way of handling the framebuffer size/screen size difference. In this example DisplaySize is the screen size, let's say 800x600 and underlying framebuffer on retina is x2 so 1600x1200. That's all good, I load my fonts 2x sized and do FontGlobalScale = 0.5f.
However, lines and primitives produced by things like Separator or frames with corner rounding are blurry. Turning off antialiasing in imgui helps a little bit, but I was able to reach a much much better result with crisp looking lines and frames (with antialiasing turned on) if I set my DisplaySize to my framebuffer size and adjust the render code accordingly.
The 'solution' obviously produces a multitude of issues such as having to rely on relative sizes everywhere and having to scale all absolute values. Is there a better alternative?
The default SDL + OpenGL3 example provides a minimal way of handling the framebuffer size/screen size difference. In this example DisplaySize is the screen size, let's say 800x600 and underlying framebuffer on retina is x2 so 1600x1200. That's all good, I load my fonts 2x sized and do FontGlobalScale = 0.5f.
However, lines and primitives produced by things like Separator or frames with corner rounding are blurry. Turning off antialiasing in imgui helps a little bit, but I was able to reach a much much better result with crisp looking lines and frames (with antialiasing turned on) if I set my DisplaySize to my framebuffer size and adjust the render code accordingly.
The 'solution' obviously produces a multitude of issues such as having to rely on relative sizes everywhere and having to scale all absolute values. Is there a better alternative?