На главную

On-line справка по OpenGL

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-L-M-N-O-P-R-S-T-U-V-W | Скачать Вниз

wglUseFontBitmaps



The wglUseFontBitmaps function creates a set of bitmap display lists based on the glyphs in a device context's currently selected font for use in the current OpenGL rendering context. These bitmaps can then be used to draw characters in an OpenGL image.

The wglUseFontBitmaps function creates count display lists, one for each of a run of count glyphs that begins with hdc's selected font's first glyph.

BOOL wglUseFontBitmaps(

HDC hdc, //Device context whose font will be used
DWORD first, //Glyph that is the first of a run of glyphs to be turned into bitmap display lists
DWORD count, //Number of glyphs to turn into bitmap display lists
DWORD listBase //Specifies starting display list
);


Parameters

hdc

Specifies the device context whose currently selected font will be used to form the glyph bitmap display lists in the current OpenGL rendering context.

first

Specifies the glyph of the font that is the first element of a run of glyphs that will be used to form glyph bitmap display lists.

count

Specifies the number of glyphs in the run of glyphs that will be used to form glyph bitmap display lists. The function creates count display lists, one for each glyph in the run.

listBase

Specifies a starting display list.

Return Value

If the function succeeds, the return value is TRUE.
If the function fails, the return value is FALSE. Call GetLastError for extended error information.

Remarks

The wglUseFontBitmaps function defines count display lists in the current OpenGL rendering context. Each display list has an identifying number, starting at listBase. Each display list consists of a single call to glBitmap. The definition of bitmap listBase
+i is taken from the glyph first+i of the font currently selected in the device context specified by hdc. If a glyph is not defined, then the function defines an empty display list for it.

The function creates bitmap text in the plane of the screen. It enables the labeling of objects in OpenGL.
The current version of Microsoft's implementation of OpenGL in Windows NT does not allow GDI calls to be made to a device context whose pixel format is double-buffered. That precludes an application from using the GDI fonts and text functions with such device contexts. The wglUseFontBitmaps function lets an application circumvent this limitation and draw text in a double-buffered device context.

The function determines the parameters of each call to glBitmap as follows:

glBitmap parameter Determination
width The width of the glyph's bitmap, as returned in the gmBlackBoxX field of the glyph's GLYPHMETRICS structure.
height The height of the glyph's bitmap, as returned in the gmBlackBoxY field of the glyph's GLYPHMETRICS structure.
xorig The x offset of the glyph's origin, as returned in the gmptGlyphOrigin.x field of the glyph's GLYPHMETRICS structure.
yorig The y offset of the glyph's origin, as returned in the gmptGlyphOrigin.y field of the glyph's GLYPHMETRICS structure.
xmove The horizontal distance to the origin of the next character cell, as returned in the gmCellIncX field of the glyph's GLYPHMETRICS structure.
ymove The vertical distance to the origin of the next character cell as returned in the gmCellIncY field of the glyph's GLYPHMETRICS structure.
bitmap The bitmap for the glyph, as returned by GetGlyphOutline with uFormat equal to 1.


Here's a skeletal example that shows how to draw some text:

HDC hdc;
HGLRC hglrc;

// create a rendering context
hglrc = wglCreateContext (hdc);

// make it the calling thread's current rendering context
wglMakeCurrent (hdc, hglrc);

// now we can call OpenGL API

// make the system font the device context's selected font
SelectObject (hdc, GetStockObject (SYSTEM_FONT));

// create the bitmap display lists
// we're making images of glyphs 0 thru 255
// the display list numbering starts at 1000, an arbitrary choice

wglUseFontBitmaps (hdc, 0, 255, 1000);

// display a string:
// indicate start of glyph display lists
glListBase (1000);
// now draw the characters in a string
glCallLists (24, GL_UNSIGNED_BYTE, "Hello Win32 OpenGL World");


See Also

glListBase, glCallLists, wglUseFontOutlines


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

wglUseFontBitmaps



Функция wglUseFontBitmaps создает набор дисплейных списков побитового отображения находящегося на glyphs в контекстном к настоящему времени выбранном шрифте устройства для использования в течении OpenGL, предоставляющем контекст. Эти побитовые отображения могут затем использован, чтобы делать символами в образе OpenGL.

Функция wglUseFontBitmaps создает дисплейные списки счета, за каждого из прогона счета glyphs, который начинает с hdc's выбранный шрифт первый glyph.

