0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Bug】Catalina での GLUT の表示バグと妥協案

Posted at

TL;DR

  • GLUTを用いてアプリを作成するとこのような表示バグが起こることがある.

    • 画面の左下にしか表示されない
Screen Shot 2020-06-08 at 20.29.52.png
  • Mojaveでも同様のバグがおきていたが修正されていた,しかしCatalinaでまた起きてしまった

  • Retina Display やHiDPIモニター だけで開発する際は注意

背景

Retina Display

Retinaディスプレイ(レティナディスプレイ、レティーナディスプレイ、英: Retina Display)は、アップル製品のうち、100〜160ppi程度であった従来のディスプレイ解像度の、およそ倍の解像度、高画素密度のディスプレイを指す名称である。

Wikipedia

今までのディスプレイは1dotを表現するのに1px使用していたが
Retinaディスプレイは1dotを表現するのに4pxや9px使用する.

Retinaディスプレイって何?普通のディスプレイとどこが違うの?

問題

OpenGLの表示バグはなぜ起こったか

Retina Display上では600×400の描画をするとき,600×400×4px使用する.
OpenGLでは600×400の描画をするとき,600×400pxしか指定しない.
そのため画面の表示バグが起こる.

Mojaveでは解決されてたのにというフォーラム

That render issue first appeared on macOS Mojave, due to Apple's changes to their version of OpenGL/Freeglut. That got solved with Mojave .3
Then Catalina came along, and I kept on upgrading it with every beta release. All looked good and was working fine for me.
It still is. I'm on the official version now.

妥協案

  1. パッチを当てる
  2. Viewportをいじる

パッチを当てる

glutInitDisplayString("rgba stencil double samples=8 hidpi");

Viewportをいじる.

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?