wglUseFontOutlinesA 함수(wingdi.h)
wglUseFontOutlines 함수는 현재 렌더링 컨텍스트에서 사용할 디바이스 컨텍스트의 현재 선택된 개요 글꼴의 각 문자 모양에 대해 하나씩 표시 목록 집합을 만듭니다. 표시 목록은 TrueType 글꼴의 3차원 문자를 그리는 데 사용됩니다. 각 표시 목록은 부동 소수점 좌표의 문자 모양 윤곽선을 설명합니다.
문자 모양 실행은 지정된 디바이스 컨텍스트의 글꼴에 대한 thefirstglyph로 시작합니다. 글꼴이 맞는 원래 글꼴 윤곽선의 명목 눈금 크기인 글꼴의 em 제곱 크기는 표시 목록의 x 및 y 좌표에서 1.0으로 매핑됩니다. 돌출 매개 변수는 글꼴이 z 방향에 있는 깊이를 설정합니다.
Thelpgmfparameter는 문자 셀에 있는 각 문자 모양의 배치 및 방향에 대한 정보를 포함하는 GLYPHMETRICSFLOAT 구조를 반환합니다.
통사론
BOOL wglUseFontOutlinesA(
HDC unnamedParam1,
DWORD unnamedParam2,
DWORD unnamedParam3,
DWORD unnamedParam4,
FLOAT unnamedParam5,
FLOAT unnamedParam6,
int unnamedParam7,
LPGLYPHMETRICSFLOAT unnamedParam8
);
매개 변수
unnamedParam1
원하는 윤곽선 글꼴을 사용하여 디바이스 컨텍스트를 지정합니다. hdc 개요 글꼴은 현재 렌더링 컨텍스트에서 표시 목록을 만드는 데 사용됩니다.
unnamedParam2
글꼴 윤곽선 표시 목록을 형성하는 첫 번째 문자 모양 집합을 지정합니다.
unnamedParam3
글꼴 윤곽선 표시 목록을 형성하는 데 사용되는 문자 모양 집합의 문자 모양 수를 지정합니다. wglUseFontOutlines 함수는 개수 표시 목록, 문자 모양 집합의 각 문자 모양에 대해 하나의 표시 목록을 만듭니다.
unnamedParam4
시작 표시 목록을 지정합니다.
unnamedParam5
원래 윤곽선의 최대 코드 편차를 지정합니다. 편차가 0이면 코드 편차는 원래 글꼴의 디자인 단위 하나에 해당합니다. 편차 값은 0보다 크거나 같아야 합니다.
unnamedParam6
음수 z 방향으로 글꼴이 돌출되는 정도를 지정합니다. 값은 0보다 크거나 같아야 합니다. 돌출 0이면 표시 목록이 돌출되지 않습니다.
unnamedParam7
표시 목록에서 사용할 WGL_FONT_LINES 또는 WGL_FONT_POLYGONS 형식을 지정합니다.
형식 WGL_FONT_LINES 경우 wglUseFontOutlines 함수는 선 세그먼트가 있는 글꼴을 만듭니다.
unnamedParam8
문자 모양의 메트릭을 수신하는 개수GLYPHMETRICSFLOAT 구조체의 배열을 가리킵니다.
반환 값
함수가 성공하면 반환 값은 TRUE
함수가 실패하면 반환 값은 FALSE
발언
wglUseFontOutlines 함수는 현재 렌더링 컨텍스트에서 표시 목록이 있는 개요 글꼴의 문자 모양을 정의합니다. wglUseFontOutlines 함수는 TrueType 글꼴에서만 작동합니다. 스트로크 및 래스터 글꼴은 지원되지 않습니다.
각 표시 목록은 선 세그먼트 또는 다각형으로 구성되며 listBase 번호로 시작하는 고유한 식별 번호를 줍니다.
wglUseFontOutlines 함수는 윤곽선과 보간된 중간점 사이의 거리가 편차지정된 값 내에 있을 때까지 윤곽선의 이차 B 스플라인 곡선을 선 세그먼트로 세분화하여 문자 윤곽선을 근사화합니다. 이 형식은 형식 WGL_FONT_LINES 때 사용되는 최종 형식입니다. WGL_FONT_OUTLINES 지정하면 생성된 표시 목록에는 표준이 포함되지 않습니다. 따라서 조명이 제대로 작동하지 않습니다. 선의 올바른 조명을 얻으려면 WGL_FONT_POLYGONS 사용하고 glPolygonMode(GL_FRONT, GL_LINE)를 설정합니다. WGL_FONT_POLYGONS 형식 지정하면 윤곽선이 별도의 삼각형, 삼각형 선형, 삼각형 스트립 또는 사분면 스트립으로 추가로 테셀레이션되어 각 문자 모양의 표면을 만듭니다. WGL_FONT_POLYGONS 사용하여 생성된 표시 목록은 glFrontFace(GL_CW) 또는 glFrontFace(GL_CCW );를 호출합니다. 따라서 현재 전면 값이 변경될 수 있습니다. WGL_FONT_POLYGONS 있는 텍스트의 최상의 모양을 위해 다음과 같이 뒷면을 컬링합니다.
glCullFace(GL_BACK);
glEnable(GL_CULL_FACE);
GLYPHMETRICSFLOAT 구조체에는 문자 셀의 각 문자 모양 배치 및 방향에 대한 정보가 포함됩니다.
lpgmf 매개 변수는 글꼴에 대한 전체 문자 모양 집합을 포함하는 GLYPHMETRICSFLOAT 구조체의 배열입니다. 각 표시 목록은 해당 GLYPHMETRICSFLOAT 구조의 gmfCellIncX 및 gmfCellIncY 멤버로 지정된 변환으로 끝납니다. 번역을 사용하면 glCallLists
예제
다음 코드 예제에서는 wglUseFontOutlines
HDC hdc; // A TrueType font has already been selected
HGLRC hglrc;
GLYPHMETRICSFLOAT agmf[256];
// Make hglrc the calling thread's current rendering context
wglMakeCurrent(hdc, hglrc);
// create display lists for glyphs 0 through 255 with 0.1 extrusion
// and default deviation. The display list numbering starts at 1000
// (it could be any number)
wglUseFontOutlines(hdc, 0, 255, 1000, 0.0f, 0.1f,
WGL_FONT_POLYGONS, &agmf);
// Set up transformation to draw the string
glLoadIdentity();
glTranslate(0.0f, 0.0f, -5.0f)
glScalef(2.0f, 2.0f, 2.0f);
// Display a string
glListBase(1000); // Indicates the start of display lists for the glyphs
// Draw the characters in a string
glCallLists(24, GL_UNSIGNED_BYTE, "Hello Windows OpenGL World.");
메모
wingdi.h 헤더는 wglUseFontOutlines를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wingdi.h |
라이브러리 | Opengl32.lib |
DLL | Opengl32.dll |
참고 항목
GLYPHMETRICSFLOAT
Windows OpenGL
WGL 함수
glListBase
wglUseFontBitmaps