Commit 03c5ab2e authored by Alexandre Julliard's avatar Alexandre Julliard

glu32: Import projection functions from Mesa.

parent 70993531
MODULE = glu32.dll MODULE = glu32.dll
IMPORTLIB = glu32 IMPORTLIB = glu32
IMPORTS = opengl32
C_SRCS = \ C_SRCS = \
glu.c glu.c \
project.c
...@@ -136,7 +136,6 @@ static void (*p_gluEndTrim)( GLUnurbs* nurb ); ...@@ -136,7 +136,6 @@ static void (*p_gluEndTrim)( GLUnurbs* nurb );
static void (*p_gluGetNurbsProperty)( GLUnurbs* nurb, GLenum property, GLfloat* data ); static void (*p_gluGetNurbsProperty)( GLUnurbs* nurb, GLenum property, GLfloat* data );
static void (*p_gluGetTessProperty)( GLUtesselator* tess, GLenum which, GLdouble* data ); static void (*p_gluGetTessProperty)( GLUtesselator* tess, GLenum which, GLdouble* data );
static void (*p_gluLoadSamplingMatrices)( GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view ); static void (*p_gluLoadSamplingMatrices)( GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view );
static void (*p_gluLookAt)( GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ );
static GLUnurbs* (*p_gluNewNurbsRenderer)(void); static GLUnurbs* (*p_gluNewNurbsRenderer)(void);
static GLUquadric* (*p_gluNewQuadric)(void); static GLUquadric* (*p_gluNewQuadric)(void);
static GLUtesselator* (*p_gluNewTess)(void); static GLUtesselator* (*p_gluNewTess)(void);
...@@ -144,11 +143,7 @@ static void (*p_gluNurbsCallback)( GLUnurbs* nurb, GLenum which, _GLUfuncptr Ca ...@@ -144,11 +143,7 @@ static void (*p_gluNurbsCallback)( GLUnurbs* nurb, GLenum which, _GLUfuncptr Ca
static void (*p_gluNurbsCurve)( GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type ); static void (*p_gluNurbsCurve)( GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type );
static void (*p_gluNurbsProperty)( GLUnurbs* nurb, GLenum property, GLfloat value ); static void (*p_gluNurbsProperty)( GLUnurbs* nurb, GLenum property, GLfloat value );
static void (*p_gluNurbsSurface)( GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type ); static void (*p_gluNurbsSurface)( GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type );
static void (*p_gluOrtho2D)( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top );
static void (*p_gluPartialDisk)( GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep ); static void (*p_gluPartialDisk)( GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep );
static void (*p_gluPerspective)( GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar );
static void (*p_gluPickMatrix)( GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport );
static GLint (*p_gluProject)( GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ );
static void (*p_gluPwlCurve)( GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type ); static void (*p_gluPwlCurve)( GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type );
static void (*p_gluQuadricCallback)( GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc ); static void (*p_gluQuadricCallback)( GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc );
static void (*p_gluQuadricDrawStyle)( GLUquadric* quad, GLenum draw ); static void (*p_gluQuadricDrawStyle)( GLUquadric* quad, GLenum draw );
...@@ -165,7 +160,6 @@ static void (*p_gluTessEndPolygon)( GLUtesselator* tess ); ...@@ -165,7 +160,6 @@ static void (*p_gluTessEndPolygon)( GLUtesselator* tess );
static void (*p_gluTessNormal)( GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ ); static void (*p_gluTessNormal)( GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ );
static void (*p_gluTessProperty)( GLUtesselator* tess, GLenum which, GLdouble data ); static void (*p_gluTessProperty)( GLUtesselator* tess, GLenum which, GLdouble data );
static void (*p_gluTessVertex)( GLUtesselator* tess, GLdouble *location, GLvoid* data ); static void (*p_gluTessVertex)( GLUtesselator* tess, GLdouble *location, GLvoid* data );
static GLint (*p_gluUnProject)( GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ );
static void *libglu_handle; static void *libglu_handle;
static INIT_ONCE init_once = INIT_ONCE_STATIC_INIT; static INIT_ONCE init_once = INIT_ONCE_STATIC_INIT;
...@@ -198,66 +192,6 @@ static void *load_glufunc( const char *name ) ...@@ -198,66 +192,6 @@ static void *load_glufunc( const char *name )
/*********************************************************************** /***********************************************************************
* gluLookAt (GLU32.@)
*/
void WINAPI wine_gluLookAt( GLdouble eyex, GLdouble eyey, GLdouble eyez,
GLdouble centerx, GLdouble centery, GLdouble centerz,
GLdouble upx, GLdouble upy, GLdouble upz )
{
if (!LOAD_FUNCPTR( gluLookAt )) return;
p_gluLookAt( eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz );
}
/***********************************************************************
* gluOrtho2D (GLU32.@)
*/
void WINAPI wine_gluOrtho2D( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top )
{
if (!LOAD_FUNCPTR( gluOrtho2D )) return;
p_gluOrtho2D( left, right, bottom, top );
}
/***********************************************************************
* gluPerspective (GLU32.@)
*/
void WINAPI wine_gluPerspective( GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar )
{
if (!LOAD_FUNCPTR( gluPerspective )) return;
p_gluPerspective( fovy, aspect, zNear, zFar );
}
/***********************************************************************
* gluPickMatrix (GLU32.@)
*/
void WINAPI wine_gluPickMatrix( GLdouble x, GLdouble y, GLdouble width, GLdouble height, GLint viewport[4])
{
if (!LOAD_FUNCPTR( gluPickMatrix )) return;
p_gluPickMatrix( x, y, width, height, viewport );
}
/***********************************************************************
* gluProject (GLU32.@)
*/
int WINAPI wine_gluProject( GLdouble objx, GLdouble objy, GLdouble objz, const GLdouble modelMatrix[16],
const GLdouble projMatrix[16], const GLint viewport[4],
GLdouble *winx, GLdouble *winy, GLdouble *winz )
{
if (!LOAD_FUNCPTR( gluProject )) return GLU_FALSE;
return p_gluProject( objx, objy, objz, modelMatrix, projMatrix, viewport, winx, winy, winz );
}
/***********************************************************************
* gluUnProject (GLU32.@)
*/
int WINAPI wine_gluUnProject( GLdouble winx, GLdouble winy, GLdouble winz, const GLdouble modelMatrix[16],
const GLdouble projMatrix[16], const GLint viewport[4],
GLdouble *objx, GLdouble *objy, GLdouble *objz )
{
if (!LOAD_FUNCPTR( gluUnProject )) return GLU_FALSE;
return p_gluUnProject( winx, winy, winz, modelMatrix, projMatrix, viewport, objx, objy, objz );
}
/***********************************************************************
* gluErrorString (GLU32.@) * gluErrorString (GLU32.@)
*/ */
const GLubyte * WINAPI wine_gluErrorString( GLenum errCode ) const GLubyte * WINAPI wine_gluErrorString( GLenum errCode )
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
@ stdcall gluGetString(long) wine_gluGetString @ stdcall gluGetString(long) wine_gluGetString
@ stdcall gluGetTessProperty(ptr long ptr) wine_gluGetTessProperty @ stdcall gluGetTessProperty(ptr long ptr) wine_gluGetTessProperty
@ stdcall gluLoadSamplingMatrices(ptr ptr ptr ptr) wine_gluLoadSamplingMatrices @ stdcall gluLoadSamplingMatrices(ptr ptr ptr ptr) wine_gluLoadSamplingMatrices
@ stdcall gluLookAt(double double double double double double double double double) wine_gluLookAt @ stdcall gluLookAt(double double double double double double double double double)
@ stdcall gluNewNurbsRenderer() wine_gluNewNurbsRenderer @ stdcall gluNewNurbsRenderer() wine_gluNewNurbsRenderer
@ stdcall gluNewQuadric() wine_gluNewQuadric @ stdcall gluNewQuadric() wine_gluNewQuadric
@ stdcall gluNewTess() wine_gluNewTess @ stdcall gluNewTess() wine_gluNewTess
...@@ -29,11 +29,11 @@ ...@@ -29,11 +29,11 @@
@ stdcall gluNurbsCurve(ptr long ptr long ptr long long) wine_gluNurbsCurve @ stdcall gluNurbsCurve(ptr long ptr long ptr long long) wine_gluNurbsCurve
@ stdcall gluNurbsProperty(ptr long long) wine_gluNurbsProperty @ stdcall gluNurbsProperty(ptr long long) wine_gluNurbsProperty
@ stdcall gluNurbsSurface(ptr long ptr long ptr long long ptr long long long) wine_gluNurbsSurface @ stdcall gluNurbsSurface(ptr long ptr long ptr long long ptr long long long) wine_gluNurbsSurface
@ stdcall gluOrtho2D(double double double double) wine_gluOrtho2D @ stdcall gluOrtho2D(double double double double)
@ stdcall gluPartialDisk(ptr double double long long double double) wine_gluPartialDisk @ stdcall gluPartialDisk(ptr double double long long double double) wine_gluPartialDisk
@ stdcall gluPerspective(double double double double) wine_gluPerspective @ stdcall gluPerspective(double double double double)
@ stdcall gluPickMatrix(double double double double ptr) wine_gluPickMatrix @ stdcall gluPickMatrix(double double double double ptr)
@ stdcall gluProject(double double double ptr ptr ptr ptr ptr ptr) wine_gluProject @ stdcall gluProject(double double double ptr ptr ptr ptr ptr ptr)
@ stdcall gluPwlCurve(ptr long ptr long long) wine_gluPwlCurve @ stdcall gluPwlCurve(ptr long ptr long long) wine_gluPwlCurve
@ stdcall gluQuadricCallback(ptr long ptr) wine_gluQuadricCallback @ stdcall gluQuadricCallback(ptr long ptr) wine_gluQuadricCallback
@ stdcall gluQuadricDrawStyle(ptr long) wine_gluQuadricDrawStyle @ stdcall gluQuadricDrawStyle(ptr long) wine_gluQuadricDrawStyle
...@@ -50,4 +50,4 @@ ...@@ -50,4 +50,4 @@
@ stdcall gluTessNormal(ptr double double double) wine_gluTessNormal @ stdcall gluTessNormal(ptr double double double) wine_gluTessNormal
@ stdcall gluTessProperty(ptr long double) wine_gluTessProperty @ stdcall gluTessProperty(ptr long double) wine_gluTessProperty
@ stdcall gluTessVertex(ptr ptr ptr) wine_gluTessVertex @ stdcall gluTessVertex(ptr ptr ptr) wine_gluTessVertex
@ stdcall gluUnProject(double double double ptr ptr ptr ptr ptr ptr) wine_gluUnProject @ stdcall gluUnProject(double double double ptr ptr ptr ptr ptr ptr)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment