目次 - SDL 3.0 API(機能別) - ヒント - SDL_HINT_OPENGL_FORCE_SRGB_FRAMEBUFFER

SDL_HINT_OPENGL_FORCE_SRGB_FRAMEBUFFER

sRGBに対応したOpenGLコンテキストを強制するか否かを設定するヒント

ヘッダ

SDL3/SDL_hints.h

構文

#define SDL_HINT_OPENGL_FORCE_SRGB_FRAMEBUFFER "SDL_OPENGL_FORCE_SRGB_FRAMEBUFFER"

詳細

OpenGLコンテキストを生成する時点で, 一部の環境ではsRGBに対応したコンテキストを要求できる. しかし, どのような形式の要求でも, ドライバ, 環境, ハードウェアによって予期しない結果が生じることがある. 通常, その予期しない結果は意図よりもやや明るいまたはやや暗いレンダリングとして現れる.

このヒントで, ユーザはアプリケーションのsRGBの要求を上書きし, システムが正しく動作するように特定の値や何も要求しないことを強制することができる.

このヒントはフェースセーフのためにある. アプリケーションは何も明示的に設定するべきではなく, ユーザも何も設定するべきではない.

一部の環境ではこの要求をまったく行えず, また全ての環境でOSによって拒否される可能性があるので注意すること.

このヒントはsRGB対応OpenGLコンテキストを要求し, さらに適切ならば生成したコンテキストにGL_FRAMEBUFFER_SRGBを強制的に適用しようとする.

次の値を設定できる:

"0"sRGBに対応しないOpenGLコンテキストの要求を強制する
"1"sRGBに対応するOpenGLコンテキストの要求を強制する
"skip"sRGB対応コンテキストを要求しない(コンテキスト生成時に属性を指定しない)

他の文字列は未定義である.

設定しない, または空の文字列を設定すると, SDLはSDL_GL_FRAMEBUFFER_SRGB_CAPABLEでアプリケーションが指定した値を要求する.

このヒントはOpenGLコンテキストを生成する前に設定する必要がある.

バージョン

SDL 3.4.2以降

SDL Wikiへのリンク

SDL_HINT_OPENGL_FORCE_SRGB_FRAMEBUFFER - SDL Wiki