Глубина цвета 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 может не дать оптимальный результат для желаемого приложения. Тогда может быть лучше перечислить все доступные пиксельные форматы и выбирать из них, используя пользовательский набор правил.

Другие вопросы по тегам