Глубина цвета PIXELFORMATDESCRIPTOR
Мне интересно, какие значения изменить в PIXELFORMATDESCRIPTOR
объект для изменения глубины цвета.
Согласно вики OpenGL, именно так вы можете создать PIXELFORMATDESCRIPTOR
объект для контекста OpenGL:
PIXELFORMATDESCRIPTOR pfd =
{
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, //Flags
PFD_TYPE_RGBA, //The kind of framebuffer. RGBA or palette.
32, //Colordepth of the framebuffer.
0, 0, 0, 0, 0, 0,
0,
0,
0,
0, 0, 0, 0,
24, //Number of bits for the depthbuffer
8, //Number of bits for the stencilbuffer
0, //Number of Aux buffers in the framebuffer.
PFD_MAIN_PLANE,
0,
0, 0, 0
};
Но у этого есть различные переменные, влияющие на глубину цвета.
Какие из них мне нужно изменить, чтобы настроить глубину цвета соответственно?
1 ответ
Первое число 32 в вашем конкретном примере указывает количество цветных битовых плоскостей, доступных для кадрового буфера. Другие числа определяют количество битовых плоскостей для использования для каждого компонента. Вполне возможно вписать формат 5-6-5 пикселей в кадровый буфер 32 битовых плоскостей, что является правильным выбором.
Когда вы передаете PIXELFORMATDESCRIPTOR к ChoosePixelFormat
значения принимаются как минимальные значения. Однако алгоритм, используемый ChoosePixelFormat
может не дать оптимальный результат для желаемого приложения. Тогда может быть лучше перечислить все доступные пиксельные форматы и выбирать из них, используя пользовательский набор правил.