Xlib と OpenGL でプログラミング グラフィックスを把握しようとしています。ウィンドウなどは作れますが、表示モードの変更に行き詰まりました。
Xrandr 関数を使用して利用可能なビデオ モードを一覧表示し ( XRRSizes
、XRRRates
、XRRGetScreenInfo
、XRRConfigSizes
)、現在設定されているモードを確認し ( XRRConfigCurrentConfiguration
)、解像度を変更します ( XRRSetScreenConfig
)。
を使用して、利用可能なビット深度 (別名、色深度、つまり、ピクセルあたりのビット数) を一覧表示できますXListDepths
。
私が知らないのは、特定の画面のビット深度を変更する方法です。
Xrandr でビット深度と画面サイズを設定するための適切な関数が見つかりませんでした。ビット深度についてはまったく無知のようですが、これは本当に奇妙です。Xlib ドキュメントにも適切な関数が見つかりませんでした。
私の質問は次のとおりです
。Linuxでプログラムで解像度とビット深度を変更する方法は?
Xlib ライブラリまたは他の場所に関数はありますか?
SDL などのグラフィック用の本格的なライブラリがあることは知っていますが、学習目的で最小限のグラフィック ライブラリを自分で作成しようとしているため、表示モードを変更するためだけにそれらを依存関係として使用したくありません。 .
編集:
私が達成したいことは、特に Xlib や X で行う必要はありませんが、X とうまく連携する必要があります。たとえば、X を完全に削除したくはありません ─ ウィンドウ モードでグラフィックを表示する場合は、X が依然として役に立ちます。しかし、ビデオモードを完全に制御する必要があるフルスクリーンモードに切り替える方法も必要です。解像度、色深度、リフレッシュレート、およびフレームバッファー内の実際のピクセルへの直接アクセスであり、「エミュレーション」ではありません。Linuxでできるビデオゲームがあるので、何らかの方法があると思います。