BOOL wglUseFontBitmaps(

HDC hdc, //КОНТЕКСТ Устройства чей шрифт будет использован DWORD сначала, //Glyph, что - первый из прогона glyphs, чтобы быть ставш в дисплейные списки счета побитового отображения DWORD, //Числа glyphs, чтобы поворачивать в дисплейные списки побитового отображения DWORD listBase //Определяет дисплейный список запуска
);


Параметры

hdc

Определяет контекст устройства чье к настоящему времени выбравшееся шрифт будет использован, чтобы формировать побитовое отображение glyph дисплейных списков в течении OpenGL, предоставляющем контекст.

сначала

Определяет glyph шрифта, который - первый элемент прогона glyphs, который будет использован, чтобы формировать glyph дисплейные списки побитового отображения.

счет

Определяет число glyphs в прогоне glyphs, который будет использован, чтобы формировать glyph дисплейные списки побитового отображения. Функция создает дисплейные списки счета, за каждого glyph в работать.

listBase

Определяет дисплейный список запуска.

Обратная Величина

Если функция добивается успеха, обратная величина является ИСТИНОЙ.
Если функция терпит неудачу, обратная величина ЛОЖНАЯ. Призовите GetLastError к расширенной информации ошибки.

Замечания

Функция wglUseFontBitmaps определяет дисплейные списки счета в течении OpenGL, предоставляющем контекст. Каждый дисплейный список имеет установление номера, запускающегося в listBase. Каждый дисплейный список состоит из единственного вызова на glBitmap. Определение побитового отображения listBase +я взят из glyph first+i шрифта к настоящему времени выбранного в контексте устройства определенного hdc. Если glyph не определено, тогда функция определяет пустой дисплейный список для этого.

Функция создает текст побитового отображения на плоскости экрана. Это приспосабливается маркирование объектов в OpenGL.
Текущая версия реализации Микрософта OpenGL в Windows NT не позволяет вызовы GDI, чтобы быть сделанн в контекст устройства чей формат пикселя буферизован двойное количество. Это предотвращает приложение из использования шрифтов GDI и текст функционирует с такими контекстами устройства. Функция wglUseFontBitmaps позволяет, приложение обходит это ограничение и делает текстом в буферном двойном контексте устройства.

Функция определяет параметры каждого вызова на glBitmap следующим образом:

Определение параметра glBitmap
ширина ширина побитового отображения glyph's, как возвращано в область gmBlackBoxX структуры glyph's GLYPHMETRICS.
высота высота побитового отображения glyph's, как возвращано в область gmBlackBoxY структуры glyph's GLYPHMETRICS.
xorig x смещение начала glyph's, как возвращано в область gmptGlyphOrigin.x структуры glyph's GLYPHMETRICS.
yorig y смещение начала glyph's, как возвращано в область gmptGlyphOrigin.y структуры glyph's GLYPHMETRICS.
xmove горизонтальное расстояние в начало следующей символьной ячейки, как возвращано в область gmCellIncX структуры glyph's GLYPHMETRICS.
ymove вертикальное расстояние в начало следующей символьной ячейки как возвращано в область gmCellIncY структуры glyph's GLYPHMETRICS.
побитовое отображение побитовое отображение для glyph, как возвращано GetGlyphOutline с uFormat равный 1.


Вот скелетный пример, который показывает как, чтобы делать некоторым текстом:

hdc HDC;
HGLRC hglrc;

// создайте предоставляющий контекстный hglrc = wglCreateContext (hdc);

// сделайте это течение резьбы вызова, предоставляющее контекст wglMakeCurrent (hdc, hglrc);

// теперь мы можем назвать OpenGL API

// сделайте системный шрифт контекстным выбранным шрифтом устройства SelectObject (hdc, GetStockObject (SYSTEM_FONT));

// создайте дисплейные списки / побитовое отображение/, которыми мы делаем образам glyphs 0 до 255 // дисплей указываться, нумерация начинается на 1000, произвольном выборе

wglUseFontBitmaps (hdc, 0, 255, 1000);

// отобразите строку:
// укажите что начало glyph дисплейных списков glListBase (1000);
// теперь сделайте символами в строке glCallLists (24, GL_UNSIGNED_BYTE, "Мир Hello Win32 OpenGL");


Смотри Также

glListBase, glCallLists, wglUseFontOutlines


Вверх Version 1.1, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод Win32 API  Русский перевод OpenGL
 
Hosted by uCoz