[PATCH] opengl32: Apply correct normals to text rendered with wglUseFontOutlines
Sam Edwards
cfsworks at gmail.com
Wed Nov 7 17:11:26 CST 2012
And with this, wglUseFontOutlines should behave correctly, with
extrusion being the only remaining todo.
-------------- next part --------------
>From b01dde0fca20ba9be24ac19798d2197a579b56b8 Mon Sep 17 00:00:00 2001
From: Sam Edwards <CFSworks at gmail.com>
Date: Wed, 7 Nov 2012 16:06:09 -0700
Subject: opengl32: Apply correct normals to text rendered with
wglUseFontOutlines
---
dlls/opengl32/wgl.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c
index fdb94e4..cef5b6a 100644
--- a/dlls/opengl32/wgl.c
+++ b/dlls/opengl32/wgl.c
@@ -1246,6 +1246,7 @@ typedef void (WINAPI *_GLUfuncptr)(void);
static GLUtesselator * (WINAPI *pgluNewTess)(void);
static void (WINAPI *pgluDeleteTess)(GLUtesselator *tess);
+static void (WINAPI *pgluTessNormal)(GLUtesselator *tess, GLdouble x, GLdouble y, GLdouble z);
static void (WINAPI *pgluTessBeginPolygon)(GLUtesselator *tess, void *polygon_data);
static void (WINAPI *pgluTessEndPolygon)(GLUtesselator *tess);
static void (WINAPI *pgluTessCallback)(GLUtesselator *tess, GLenum which, _GLUfuncptr fn);
@@ -1273,6 +1274,7 @@ static HMODULE load_libglu(void)
LOAD_FUNCPTR(gluNewTess);
LOAD_FUNCPTR(gluDeleteTess);
LOAD_FUNCPTR(gluTessBeginContour);
+ LOAD_FUNCPTR(gluTessNormal);
LOAD_FUNCPTR(gluTessBeginPolygon);
LOAD_FUNCPTR(gluTessCallback);
LOAD_FUNCPTR(gluTessEndContour);
@@ -1473,9 +1475,13 @@ static BOOL wglUseFontOutlines_common(HDC hdc,
}
funcs->gl.p_glNewList(listBase++, GL_COMPILE);
- funcs->gl.p_glFrontFace(GL_CW);
+ funcs->gl.p_glFrontFace(GL_CCW);
if(format == WGL_FONT_POLYGONS)
+ {
+ funcs->gl.p_glNormal3d(0.0, 0.0, 1.0);
+ pgluTessNormal(tess, 0, 0, 1);
pgluTessBeginPolygon(tess, NULL);
+ }
while(!vertices)
{
--
1.7.10.4
More information about the wine-patches
mailing list