2014-09-15 9 views
8

Ich benutze GLFW3, um einen Kontext zu erstellen, und ich habe festgestellt, dass die GLFW_SRGB_CAPABLE Eigenschaft scheint keine Wirkung zu haben. Unabhängig davon, was ich eingestellt habe, bekomme ich immer sRGB-Konvertierung, wenn GL_FRAMEBUFFER_SRGB aktiviert ist. Mein Verständnis ist, dass, wenn GL_FRAMEBUFFER_SRGB aktiviert ist, erhalten Sie sRGB-Konvertierung nur, wenn der Framebuffer ein sRGB-Format ist. Um die Verwirrung zu erhöhen, wenn ich die GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING überprüfe, bekomme ich GL_LINEAR ungeachtet dessen, was ich GLFW_SRGB_CAPABLE an stelle. Dies scheint kein Problem mit GLFW zu sein. Ich habe manuell ein Fenster und einen Kontext erstellt und war sicher, dass GL_FRAMEBUFFER_SRGB_CAPABLE_ARB auf true gesetzt wurde.OpenGL sRGB Framebuffer Kuriosität

Ich benutze eine Nvidia GTX 760 mit den 340.76 Treibern. Ich überprüfe das Format wie folgt aus:

glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_FRONT_LEFT, GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, &enc); 

Dies sollte GL_SRGB zurückkehren, sollte es nicht? Wenn es sRGB-Korrektur anwendet, unabhängig davon, was auf WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB gesetzt ist, dann ist Nvidias Treiber nicht kaputt? Niemand hat das bisher bemerkt?

Antwort

1

Es scheint, dass dies nur ein Problem mit dem Standard-Framebuffer ist, deshalb muss es ein Fehler in Nvidias WGL-Implementierung sein. Ich habe es ihnen gezeigt, also wird es hoffentlich behoben sein.

+0

Hallo, können Sie ein wenig mehr erarbeiten? Ich bin auch interessiert. Wie bist du zu dieser Schlussfolgerung gekommen? – elect