Glfw получает алфавиты, биты глубины и трафареты

Глядя на руководство для GLFW, вы можете использовать glfwGetVideoModes( GLFWvidmode *modes, int maxcount ) для перехода к режимам отображения. Однако это только дает вам.

int Width, Height; // Video resolution
int RedBits; // Number of red bits
int GreenBits; // Number of green bits
int BlueBits; // Number of blue bits

Чтобы открыть окно, вам нужно еще несколько параметров, как лучше всего получить остальные?

(кроме режима) glfwOpenWindow(int width, int height, int redbits, int greenbits, int bluebits, int alphabits, int depthbits, int stencilbits, int mode)


person Andrew    schedule 07.01.2013    source источник


Ответы (2)


Отправьте нужные значения и надейтесь на лучшее. Возможно, предоставьте запасной вариант, если вы не можете получить то, что хотите.

В целом:

  1. alphabits <= 8 в целом должно работать.
  2. depthbits <= 16 обычно должно работать, 24 или 32 также могут работать.
  3. stencilbits <= 8 может сработать.

Вы также можете найти информацию 2.16 в FAQ.

person genpfault    schedule 07.01.2013
comment
В мануале написано, что функция делает все возможное. все параметры, кроме оконного режима, максимально приближены к тем, что доступны в системе. Спасибо за комментарий. - person Andrew; 07.01.2013

Стандартом де-факто для графических карт сегодня является поддержка 24 битов глубины и 8 бит трафарета. 32 бита глубины встречаются очень редко.

Что вы, вероятно, захотите сделать, так это запросить 8 альфа-битов, 24 бита глубины и 8 бит трафарета. Если вам не нужен трафарет или альфа-канал, запросите для них 0 бит (таким образом вам не нужно беспокоиться, например, о состоянии работы трафарета).

person Plow    schedule 07.01.2013