|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Porting Device Contexts and Pixel Formats
Each window in Microsoft's implementation of OpenGL for Windows NT has its own current pixel format. A pixel format is defined by a PIXELFORMATDESCRIPTOR data structure. Because each window has its own pixel format, you obtain a device context, set the pixel format of the device context, and then create an OpenGL rendering context for the device context. The rendering context automatically uses the pixel format of its device context.
The X Window System also uses a data structure, XVisualInfo, to specify the properties of pixels in a window. XVisualInfo structures contain a Visual data structure that describes how color resources are used in a specific screen. In the X Window System, XVisualInfo is used to create windows by setting it to the pixel format you want. The returned structure is used to create the window and a rendering context. In Windows NT, you first create a window and get a handle to a device context (HDC) of the window. The HDC is then used to set the pixel format for the window. The rendering context uses the pixel format of the window.
The following table compares the X Window System and GLX visual functions with their corresponding Win32 pixel format functions.
X Window/GLX Visual Functions Win32 Pixel Format Functions XVisualInfo* glXChooseVisual(Display *dpy, int screen, int *attribList) int ChoosePixelFormat(HDC hdc, PIXELFORMATDESCRIPTOR *ppfd) int glXGetConfig(Display *dpy, XVisualInfo *vis, int *attribList, int *value) int DescribePixelFormat(HDC hdc, int iPixelFormat, UINT nBytes, LPPIXELFORMATDESCRIPTOR ppfd) XVisualInfo* XGetVisualInfo(Display *dpy, long vinfo_mask, XVisualInfo *vinfo_templ, int *nitems) int GetPixelFormat(HDC hdc) The visual returned by glxChooseVisual is used when a window is created. BOOL SetPixelFormat(HDC hdc, int iPixelFormat, PIXELFORMATDESCRIPTOR *ppfd)
The following sections give examples of pixel format code fragments for an X Window System program, and the same code after it has been ported to Windows NT. For more information on pixel formats, see Pixel Formats.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Перенесение Контекстов Устройства и Форматов Пикселя
Каждое окно в реализации Микрософта OpenGL для Windows NT имеет собственный текущий формат пикселя. Формат пикселя определен структурой данных PIXELFORMATDESCRIPTOR. Поскольку каждое окно имеет собственный формат пикселя, Вы получаете контекст устройства, установите формат пикселя контекста устройства, затем создайте OpenGL, предоставляющее контекст для контекста устройства. Предоставляющий контекст автоматически использует формат пикселя своего контекста устройства.
Система Окна X также использует структуру данных, XVisualInfo, чтобы определять свойства пикселей в окне. СТРУКТУРЫ XVisualInfo содержат Визуальную структуру данных, которая описывает как цветные ресурсы использованы на специфическом экране. В Окне X Системы, XVisualInfo использован, чтобы создавать окно устанавливая этому в формат пикселя Вы хотите. Возвращанная структура использована, чтобы создавать окно и предоставляющий контекст. В Windows NT, Вы сначала создаете окно и получаете ручку в контекст устройства (HDC) окна. HDC - затем использованное, чтобы устанавливать формат пикселя для окна. Предоставляющий контекст использует формат пикселя окна.
Следующая таблица сравнивает Систему Окна X и визуальных функций GLX с их функциями формата соответствующего пикселя Win32.
Визуальный Пиксель Функций X Window/GLX Формата Win32 Функционирует XVisualInfo* glXChooseVisual(ДИСПЛЕЙ *dpy, int экран, int *attribList) int ChoosePixelFormat(HDC hdc, PIXELFORMATDESCRIPTOR *ppfd) int glXGetConfig(Дисплей *dpy, XVisualInfo *vis, int *attribList, int *величина) int DescribePixelFormat(HDC hdc, int iPixelFormat, UINT nBytes, LPPIXELFORMATDESCRIPTOR ppfd) XVisualInfo* XGetVisualInfo(ДИСПЛЕЙ *dpy, длинный vinfo_mask, XVisualInfo *vinfo_templ, int *nitems) int GetPixelFormat(HDC hdc) Визуальный возвращанный glxChooseVisual использован когда окно создано. BOOL SetPixelFormat(HDC hdc, int iPixelFormat, PIXELFORMATDESCRIPTOR *ppfd)
Следующие секции дают примерам формата пикселя кодовых фрагментов для программы Системы Окна X, и того же кода после того, как она будет перенесена на Windows NT. Более подробно в форматах пикселя, смотри Форматы Пикселя.
| |
|
|
| |