2013-10-25 2 views
1

, 나는 다음과 같은 GLFW 창 힌트를 발행 한 GLFW OpenGL은 윈도우 8 비트 (우분투) 이상의 색상 비트 심도를 증가 할 수 없습니다 :창을 만들 때 우분투 (12.10) 내 OpenGL을 응용 프로그램에서

glfwWindowHint(GLFW_CLIENT_API, GLFW_OPENGL_API); 
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); 
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); 
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); 
glfwWindowHint(GLFW_VISIBLE, GL_TRUE); 
glfwWindowHint(GLFW_SAMPLES, 0); 
glfwWindowHint(GLFW_RED_BITS, 24); 
glfwWindowHint(GLFW_GREEN_BITS, 24); 
glfwWindowHint(GLFW_BLUE_BITS, 24); 
glfwWindowHint(GLFW_ALPHA_BITS, 8); 

// Create Opengl Window 
window = glfwCreateWindow(width, height, windowTitle.c_str(), NULL, NULL); 

centerWindow(); 
glfwMakeContextCurrent(window); 

을 그러나 이것은 OpenGL 컨텍스트가 RGBA = 8-8-8-8의 픽셀 색상 비트 깊이와 연관된 창과 함께 만들어지는 결과를 낳습니다. 이를 확인하기 위해 내 GLFW 창을 만든 후 다음 코드를 사용 :

int count; 
const GLFWvidmode * mode = glfwGetVideoMode(monitor); 

cout << "Current video mode: " << 
     mode->redBits << "-" << 
     mode->greenBits << "-" << 
     mode->blueBits << endl; 

cout << "All possible video modes: " << endl; 
mode = glfwGetVideoModes(monitor, &count); 
for(int i = 0; i < count; i++) { 
    cout << mode->redBits << "-" << 
      mode->greenBits << "-" << 
      mode->blueBits << endl; 
} 

는 놀랍게도 내 현재 비디오 모드 8-8-8-8을 얻고, 모든 가능한 비디오 모드에 대해. 내 모니터 (삼성 S23B550)는 마하 밴딩 문제가없는 단색 그라디언트를 표시 할 수 있으므로 색상 채널 당 최소 16-24 비트 깊이를 가져야합니다. 또한 최신 그래픽 카드 (Nvidia GT650M)를 사용하고 있습니다.이 그래픽 카드는 채널 당 24-32 비트를 지원하는 프레임 버퍼가 있어야합니다.

이상한 점은 내 그래픽 카드가 Nvidia Optimus 기술을 사용한다는 것입니다. 즉, Linux 전용 그래픽 카드를 사용하려면 그래픽 카드 전환을 위해 optirun (Bumblee)을 사용해야합니다. (통합 전용), 내가 OpenGL 응용 프로그램을 실행할 때 수행합니다.

+0

해당 디스플레이에 대한 [수동] (http://downloadcenter.samsung.com/content/UM/201201/20120104163348019/BN46-00193A-Eng.pdf)에는 8 비트 색상 만 표시됩니다 ([ "디스플레이 색상 : 16.7M "] (http://en.wikipedia.org/wiki/Color_depth#True_color_.2824-bit.29), 79 페이지), 16 비트가 아니거나 10 비트가 아닙니다. – genpfault

+0

가격은 10 비트 패널 일 가능성이 있지만 (가격은 6 비트 패널 일 수도 있음) 더 높은 비트의 이미지 프로세싱은 이미지 프로세싱입니다. 소스는 항상 8 비트입니다. –

+0

@genpfault 16.7M 색상 = 2^24가 아니므로 24 비트인지? –

답변

0

Nvidia는 OpenGL에서 10 비트 컬러를 사용하려면 shell out for a Quadro이라고 말합니다.

아니요 AMD is any better in that regard입니다.

+0

여기에서 http://nvidia.custhelp.com/app/answers/detail/a_id/3050/related/1 모든 것이 필요합니다. G80보다 새로운 아키텍처의 nvidia 카드인데, 이는 Nov 이후로되어야합니다. 해당 아키텍처가 도입 된 2006 년 http://en.wikipedia.org/wiki/GeForce_8_Series –

관련 문제