@@ -1,81 +1,81 @@ | |||
#ifndef __glutf90_h__ | |||
#define __glutf90_h__ | |||
/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ | |||
/* This program is freely distributable without licensing fees | |||
and is provided without guarantee or warrantee expressed or | |||
implied. This program is -not- in the public domain. */ | |||
/* This header provides the binding interface for William Mitchell's | |||
f90gl Fortran 90 GLUT binding. Other GLUT language bindings | |||
can and should use this interace. */ | |||
/* I appreciate the guidance from William Mitchell | |||
(mitchell@cam.nist.gov) in developing this friend interface | |||
for use by the f90gl package. See ../../README.fortran */ | |||
#include <GL/glut.h> | |||
/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ | |||
/* NOTE These values are part of a binary interface for the f90gl Fortran | |||
90 binding and so must NOT changes (additions are allowed). */ | |||
/* GLUTwindow callbacks. */ | |||
#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ | |||
#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ | |||
#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ | |||
#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ | |||
#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ | |||
#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ | |||
#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ | |||
#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ | |||
#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ | |||
#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ | |||
#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ | |||
#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ | |||
#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ | |||
#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ | |||
#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ | |||
#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ | |||
#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ | |||
#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ | |||
#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ | |||
#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ | |||
/* Non-GLUTwindow callbacks. */ | |||
#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ | |||
#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ | |||
#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ | |||
/* GLUT Fortran callback function types. */ | |||
typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); | |||
typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); | |||
/* NOTE the pressed key is int, not unsigned char for Fortran! */ | |||
typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); | |||
typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); | |||
typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); | |||
typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); | |||
typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); | |||
typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); | |||
typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ | |||
typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTidleFCB) (void); | |||
/* Functions that set and return Fortran callback functions. */ | |||
GLUTAPI void* APIENTRY __glutGetFCB(int which); | |||
GLUTAPI void APIENTRY __glutSetFCB(int which, void *func); | |||
#endif /* __glutf90_h__ */ | |||
#ifndef __glutf90_h__ | |||
#define __glutf90_h__ | |||
/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ | |||
/* This program is freely distributable without licensing fees | |||
and is provided without guarantee or warrantee expressed or | |||
implied. This program is -not- in the public domain. */ | |||
/* This header provides the binding interface for William Mitchell's | |||
f90gl Fortran 90 GLUT binding. Other GLUT language bindings | |||
can and should use this interace. */ | |||
/* I appreciate the guidance from William Mitchell | |||
(mitchell@cam.nist.gov) in developing this friend interface | |||
for use by the f90gl package. See ../../README.fortran */ | |||
#include <GL/glut.h> | |||
/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ | |||
/* NOTE These values are part of a binary interface for the f90gl Fortran | |||
90 binding and so must NOT changes (additions are allowed). */ | |||
/* GLUTwindow callbacks. */ | |||
#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ | |||
#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ | |||
#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ | |||
#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ | |||
#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ | |||
#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ | |||
#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ | |||
#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ | |||
#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ | |||
#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ | |||
#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ | |||
#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ | |||
#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ | |||
#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ | |||
#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ | |||
#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ | |||
#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ | |||
#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ | |||
#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ | |||
#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ | |||
/* Non-GLUTwindow callbacks. */ | |||
#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ | |||
#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ | |||
#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ | |||
/* GLUT Fortran callback function types. */ | |||
typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); | |||
typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); | |||
/* NOTE the pressed key is int, not unsigned char for Fortran! */ | |||
typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); | |||
typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); | |||
typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); | |||
typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); | |||
typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); | |||
typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); | |||
typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ | |||
typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); | |||
typedef void (GLUTCALLBACK *GLUTidleFCB) (void); | |||
/* Functions that set and return Fortran callback functions. */ | |||
GLUTAPI void* APIENTRY __glutGetFCB(int which); | |||
GLUTAPI void APIENTRY __glutSetFCB(int which, void *func); | |||
#endif /* __glutf90_h__ */ |
@@ -1,86 +1,86 @@ | |||
# $Id: Makefile.win,v 1.1 2001/09/14 22:19:18 brianp Exp $ | |||
# Mesa 3-D graphics library | |||
# Version: 3.5 | |||
# Copyright (C) 1995-2001 Brian Paul | |||
# Makefile for GLUT-based demo programs for Windows | |||
!include <win32.mak> | |||
##### MACROS ##### | |||
TOP = .. | |||
INCDIR = ..\include | |||
LIBDIR = ..\lib | |||
PROGS = anisotropic \ | |||
bounce \ | |||
clearspd \ | |||
cubemap \ | |||
drawpix \ | |||
fire \ | |||
gamma \ | |||
gears \ | |||
geartrain \ | |||
glinfo \ | |||
gloss \ | |||
gltestperf \ | |||
glutfx \ | |||
isosurf \ | |||
ipers \ | |||
lodbias \ | |||
morph3d \ | |||
multiarb \ | |||
occlude \ | |||
osdemo \ | |||
paltex \ | |||
pixeltex \ | |||
pointblast \ | |||
ray \ | |||
readpix \ | |||
reflect \ | |||
renormal \ | |||
shadowtex \ | |||
spectex \ | |||
stex3d \ | |||
teapot \ | |||
terrain \ | |||
tessdemo \ | |||
texcyl \ | |||
texdown \ | |||
texenv \ | |||
texobj \ | |||
trispd \ | |||
tunnel \ | |||
tunnel2 \ | |||
winpos | |||
SRCS = | |||
OSMESASRCS = osdemo.c | |||
!include "../mesawin32.mak" | |||
##### TARGETS ##### | |||
clean:: | |||
realclean:: | |||
targets: readtex.c readtex.h $(PROGS) | |||
# remove comments when we get non-osmesa pgm working | |||
#$(EXES) : $*.obj $(DEPLIBS) | |||
# echo $@ | |||
# $(link) -out:$@ $** $(LIBS) | |||
$(OSMESAEXES) : $*.obj $(DEPLIBS) | |||
echo $@ | |||
$(link) -out:$@ $** $(LIBS) $(EXTRALIBS) | |||
readtex.c: | |||
@copy ../util/readtex.c . | |||
readtex.h: | |||
@copy ../util/readtex.c . | |||
# $Id: Makefile.win,v 1.2 2001/09/18 16:39:38 kschultz Exp $ | |||
# Mesa 3-D graphics library | |||
# Version: 3.5 | |||
# Copyright (C) 1995-2001 Brian Paul | |||
# Makefile for GLUT-based demo programs for Windows | |||
!include <win32.mak> | |||
##### MACROS ##### | |||
TOP = .. | |||
INCDIR = ..\include | |||
LIBDIR = ..\lib | |||
PROGS = anisotropic \ | |||
bounce \ | |||
clearspd \ | |||
cubemap \ | |||
drawpix \ | |||
fire \ | |||
gamma \ | |||
gears \ | |||
geartrain \ | |||
glinfo \ | |||
gloss \ | |||
gltestperf \ | |||
glutfx \ | |||
isosurf \ | |||
ipers \ | |||
lodbias \ | |||
morph3d \ | |||
multiarb \ | |||
occlude \ | |||
osdemo \ | |||
paltex \ | |||
pixeltex \ | |||
pointblast \ | |||
ray \ | |||
readpix \ | |||
reflect \ | |||
renormal \ | |||
shadowtex \ | |||
spectex \ | |||
stex3d \ | |||
teapot \ | |||
terrain \ | |||
tessdemo \ | |||
texcyl \ | |||
texdown \ | |||
texenv \ | |||
texobj \ | |||
trispd \ | |||
tunnel \ | |||
tunnel2 \ | |||
winpos | |||
SRCS = | |||
OSMESASRCS = osdemo.c | |||
!include "../mesawin32.mak" | |||
##### TARGETS ##### | |||
clean:: | |||
realclean:: | |||
targets: readtex.c readtex.h $(PROGS) | |||
# remove comments when we get non-osmesa pgm working | |||
#$(EXES) : $*.obj $(DEPLIBS) | |||
# echo $@ | |||
# $(link) -out:$@ $** $(LIBS) | |||
$(OSMESAEXES) : $*.obj $(DEPLIBS) | |||
echo $@ | |||
$(link) -out:$@ $** $(LIBS) $(EXTRALIBS) | |||
readtex.c: | |||
@copy ../util/readtex.c . | |||
readtex.h: | |||
@copy ../util/readtex.c . | |||
@@ -1,156 +1,156 @@ | |||
# Makefile for Win32 | |||
# | |||
# Sept 12, 2001 | |||
# Note: The nurbs code is not being built at this time. | |||
# If you want to work on it, uncomment the definitions | |||
# noted below to try to compile the sources. | |||
# There are numerous problems, some of which may be solved | |||
# by setting some #defines. | |||
# | |||
!include <win32.mak> | |||
.SUFFIXES : .cc | |||
TOP = .. | |||
GLU_SRCS_CC = \ | |||
libnurbs\interface\bezierEval.cc \ | |||
libnurbs\interface\bezierPatch.cc \ | |||
libnurbs\interface\bezierPatchMesh.cc \ | |||
libnurbs\interface\glcurveval.cc \ | |||
libnurbs\interface\glinterface.cc \ | |||
libnurbs\interface\glrenderer.cc \ | |||
libnurbs\interface\glsurfeval.cc \ | |||
libnurbs\interface\incurveeval.cc \ | |||
libnurbs\interface\insurfeval.cc \ | |||
libnurbs\internals\arc.cc \ | |||
libnurbs\internals\arcsorter.cc \ | |||
libnurbs\internals\arctess.cc \ | |||
libnurbs\internals\backend.cc \ | |||
libnurbs\internals\basiccrveval.cc \ | |||
libnurbs\internals\basicsurfeval.cc \ | |||
libnurbs\internals\bin.cc \ | |||
libnurbs\internals\bufpool.cc \ | |||
libnurbs\internals\cachingeval.cc \ | |||
libnurbs\internals\ccw.cc \ | |||
libnurbs\internals\coveandtiler.cc \ | |||
libnurbs\internals\curve.cc \ | |||
libnurbs\internals\curvelist.cc \ | |||
libnurbs\internals\curvesub.cc \ | |||
libnurbs\internals\dataTransform.cc \ | |||
libnurbs\internals\displaylist.cc \ | |||
libnurbs\internals\flist.cc \ | |||
libnurbs\internals\flistsorter.cc \ | |||
libnurbs\internals\hull.cc \ | |||
libnurbs\internals\intersect.cc \ | |||
libnurbs\internals\knotvector.cc \ | |||
libnurbs\internals\mapdesc.cc \ | |||
libnurbs\internals\mapdescv.cc \ | |||
libnurbs\internals\maplist.cc \ | |||
libnurbs\internals\mesher.cc \ | |||
libnurbs\internals\monoTriangulationBackend.cc \ | |||
libnurbs\internals\monotonizer.cc \ | |||
libnurbs\internals\mycode.cc \ | |||
libnurbs\internals\nurbsinterfac.cc \ | |||
libnurbs\internals\nurbstess.cc \ | |||
libnurbs\internals\patch.cc \ | |||
libnurbs\internals\patchlist.cc \ | |||
libnurbs\internals\quilt.cc \ | |||
libnurbs\internals\reader.cc \ | |||
libnurbs\internals\renderhints.cc \ | |||
libnurbs\internals\slicer.cc \ | |||
libnurbs\internals\sorter.cc \ | |||
libnurbs\internals\splitarcs.cc \ | |||
libnurbs\internals\subdivider.cc \ | |||
libnurbs\internals\tobezier.cc \ | |||
libnurbs\internals\trimline.cc \ | |||
libnurbs\internals\trimregion.cc \ | |||
libnurbs\internals\trimvertpool.cc \ | |||
libnurbs\internals\uarray.cc \ | |||
libnurbs\internals\varray.cc \ | |||
libnurbs\nurbtess\directedLine.cc \ | |||
libnurbs\nurbtess\gridWrap.cc \ | |||
libnurbs\nurbtess\monoChain.cc \ | |||
libnurbs\nurbtess\monoPolyPart.cc \ | |||
libnurbs\nurbtess\monoTriangulation.cc \ | |||
libnurbs\nurbtess\partitionX.cc \ | |||
libnurbs\nurbtess\partitionY.cc \ | |||
libnurbs\nurbtess\polyDBG.cc \ | |||
libnurbs\nurbtess\polyUtil.cc \ | |||
libnurbs\nurbtess\primitiveStream.cc \ | |||
libnurbs\nurbtess\quicksort.cc \ | |||
libnurbs\nurbtess\rectBlock.cc \ | |||
libnurbs\nurbtess\sampleComp.cc \ | |||
libnurbs\nurbtess\sampleCompBot.cc \ | |||
libnurbs\nurbtess\sampleCompRight.cc \ | |||
libnurbs\nurbtess\sampleCompTop.cc \ | |||
libnurbs\nurbtess\sampleMonoPoly.cc \ | |||
libnurbs\nurbtess\sampledLine.cc \ | |||
libnurbs\nurbtess\searchTree.cc | |||
GLU_SRCS = \ | |||
libtess\dict.c \ | |||
libtess\geom.c \ | |||
libtess\memalloc.c \ | |||
libtess\mesh.c \ | |||
libtess\normal.c \ | |||
libtess\priorityq.c \ | |||
libtess\render.c \ | |||
libtess\sweep.c \ | |||
libtess\tess.c \ | |||
libtess\tessmono.c \ | |||
libutil\error.c \ | |||
libutil\glue.c \ | |||
libutil\mipmap.c \ | |||
libutil\project.c \ | |||
libutil\quad.c \ | |||
libutil\registry.c | |||
SRCS = $(GLU_SRCS) | |||
GLUDLL = glu32.dll | |||
all : gludll install | |||
!include "$(TOP)/mesawin32.mak" | |||
gludll : $(GLUDLL) | |||
CFLAGS = $(cvarsdll) $(CFLAGS) -D_OPENGL32_ -Iinclude -DBUILD_GL32 | |||
LFLAGS = $(dlllflags) $(LFLAGS) | |||
OBJS = $(GLU_SRCS:.c=.obj) | |||
LIBS = ../lib/opengl32.lib winmm.lib $(guilibsdll) | |||
# Uncomment these definitions to try to compile the NURBS code. | |||
#OBJS = $(GLU_SRCS_CC:.cc=.obj) $(GLU_SRCS:.c=.obj) | |||
#NURBSINC = -Ilibnurbs\interface -Ilibnurbs\internals -Ilibnurbs\nurbtess | |||
#CFLAGS = $(CFLAGS) $(NURBSINC) | |||
$(GLUDLL) : $(OBJS) glu.def | |||
$(link) $(LFLAGS) -out:$(GLUDLL) -def:glu.def $(OBJS) $(LIBS) | |||
install : $(GLUDLL) | |||
@echo "copying Mesa GLU dynamic link library to system directory..." | |||
-copy $(GLUDLL) $(TOP)\lib | |||
@echo "copying Mesa GLU import library to library directory..." | |||
-copy $(GLU) $(TOP)\lib | |||
clean :: | |||
@del /f libtess\*.obj libutil\*.obj | |||
@del /f libnurbs\interface\*.obj libnurbs\internals\*.obj | |||
@del /f libnurbs\nurbtess\*.obj | |||
# override default inference rule with one that writes the object to | |||
# the correct subdir. | |||
.c.obj : | |||
$(cc) $(CFLAGS) -I. $< /Fo$*.obj | |||
# /TP is needed for C++ files because MS compiler | |||
# does not recognize .cc as a C++ file. | |||
.cc.obj : | |||
$(cc) $(CFLAGS) -I. $< /TP /Fo$*.obj | |||
# Makefile for Win32 | |||
# | |||
# Sept 12, 2001 | |||
# Note: The nurbs code is not being built at this time. | |||
# If you want to work on it, uncomment the definitions | |||
# noted below to try to compile the sources. | |||
# There are numerous problems, some of which may be solved | |||
# by setting some #defines. | |||
# | |||
!include <win32.mak> | |||
.SUFFIXES : .cc | |||
TOP = .. | |||
GLU_SRCS_CC = \ | |||
libnurbs\interface\bezierEval.cc \ | |||
libnurbs\interface\bezierPatch.cc \ | |||
libnurbs\interface\bezierPatchMesh.cc \ | |||
libnurbs\interface\glcurveval.cc \ | |||
libnurbs\interface\glinterface.cc \ | |||
libnurbs\interface\glrenderer.cc \ | |||
libnurbs\interface\glsurfeval.cc \ | |||
libnurbs\interface\incurveeval.cc \ | |||
libnurbs\interface\insurfeval.cc \ | |||
libnurbs\internals\arc.cc \ | |||
libnurbs\internals\arcsorter.cc \ | |||
libnurbs\internals\arctess.cc \ | |||
libnurbs\internals\backend.cc \ | |||
libnurbs\internals\basiccrveval.cc \ | |||
libnurbs\internals\basicsurfeval.cc \ | |||
libnurbs\internals\bin.cc \ | |||
libnurbs\internals\bufpool.cc \ | |||
libnurbs\internals\cachingeval.cc \ | |||
libnurbs\internals\ccw.cc \ | |||
libnurbs\internals\coveandtiler.cc \ | |||
libnurbs\internals\curve.cc \ | |||
libnurbs\internals\curvelist.cc \ | |||
libnurbs\internals\curvesub.cc \ | |||
libnurbs\internals\dataTransform.cc \ | |||
libnurbs\internals\displaylist.cc \ | |||
libnurbs\internals\flist.cc \ | |||
libnurbs\internals\flistsorter.cc \ | |||
libnurbs\internals\hull.cc \ | |||
libnurbs\internals\intersect.cc \ | |||
libnurbs\internals\knotvector.cc \ | |||
libnurbs\internals\mapdesc.cc \ | |||
libnurbs\internals\mapdescv.cc \ | |||
libnurbs\internals\maplist.cc \ | |||
libnurbs\internals\mesher.cc \ | |||
libnurbs\internals\monoTriangulationBackend.cc \ | |||
libnurbs\internals\monotonizer.cc \ | |||
libnurbs\internals\mycode.cc \ | |||
libnurbs\internals\nurbsinterfac.cc \ | |||
libnurbs\internals\nurbstess.cc \ | |||
libnurbs\internals\patch.cc \ | |||
libnurbs\internals\patchlist.cc \ | |||
libnurbs\internals\quilt.cc \ | |||
libnurbs\internals\reader.cc \ | |||
libnurbs\internals\renderhints.cc \ | |||
libnurbs\internals\slicer.cc \ | |||
libnurbs\internals\sorter.cc \ | |||
libnurbs\internals\splitarcs.cc \ | |||
libnurbs\internals\subdivider.cc \ | |||
libnurbs\internals\tobezier.cc \ | |||
libnurbs\internals\trimline.cc \ | |||
libnurbs\internals\trimregion.cc \ | |||
libnurbs\internals\trimvertpool.cc \ | |||
libnurbs\internals\uarray.cc \ | |||
libnurbs\internals\varray.cc \ | |||
libnurbs\nurbtess\directedLine.cc \ | |||
libnurbs\nurbtess\gridWrap.cc \ | |||
libnurbs\nurbtess\monoChain.cc \ | |||
libnurbs\nurbtess\monoPolyPart.cc \ | |||
libnurbs\nurbtess\monoTriangulation.cc \ | |||
libnurbs\nurbtess\partitionX.cc \ | |||
libnurbs\nurbtess\partitionY.cc \ | |||
libnurbs\nurbtess\polyDBG.cc \ | |||
libnurbs\nurbtess\polyUtil.cc \ | |||
libnurbs\nurbtess\primitiveStream.cc \ | |||
libnurbs\nurbtess\quicksort.cc \ | |||
libnurbs\nurbtess\rectBlock.cc \ | |||
libnurbs\nurbtess\sampleComp.cc \ | |||
libnurbs\nurbtess\sampleCompBot.cc \ | |||
libnurbs\nurbtess\sampleCompRight.cc \ | |||
libnurbs\nurbtess\sampleCompTop.cc \ | |||
libnurbs\nurbtess\sampleMonoPoly.cc \ | |||
libnurbs\nurbtess\sampledLine.cc \ | |||
libnurbs\nurbtess\searchTree.cc | |||
GLU_SRCS = \ | |||
libtess\dict.c \ | |||
libtess\geom.c \ | |||
libtess\memalloc.c \ | |||
libtess\mesh.c \ | |||
libtess\normal.c \ | |||
libtess\priorityq.c \ | |||
libtess\render.c \ | |||
libtess\sweep.c \ | |||
libtess\tess.c \ | |||
libtess\tessmono.c \ | |||
libutil\error.c \ | |||
libutil\glue.c \ | |||
libutil\mipmap.c \ | |||
libutil\project.c \ | |||
libutil\quad.c \ | |||
libutil\registry.c | |||
SRCS = $(GLU_SRCS) | |||
GLUDLL = glu32.dll | |||
all : gludll install | |||
!include "$(TOP)/mesawin32.mak" | |||
gludll : $(GLUDLL) | |||
CFLAGS = $(cvarsdll) $(CFLAGS) -D_OPENGL32_ -Iinclude -DBUILD_GL32 | |||
LFLAGS = $(dlllflags) $(LFLAGS) | |||
OBJS = $(GLU_SRCS:.c=.obj) | |||
LIBS = ../lib/opengl32.lib winmm.lib $(guilibsdll) | |||
# Uncomment these definitions to try to compile the NURBS code. | |||
#OBJS = $(GLU_SRCS_CC:.cc=.obj) $(GLU_SRCS:.c=.obj) | |||
#NURBSINC = -Ilibnurbs\interface -Ilibnurbs\internals -Ilibnurbs\nurbtess | |||
#CFLAGS = $(CFLAGS) $(NURBSINC) | |||
$(GLUDLL) : $(OBJS) glu.def | |||
$(link) $(LFLAGS) -out:$(GLUDLL) -def:glu.def $(OBJS) $(LIBS) | |||
install : $(GLUDLL) | |||
@echo "copying Mesa GLU dynamic link library to system directory..." | |||
-copy $(GLUDLL) $(TOP)\lib | |||
@echo "copying Mesa GLU import library to library directory..." | |||
-copy $(GLU) $(TOP)\lib | |||
clean :: | |||
@del /f libtess\*.obj libutil\*.obj | |||
@del /f libnurbs\interface\*.obj libnurbs\internals\*.obj | |||
@del /f libnurbs\nurbtess\*.obj | |||
# override default inference rule with one that writes the object to | |||
# the correct subdir. | |||
.c.obj : | |||
$(cc) $(CFLAGS) -I. $< /Fo$*.obj | |||
# /TP is needed for C++ files because MS compiler | |||
# does not recognize .cc as a C++ file. | |||
.cc.obj : | |||
$(cc) $(CFLAGS) -I. $< /TP /Fo$*.obj |
@@ -1,381 +1,381 @@ | |||
/* | |||
** License Applicability. Except to the extent portions of this file are | |||
** made subject to an alternative license as permitted in the SGI Free | |||
** Software License B, Version 1.1 (the "License"), the contents of this | |||
** file are subject only to the provisions of the License. You may not use | |||
** this file except in compliance with the License. You may obtain a copy | |||
** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 | |||
** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: | |||
** | |||
** http://oss.sgi.com/projects/FreeB | |||
** | |||
** Note that, as provided in the License, the Software is distributed on an | |||
** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS | |||
** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND | |||
** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A | |||
** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. | |||
** | |||
** Original Code. The Original Code is: OpenGL Sample Implementation, | |||
** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, | |||
** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. | |||
** Copyright in any portions created by third parties is as indicated | |||
** elsewhere herein. All Rights Reserved. | |||
** | |||
** Additional Notice Provisions: The application programming interfaces | |||
** established by SGI in conjunction with the Original Code are The | |||
** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released | |||
** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version | |||
** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X | |||
** Window System(R) (Version 1.3), released October 19, 1998. This software | |||
** was created using the OpenGL(R) version 1.2.1 Sample Implementation | |||
** published by SGI, but has not been independently verified as being | |||
** compliant with the OpenGL(R) version 1.2.1 Specification. | |||
** | |||
** $Date: 2001/09/14 22:19:19 $ $Revision: 1.3 $ | |||
** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libutil/project.c,v 1.3 2001/09/14 22:19:19 brianp Exp $ | |||
*/ | |||
#include "gluos.h" | |||
#include <math.h> | |||
#include <GL/gl.h> | |||
#include <GL/glu.h> | |||
#include "gluint.h" | |||
/* | |||
** Make m an identity matrix | |||
*/ | |||
static void __gluMakeIdentityd(GLdouble m[16]) | |||
{ | |||
m[0+4*0] = 1; m[0+4*1] = 0; m[0+4*2] = 0; m[0+4*3] = 0; | |||
m[1+4*0] = 0; m[1+4*1] = 1; m[1+4*2] = 0; m[1+4*3] = 0; | |||
m[2+4*0] = 0; m[2+4*1] = 0; m[2+4*2] = 1; m[2+4*3] = 0; | |||
m[3+4*0] = 0; m[3+4*1] = 0; m[3+4*2] = 0; m[3+4*3] = 1; | |||
} | |||
static void __gluMakeIdentityf(GLfloat m[16]) | |||
{ | |||
m[0+4*0] = 1; m[0+4*1] = 0; m[0+4*2] = 0; m[0+4*3] = 0; | |||
m[1+4*0] = 0; m[1+4*1] = 1; m[1+4*2] = 0; m[1+4*3] = 0; | |||
m[2+4*0] = 0; m[2+4*1] = 0; m[2+4*2] = 1; m[2+4*3] = 0; | |||
m[3+4*0] = 0; m[3+4*1] = 0; m[3+4*2] = 0; m[3+4*3] = 1; | |||
} | |||
void GLAPIENTRY | |||
gluOrtho2D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top) | |||
{ | |||
glOrtho(left, right, bottom, top, -1, 1); | |||
} | |||
#define __glPi 3.14159265358979323846 | |||
void GLAPIENTRY | |||
gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar) | |||
{ | |||
GLdouble m[4][4]; | |||
double sine, cotangent, deltaZ; | |||
double radians = fovy / 2 * __glPi / 180; | |||
deltaZ = zFar - zNear; | |||
sine = sin(radians); | |||
if ((deltaZ == 0) || (sine == 0) || (aspect == 0)) { | |||
return; | |||
} | |||
cotangent = COS(radians) / sine; | |||
__gluMakeIdentityd(&m[0][0]); | |||
m[0][0] = cotangent / aspect; | |||
m[1][1] = cotangent; | |||
m[2][2] = -(zFar + zNear) / deltaZ; | |||
m[2][3] = -1; | |||
m[3][2] = -2 * zNear * zFar / deltaZ; | |||
m[3][3] = 0; | |||
glMultMatrixd(&m[0][0]); | |||
} | |||
static void normalize(float v[3]) | |||
{ | |||
float r; | |||
r = sqrt( v[0]*v[0] + v[1]*v[1] + v[2]*v[2] ); | |||
if (r == 0.0) return; | |||
v[0] /= r; | |||
v[1] /= r; | |||
v[2] /= r; | |||
} | |||
static void cross(float v1[3], float v2[3], float result[3]) | |||
{ | |||
result[0] = v1[1]*v2[2] - v1[2]*v2[1]; | |||
result[1] = v1[2]*v2[0] - v1[0]*v2[2]; | |||
result[2] = v1[0]*v2[1] - v1[1]*v2[0]; | |||
} | |||
void GLAPIENTRY | |||
gluLookAt(GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx, | |||
GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, | |||
GLdouble upz) | |||
{ | |||
int i; | |||
float forward[3], side[3], up[3]; | |||
GLfloat m[4][4]; | |||
forward[0] = centerx - eyex; | |||
forward[1] = centery - eyey; | |||
forward[2] = centerz - eyez; | |||
up[0] = upx; | |||
up[1] = upy; | |||
up[2] = upz; | |||
normalize(forward); | |||
/* Side = forward x up */ | |||
cross(forward, up, side); | |||
normalize(side); | |||
/* Recompute up as: up = side x forward */ | |||
cross(side, forward, up); | |||
__gluMakeIdentityf(&m[0][0]); | |||
m[0][0] = side[0]; | |||
m[1][0] = side[1]; | |||
m[2][0] = side[2]; | |||
m[0][1] = up[0]; | |||
m[1][1] = up[1]; | |||
m[2][1] = up[2]; | |||
m[0][2] = -forward[0]; | |||
m[1][2] = -forward[1]; | |||
m[2][2] = -forward[2]; | |||
glMultMatrixf(&m[0][0]); | |||
glTranslated(-eyex, -eyey, -eyez); | |||
} | |||
static void __gluMultMatrixVecd(const GLdouble matrix[16], const GLdouble in[4], | |||
GLdouble out[4]) | |||
{ | |||
int i; | |||
for (i=0; i<4; i++) { | |||
out[i] = | |||
in[0] * matrix[0*4+i] + | |||
in[1] * matrix[1*4+i] + | |||
in[2] * matrix[2*4+i] + | |||
in[3] * matrix[3*4+i]; | |||
} | |||
} | |||
/* | |||
** inverse = invert(src) | |||
*/ | |||
static int __gluInvertMatrixd(const GLdouble src[16], GLdouble inverse[16]) | |||
{ | |||
int i, j, k, swap; | |||
double t; | |||
GLdouble temp[4][4]; | |||
for (i=0; i<4; i++) { | |||
for (j=0; j<4; j++) { | |||
temp[i][j] = src[i*4+j]; | |||
} | |||
} | |||
__gluMakeIdentityd(inverse); | |||
for (i = 0; i < 4; i++) { | |||
/* | |||
** Look for largest element in column | |||
*/ | |||
swap = i; | |||
for (j = i + 1; j < 4; j++) { | |||
if (fabs(temp[j][i]) > fabs(temp[i][i])) { | |||
swap = j; | |||
} | |||
} | |||
if (swap != i) { | |||
/* | |||
** Swap rows. | |||
*/ | |||
for (k = 0; k < 4; k++) { | |||
t = temp[i][k]; | |||
temp[i][k] = temp[swap][k]; | |||
temp[swap][k] = t; | |||
t = inverse[i*4+k]; | |||
inverse[i*4+k] = inverse[swap*4+k]; | |||
inverse[swap*4+k] = t; | |||
} | |||
} | |||
if (temp[i][i] == 0) { | |||
/* | |||
** No non-zero pivot. The matrix is singular, which shouldn't | |||
** happen. This means the user gave us a bad matrix. | |||
*/ | |||
return GL_FALSE; | |||
} | |||
t = temp[i][i]; | |||
for (k = 0; k < 4; k++) { | |||
temp[i][k] /= t; | |||
inverse[i*4+k] /= t; | |||
} | |||
for (j = 0; j < 4; j++) { | |||
if (j != i) { | |||
t = temp[j][i]; | |||
for (k = 0; k < 4; k++) { | |||
temp[j][k] -= temp[i][k]*t; | |||
inverse[j*4+k] -= inverse[i*4+k]*t; | |||
} | |||
} | |||
} | |||
} | |||
return GL_TRUE; | |||
} | |||
static void __gluMultMatricesd(const GLdouble a[16], const GLdouble b[16], | |||
GLdouble r[16]) | |||
{ | |||
int i, j; | |||
for (i = 0; i < 4; i++) { | |||
for (j = 0; j < 4; j++) { | |||
r[i*4+j] = | |||
a[i*4+0]*b[0*4+j] + | |||
a[i*4+1]*b[1*4+j] + | |||
a[i*4+2]*b[2*4+j] + | |||
a[i*4+3]*b[3*4+j]; | |||
} | |||
} | |||
} | |||
GLint GLAPIENTRY | |||
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) | |||
{ | |||
double in[4]; | |||
double out[4]; | |||
in[0]=objx; | |||
in[1]=objy; | |||
in[2]=objz; | |||
in[3]=1.0; | |||
__gluMultMatrixVecd(modelMatrix, in, out); | |||
__gluMultMatrixVecd(projMatrix, out, in); | |||
if (in[3] == 0.0) return(GL_FALSE); | |||
in[0] /= in[3]; | |||
in[1] /= in[3]; | |||
in[2] /= in[3]; | |||
/* Map x, y and z to range 0-1 */ | |||
in[0] = in[0] * 0.5 + 0.5; | |||
in[1] = in[1] * 0.5 + 0.5; | |||
in[2] = in[2] * 0.5 + 0.5; | |||
/* Map x,y to viewport */ | |||
in[0] = in[0] * viewport[2] + viewport[0]; | |||
in[1] = in[1] * viewport[3] + viewport[1]; | |||
*winx=in[0]; | |||
*winy=in[1]; | |||
*winz=in[2]; | |||
return(GL_TRUE); | |||
} | |||
GLint GLAPIENTRY | |||
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) | |||
{ | |||
double finalMatrix[16]; | |||
double in[4]; | |||
double out[4]; | |||
__gluMultMatricesd(modelMatrix, projMatrix, finalMatrix); | |||
if (!__gluInvertMatrixd(finalMatrix, finalMatrix)) return(GL_FALSE); | |||
in[0]=winx; | |||
in[1]=winy; | |||
in[2]=winz; | |||
in[3]=1.0; | |||
/* Map x and y from window coordinates */ | |||
in[0] = (in[0] - viewport[0]) / viewport[2]; | |||
in[1] = (in[1] - viewport[1]) / viewport[3]; | |||
/* Map to range -1 to 1 */ | |||
in[0] = in[0] * 2 - 1; | |||
in[1] = in[1] * 2 - 1; | |||
in[2] = in[2] * 2 - 1; | |||
__gluMultMatrixVecd(finalMatrix, in, out); | |||
if (out[3] == 0.0) return(GL_FALSE); | |||
out[0] /= out[3]; | |||
out[1] /= out[3]; | |||
out[2] /= out[3]; | |||
*objx = out[0]; | |||
*objy = out[1]; | |||
*objz = out[2]; | |||
return(GL_TRUE); | |||
} | |||
GLint GLAPIENTRY | |||
gluUnProject4(GLdouble winx, GLdouble winy, GLdouble winz, GLdouble clipw, | |||
const GLdouble modelMatrix[16], | |||
const GLdouble projMatrix[16], | |||
const GLint viewport[4], | |||
GLclampd nearVal, GLclampd farVal, | |||
GLdouble *objx, GLdouble *objy, GLdouble *objz, | |||
GLdouble *objw) | |||
{ | |||
double finalMatrix[16]; | |||
double in[4]; | |||
double out[4]; | |||
__gluMultMatricesd(modelMatrix, projMatrix, finalMatrix); | |||
if (!__gluInvertMatrixd(finalMatrix, finalMatrix)) return(GL_FALSE); | |||
in[0]=winx; | |||
in[1]=winy; | |||
in[2]=winz; | |||
in[3]=clipw; | |||
/* Map x and y from window coordinates */ | |||
in[0] = (in[0] - viewport[0]) / viewport[2]; | |||
in[1] = (in[1] - viewport[1]) / viewport[3]; | |||
in[2] = (in[2] - nearVal) / (farVal - nearVal); | |||
/* Map to range -1 to 1 */ | |||
in[0] = in[0] * 2 - 1; | |||
in[1] = in[1] * 2 - 1; | |||
in[2] = in[2] * 2 - 1; | |||
__gluMultMatrixVecd(finalMatrix, in, out); | |||
if (out[3] == 0.0) return(GL_FALSE); | |||
*objx = out[0]; | |||
*objy = out[1]; | |||
*objz = out[2]; | |||
*objw = out[3]; | |||
return(GL_TRUE); | |||
} | |||
void GLAPIENTRY | |||
gluPickMatrix(GLdouble x, GLdouble y, GLdouble deltax, GLdouble deltay, | |||
GLint viewport[4]) | |||
{ | |||
if (deltax <= 0 || deltay <= 0) { | |||
return; | |||
} | |||
/* Translate and scale the picked region to the entire window */ | |||
glTranslatef((viewport[2] - 2 * (x - viewport[0])) / deltax, | |||
(viewport[3] - 2 * (y - viewport[1])) / deltay, 0); | |||
glScalef(viewport[2] / deltax, viewport[3] / deltay, 1.0); | |||
} | |||
/* | |||
** License Applicability. Except to the extent portions of this file are | |||
** made subject to an alternative license as permitted in the SGI Free | |||
** Software License B, Version 1.1 (the "License"), the contents of this | |||
** file are subject only to the provisions of the License. You may not use | |||
** this file except in compliance with the License. You may obtain a copy | |||
** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 | |||
** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: | |||
** | |||
** http://oss.sgi.com/projects/FreeB | |||
** | |||
** Note that, as provided in the License, the Software is distributed on an | |||
** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS | |||
** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND | |||
** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A | |||
** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. | |||
** | |||
** Original Code. The Original Code is: OpenGL Sample Implementation, | |||
** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, | |||
** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. | |||
** Copyright in any portions created by third parties is as indicated | |||
** elsewhere herein. All Rights Reserved. | |||
** | |||
** Additional Notice Provisions: The application programming interfaces | |||
** established by SGI in conjunction with the Original Code are The | |||
** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released | |||
** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version | |||
** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X | |||
** Window System(R) (Version 1.3), released October 19, 1998. This software | |||
** was created using the OpenGL(R) version 1.2.1 Sample Implementation | |||
** published by SGI, but has not been independently verified as being | |||
** compliant with the OpenGL(R) version 1.2.1 Specification. | |||
** | |||
** $Date: 2001/09/18 16:39:38 $ $Revision: 1.4 $ | |||
** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libutil/project.c,v 1.4 2001/09/18 16:39:38 kschultz Exp $ | |||
*/ | |||
#include "gluos.h" | |||
#include <math.h> | |||
#include <GL/gl.h> | |||
#include <GL/glu.h> | |||
#include "gluint.h" | |||
/* | |||
** Make m an identity matrix | |||
*/ | |||
static void __gluMakeIdentityd(GLdouble m[16]) | |||
{ | |||
m[0+4*0] = 1; m[0+4*1] = 0; m[0+4*2] = 0; m[0+4*3] = 0; | |||
m[1+4*0] = 0; m[1+4*1] = 1; m[1+4*2] = 0; m[1+4*3] = 0; | |||
m[2+4*0] = 0; m[2+4*1] = 0; m[2+4*2] = 1; m[2+4*3] = 0; | |||
m[3+4*0] = 0; m[3+4*1] = 0; m[3+4*2] = 0; m[3+4*3] = 1; | |||
} | |||
static void __gluMakeIdentityf(GLfloat m[16]) | |||
{ | |||
m[0+4*0] = 1; m[0+4*1] = 0; m[0+4*2] = 0; m[0+4*3] = 0; | |||
m[1+4*0] = 0; m[1+4*1] = 1; m[1+4*2] = 0; m[1+4*3] = 0; | |||
m[2+4*0] = 0; m[2+4*1] = 0; m[2+4*2] = 1; m[2+4*3] = 0; | |||
m[3+4*0] = 0; m[3+4*1] = 0; m[3+4*2] = 0; m[3+4*3] = 1; | |||
} | |||
void GLAPIENTRY | |||
gluOrtho2D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top) | |||
{ | |||
glOrtho(left, right, bottom, top, -1, 1); | |||
} | |||
#define __glPi 3.14159265358979323846 | |||
void GLAPIENTRY | |||
gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar) | |||
{ | |||
GLdouble m[4][4]; | |||
double sine, cotangent, deltaZ; | |||
double radians = fovy / 2 * __glPi / 180; | |||
deltaZ = zFar - zNear; | |||
sine = sin(radians); | |||
if ((deltaZ == 0) || (sine == 0) || (aspect == 0)) { | |||
return; | |||
} | |||
cotangent = COS(radians) / sine; | |||
__gluMakeIdentityd(&m[0][0]); | |||
m[0][0] = cotangent / aspect; | |||
m[1][1] = cotangent; | |||
m[2][2] = -(zFar + zNear) / deltaZ; | |||
m[2][3] = -1; | |||
m[3][2] = -2 * zNear * zFar / deltaZ; | |||
m[3][3] = 0; | |||
glMultMatrixd(&m[0][0]); | |||
} | |||
static void normalize(float v[3]) | |||
{ | |||
float r; | |||
r = sqrt( v[0]*v[0] + v[1]*v[1] + v[2]*v[2] ); | |||
if (r == 0.0) return; | |||
v[0] /= r; | |||
v[1] /= r; | |||
v[2] /= r; | |||
} | |||
static void cross(float v1[3], float v2[3], float result[3]) | |||
{ | |||
result[0] = v1[1]*v2[2] - v1[2]*v2[1]; | |||
result[1] = v1[2]*v2[0] - v1[0]*v2[2]; | |||
result[2] = v1[0]*v2[1] - v1[1]*v2[0]; | |||
} | |||
void GLAPIENTRY | |||
gluLookAt(GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx, | |||
GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, | |||
GLdouble upz) | |||
{ | |||
int i; | |||
float forward[3], side[3], up[3]; | |||
GLfloat m[4][4]; | |||
forward[0] = centerx - eyex; | |||
forward[1] = centery - eyey; | |||
forward[2] = centerz - eyez; | |||
up[0] = upx; | |||
up[1] = upy; | |||
up[2] = upz; | |||
normalize(forward); | |||
/* Side = forward x up */ | |||
cross(forward, up, side); | |||
normalize(side); | |||
/* Recompute up as: up = side x forward */ | |||
cross(side, forward, up); | |||
__gluMakeIdentityf(&m[0][0]); | |||
m[0][0] = side[0]; | |||
m[1][0] = side[1]; | |||
m[2][0] = side[2]; | |||
m[0][1] = up[0]; | |||
m[1][1] = up[1]; | |||
m[2][1] = up[2]; | |||
m[0][2] = -forward[0]; | |||
m[1][2] = -forward[1]; | |||
m[2][2] = -forward[2]; | |||
glMultMatrixf(&m[0][0]); | |||
glTranslated(-eyex, -eyey, -eyez); | |||
} | |||
static void __gluMultMatrixVecd(const GLdouble matrix[16], const GLdouble in[4], | |||
GLdouble out[4]) | |||
{ | |||
int i; | |||
for (i=0; i<4; i++) { | |||
out[i] = | |||
in[0] * matrix[0*4+i] + | |||
in[1] * matrix[1*4+i] + | |||
in[2] * matrix[2*4+i] + | |||
in[3] * matrix[3*4+i]; | |||
} | |||
} | |||
/* | |||
** inverse = invert(src) | |||
*/ | |||
static int __gluInvertMatrixd(const GLdouble src[16], GLdouble inverse[16]) | |||
{ | |||
int i, j, k, swap; | |||
double t; | |||
GLdouble temp[4][4]; | |||
for (i=0; i<4; i++) { | |||
for (j=0; j<4; j++) { | |||
temp[i][j] = src[i*4+j]; | |||
} | |||
} | |||
__gluMakeIdentityd(inverse); | |||
for (i = 0; i < 4; i++) { | |||
/* | |||
** Look for largest element in column | |||
*/ | |||
swap = i; | |||
for (j = i + 1; j < 4; j++) { | |||
if (fabs(temp[j][i]) > fabs(temp[i][i])) { | |||
swap = j; | |||
} | |||
} | |||
if (swap != i) { | |||
/* | |||
** Swap rows. | |||
*/ | |||
for (k = 0; k < 4; k++) { | |||
t = temp[i][k]; | |||
temp[i][k] = temp[swap][k]; | |||
temp[swap][k] = t; | |||
t = inverse[i*4+k]; | |||
inverse[i*4+k] = inverse[swap*4+k]; | |||
inverse[swap*4+k] = t; | |||
} | |||
} | |||
if (temp[i][i] == 0) { | |||
/* | |||
** No non-zero pivot. The matrix is singular, which shouldn't | |||
** happen. This means the user gave us a bad matrix. | |||
*/ | |||
return GL_FALSE; | |||
} | |||
t = temp[i][i]; | |||
for (k = 0; k < 4; k++) { | |||
temp[i][k] /= t; | |||
inverse[i*4+k] /= t; | |||
} | |||
for (j = 0; j < 4; j++) { | |||
if (j != i) { | |||
t = temp[j][i]; | |||
for (k = 0; k < 4; k++) { | |||
temp[j][k] -= temp[i][k]*t; | |||
inverse[j*4+k] -= inverse[i*4+k]*t; | |||
} | |||
} | |||
} | |||
} | |||
return GL_TRUE; | |||
} | |||
static void __gluMultMatricesd(const GLdouble a[16], const GLdouble b[16], | |||
GLdouble r[16]) | |||
{ | |||
int i, j; | |||
for (i = 0; i < 4; i++) { | |||
for (j = 0; j < 4; j++) { | |||
r[i*4+j] = | |||
a[i*4+0]*b[0*4+j] + | |||
a[i*4+1]*b[1*4+j] + | |||
a[i*4+2]*b[2*4+j] + | |||
a[i*4+3]*b[3*4+j]; | |||
} | |||
} | |||
} | |||
GLint GLAPIENTRY | |||
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) | |||
{ | |||
double in[4]; | |||
double out[4]; | |||
in[0]=objx; | |||
in[1]=objy; | |||
in[2]=objz; | |||
in[3]=1.0; | |||
__gluMultMatrixVecd(modelMatrix, in, out); | |||
__gluMultMatrixVecd(projMatrix, out, in); | |||
if (in[3] == 0.0) return(GL_FALSE); | |||
in[0] /= in[3]; | |||
in[1] /= in[3]; | |||
in[2] /= in[3]; | |||
/* Map x, y and z to range 0-1 */ | |||
in[0] = in[0] * 0.5 + 0.5; | |||
in[1] = in[1] * 0.5 + 0.5; | |||
in[2] = in[2] * 0.5 + 0.5; | |||
/* Map x,y to viewport */ | |||
in[0] = in[0] * viewport[2] + viewport[0]; | |||
in[1] = in[1] * viewport[3] + viewport[1]; | |||
*winx=in[0]; | |||
*winy=in[1]; | |||
*winz=in[2]; | |||
return(GL_TRUE); | |||
} | |||
GLint GLAPIENTRY | |||
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) | |||
{ | |||
double finalMatrix[16]; | |||
double in[4]; | |||
double out[4]; | |||
__gluMultMatricesd(modelMatrix, projMatrix, finalMatrix); | |||
if (!__gluInvertMatrixd(finalMatrix, finalMatrix)) return(GL_FALSE); | |||
in[0]=winx; | |||
in[1]=winy; | |||
in[2]=winz; | |||
in[3]=1.0; | |||
/* Map x and y from window coordinates */ | |||
in[0] = (in[0] - viewport[0]) / viewport[2]; | |||
in[1] = (in[1] - viewport[1]) / viewport[3]; | |||
/* Map to range -1 to 1 */ | |||
in[0] = in[0] * 2 - 1; | |||
in[1] = in[1] * 2 - 1; | |||
in[2] = in[2] * 2 - 1; | |||
__gluMultMatrixVecd(finalMatrix, in, out); | |||
if (out[3] == 0.0) return(GL_FALSE); | |||
out[0] /= out[3]; | |||
out[1] /= out[3]; | |||
out[2] /= out[3]; | |||
*objx = out[0]; | |||
*objy = out[1]; | |||
*objz = out[2]; | |||
return(GL_TRUE); | |||
} | |||
GLint GLAPIENTRY | |||
gluUnProject4(GLdouble winx, GLdouble winy, GLdouble winz, GLdouble clipw, | |||
const GLdouble modelMatrix[16], | |||
const GLdouble projMatrix[16], | |||
const GLint viewport[4], | |||
GLclampd nearVal, GLclampd farVal, | |||
GLdouble *objx, GLdouble *objy, GLdouble *objz, | |||
GLdouble *objw) | |||
{ | |||
double finalMatrix[16]; | |||
double in[4]; | |||
double out[4]; | |||
__gluMultMatricesd(modelMatrix, projMatrix, finalMatrix); | |||
if (!__gluInvertMatrixd(finalMatrix, finalMatrix)) return(GL_FALSE); | |||
in[0]=winx; | |||
in[1]=winy; | |||
in[2]=winz; | |||
in[3]=clipw; | |||
/* Map x and y from window coordinates */ | |||
in[0] = (in[0] - viewport[0]) / viewport[2]; | |||
in[1] = (in[1] - viewport[1]) / viewport[3]; | |||
in[2] = (in[2] - nearVal) / (farVal - nearVal); | |||
/* Map to range -1 to 1 */ | |||
in[0] = in[0] * 2 - 1; | |||
in[1] = in[1] * 2 - 1; | |||
in[2] = in[2] * 2 - 1; | |||
__gluMultMatrixVecd(finalMatrix, in, out); | |||
if (out[3] == 0.0) return(GL_FALSE); | |||
*objx = out[0]; | |||
*objy = out[1]; | |||
*objz = out[2]; | |||
*objw = out[3]; | |||
return(GL_TRUE); | |||
} | |||
void GLAPIENTRY | |||
gluPickMatrix(GLdouble x, GLdouble y, GLdouble deltax, GLdouble deltay, | |||
GLint viewport[4]) | |||
{ | |||
if (deltax <= 0 || deltay <= 0) { | |||
return; | |||
} | |||
/* Translate and scale the picked region to the entire window */ | |||
glTranslatef((viewport[2] - 2 * (x - viewport[0])) / deltax, | |||
(viewport[3] - 2 * (y - viewport[1])) / deltay, 0); | |||
glScalef(viewport[2] / deltax, viewport[3] / deltay, 1.0); | |||
} |
@@ -1,100 +1,100 @@ | |||
# Makefile for Win32 | |||
!include <win32.mak> | |||
TOP = .. | |||
# NOTE: glut_menu.c and glut_glxext.c are NOT compiled into Win32 GLUT | |||
SRCS = glut_8x13.c glut_9x15.c glut_bitmap.c glut_bwidth.c glut_cindex.c glut_cmap.c glut_cursor.c glut_dials.c glut_dstr.c glut_event.c glut_ext.c glut_fbc.c glut_fullscrn.c glut_gamemode.c glut_get.c glut_hel10.c glut_hel12.c glut_hel18.c glut_init.c glut_input.c glut_joy.c glut_key.c glut_keyctrl.c glut_keyup.c glut_mesa.c glut_modifier.c glut_mroman.c glut_overlay.c glut_roman.c glut_shapes.c glut_space.c glut_stroke.c glut_swap.c glut_swidth.c glut_tablet.c glut_teapot.c glut_tr10.c glut_tr24.c glut_util.c glut_vidresize.c glut_warp.c glut_win.c glut_winmisc.c win32_glx.c win32_menu.c win32_util.c win32_winproc.c win32_x11.c | |||
all : glutdll | |||
!include "$(TOP)/mesawin32.mak" | |||
glutdll : $(GLUTDLL) | |||
!IFDEF NODEBUG | |||
OPTIMIZE_CFLAGS = -DNDEBUG | |||
!ENDIF | |||
CFLAGS = $(cvarsdll) $(CFLAGS) $(OPTIMIZE_CFLAGS) -DMESA -DBUILD_GL32 | |||
LFLAGS = $(dlllflags) $(LFLAGS) | |||
OBJS = $(SRCS:.c=.obj) | |||
MS_LIBS = $(MS_OPENGL) $(MS_GLU) winmm.lib $(guilibsdll) | |||
MS_LIBS = ../lib/opengl32.lib ../lib/glu32.lib winmm.lib $(guilibsdll) | |||
SGI_LIBS = $(SGI_OPENGL) $(SGI_GLU) winmm.lib $(guilibsdll) | |||
glut32.dll : $(OBJS) glut.def | |||
$(link) $(LFLAGS) -out:glut32.dll -def:glut.def $(OBJS) $(MS_LIBS) | |||
@echo "copying GLUT dynamic link library to lib directory..." | |||
-copy $(GLUTDLL) ..\lib | |||
@echo "copying GLUT import library to lib directory..." | |||
-copy $(GLUTLIB) ..\lib | |||
glut.dll : $(OBJS) glut.def | |||
$(link) $(LFLAGS) -out:glut.dll -def:glut.def $(OBJS) $(SGI_LIBS) | |||
install : $(GLUTDLL) | |||
@echo "copying GLUT dynamic link library to system directory..." | |||
-copy $(GLUTDLL) $(DLLINSTALL) | |||
@echo "copying GLUT header file to include directory..." | |||
-copy ..\include\GL\glut.h $(INCLUDEINSTALL) | |||
@echo "copying GLUT import library to library directory..." | |||
-copy $(GLUTLIB) $(LIBINSTALL) | |||
.c.obj : | |||
$(cc) $(CFLAGS) -I . $*.c | |||
# explicit object dependencies for all source files | |||
win32_glx.obj: win32_glx.c win32_glx.h | |||
win32_x11.obj: win32_x11.c win32_x11.h | |||
win32_menu.obj: win32_menu.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h | |||
win32_util.obj: win32_util.c glutint.h ..\include\GL\glutf90.h | |||
win32_winproc.obj: win32_winproc.c glutint.h ..\include\GL\glutf90.h | |||
glut_mroman.obj: glut_mroman.c glutstroke.h glutint.h ..\include\GL\glutf90.h | |||
glut_roman.obj: glut_roman.c glutstroke.h glutint.h ..\include\GL\glutf90.h | |||
glut_hel12.obj: glut_hel12.c glutbitmap.h glutint.h ..\include\GL\glutf90.h | |||
glut_8x13.obj: glut_8x13.c glutbitmap.h glutint.h ..\include\GL\glutf90.h | |||
glut_hel18.obj: glut_hel18.c glutbitmap.h glutint.h ..\include\GL\glutf90.h | |||
glut_9x15.obj: glut_9x15.c glutbitmap.h glutint.h ..\include\GL\glutf90.h | |||
glut_tr10.obj: glut_tr10.c glutbitmap.h glutint.h ..\include\GL\glutf90.h | |||
glut_hel10.obj: glut_hel10.c glutbitmap.h glutint.h ..\include\GL\glutf90.h | |||
glut_tr24.obj: glut_tr24.c glutbitmap.h glutint.h ..\include\GL\glutf90.h | |||
glut_bitmap.obj: glut_bitmap.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_bwidth.obj: glut_bwidth.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_cindex.obj: glut_cindex.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_cmap.obj: glut_cmap.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_cursor.obj: glut_cursor.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_dials.obj: glut_dials.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_dstr.obj: glut_dstr.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_event.obj: glut_event.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_ext.obj: glut_ext.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_fullscrn.obj: glut_fullscrn.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_gamemode.obj: glut_gamemode.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_get.obj: glut_get.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_init.obj: glut_init.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_input.obj: glut_input.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_joy.obj: glut_joy.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_key.obj: glut_key.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_keyctrl.obj: glut_keyctrl.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_keyup.obj: glut_keyup.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_mesa.obj: glut_mesa.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_modifier.obj: glut_modifier.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_overlay.obj: glut_overlay.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_shapes.obj: glut_shapes.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_space.obj: glut_space.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_swap.obj: glut_swap.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_swidth.obj: glut_swidth.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_tablet.obj: glut_tablet.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_teapot.obj: glut_teapot.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_util.obj: glut_util.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_vidresize.obj: glut_vidresize.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_warp.obj: glut_warp.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_win.obj: glut_win.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h | |||
glut_winmisc.obj: glut_winmisc.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
# Makefile for Win32 | |||
!include <win32.mak> | |||
TOP = .. | |||
# NOTE: glut_menu.c and glut_glxext.c are NOT compiled into Win32 GLUT | |||
SRCS = glut_8x13.c glut_9x15.c glut_bitmap.c glut_bwidth.c glut_cindex.c glut_cmap.c glut_cursor.c glut_dials.c glut_dstr.c glut_event.c glut_ext.c glut_fbc.c glut_fullscrn.c glut_gamemode.c glut_get.c glut_hel10.c glut_hel12.c glut_hel18.c glut_init.c glut_input.c glut_joy.c glut_key.c glut_keyctrl.c glut_keyup.c glut_mesa.c glut_modifier.c glut_mroman.c glut_overlay.c glut_roman.c glut_shapes.c glut_space.c glut_stroke.c glut_swap.c glut_swidth.c glut_tablet.c glut_teapot.c glut_tr10.c glut_tr24.c glut_util.c glut_vidresize.c glut_warp.c glut_win.c glut_winmisc.c win32_glx.c win32_menu.c win32_util.c win32_winproc.c win32_x11.c | |||
all : glutdll | |||
!include "$(TOP)/mesawin32.mak" | |||
glutdll : $(GLUTDLL) | |||
!IFDEF NODEBUG | |||
OPTIMIZE_CFLAGS = -DNDEBUG | |||
!ENDIF | |||
CFLAGS = $(cvarsdll) $(CFLAGS) $(OPTIMIZE_CFLAGS) -DMESA -DBUILD_GL32 | |||
LFLAGS = $(dlllflags) $(LFLAGS) | |||
OBJS = $(SRCS:.c=.obj) | |||
MS_LIBS = $(MS_OPENGL) $(MS_GLU) winmm.lib $(guilibsdll) | |||
MS_LIBS = ../lib/opengl32.lib ../lib/glu32.lib winmm.lib $(guilibsdll) | |||
SGI_LIBS = $(SGI_OPENGL) $(SGI_GLU) winmm.lib $(guilibsdll) | |||
glut32.dll : $(OBJS) glut.def | |||
$(link) $(LFLAGS) -out:glut32.dll -def:glut.def $(OBJS) $(MS_LIBS) | |||
@echo "copying GLUT dynamic link library to lib directory..." | |||
-copy $(GLUTDLL) ..\lib | |||
@echo "copying GLUT import library to lib directory..." | |||
-copy $(GLUTLIB) ..\lib | |||
glut.dll : $(OBJS) glut.def | |||
$(link) $(LFLAGS) -out:glut.dll -def:glut.def $(OBJS) $(SGI_LIBS) | |||
install : $(GLUTDLL) | |||
@echo "copying GLUT dynamic link library to system directory..." | |||
-copy $(GLUTDLL) $(DLLINSTALL) | |||
@echo "copying GLUT header file to include directory..." | |||
-copy ..\include\GL\glut.h $(INCLUDEINSTALL) | |||
@echo "copying GLUT import library to library directory..." | |||
-copy $(GLUTLIB) $(LIBINSTALL) | |||
.c.obj : | |||
$(cc) $(CFLAGS) -I . $*.c | |||
# explicit object dependencies for all source files | |||
win32_glx.obj: win32_glx.c win32_glx.h | |||
win32_x11.obj: win32_x11.c win32_x11.h | |||
win32_menu.obj: win32_menu.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h | |||
win32_util.obj: win32_util.c glutint.h ..\include\GL\glutf90.h | |||
win32_winproc.obj: win32_winproc.c glutint.h ..\include\GL\glutf90.h | |||
glut_mroman.obj: glut_mroman.c glutstroke.h glutint.h ..\include\GL\glutf90.h | |||
glut_roman.obj: glut_roman.c glutstroke.h glutint.h ..\include\GL\glutf90.h | |||
glut_hel12.obj: glut_hel12.c glutbitmap.h glutint.h ..\include\GL\glutf90.h | |||
glut_8x13.obj: glut_8x13.c glutbitmap.h glutint.h ..\include\GL\glutf90.h | |||
glut_hel18.obj: glut_hel18.c glutbitmap.h glutint.h ..\include\GL\glutf90.h | |||
glut_9x15.obj: glut_9x15.c glutbitmap.h glutint.h ..\include\GL\glutf90.h | |||
glut_tr10.obj: glut_tr10.c glutbitmap.h glutint.h ..\include\GL\glutf90.h | |||
glut_hel10.obj: glut_hel10.c glutbitmap.h glutint.h ..\include\GL\glutf90.h | |||
glut_tr24.obj: glut_tr24.c glutbitmap.h glutint.h ..\include\GL\glutf90.h | |||
glut_bitmap.obj: glut_bitmap.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_bwidth.obj: glut_bwidth.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_cindex.obj: glut_cindex.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_cmap.obj: glut_cmap.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_cursor.obj: glut_cursor.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_dials.obj: glut_dials.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_dstr.obj: glut_dstr.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_event.obj: glut_event.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_ext.obj: glut_ext.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_fullscrn.obj: glut_fullscrn.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_gamemode.obj: glut_gamemode.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_get.obj: glut_get.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_init.obj: glut_init.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_input.obj: glut_input.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_joy.obj: glut_joy.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_key.obj: glut_key.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_keyctrl.obj: glut_keyctrl.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_keyup.obj: glut_keyup.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_mesa.obj: glut_mesa.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_modifier.obj: glut_modifier.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_overlay.obj: glut_overlay.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_shapes.obj: glut_shapes.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_space.obj: glut_space.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_swap.obj: glut_swap.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_swidth.obj: glut_swidth.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_tablet.obj: glut_tablet.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_teapot.obj: glut_teapot.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_util.obj: glut_util.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_vidresize.obj: glut_vidresize.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_warp.obj: glut_warp.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
glut_win.obj: glut_win.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h | |||
glut_winmisc.obj: glut_winmisc.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h | |||
@@ -1,9 +1,9 @@ | |||
DESCRIPTION 'OpenGL Utility Toolkit for Win32' | |||
VERSION 3.7 | |||
VERSION 3.7 | |||
EXPORTS | |||
glutAddMenuEntry | |||
glutAddSubMenu | |||
glutAttachMenu | |||
@@ -123,4 +123,4 @@ EXPORTS | |||
glutWireTorus | |||
; __glutSetFCB | |||
; __glutGetFCB | |||
@@ -1,326 +1,326 @@ | |||
#ifndef __win32_x11_h__ | |||
#define __win32_x11_h__ | |||
/* Copyright (c) Nate Robins, 1997. */ | |||
/* This program is freely distributable without licensing fees | |||
and is provided without guarantee or warrantee expressed or | |||
implied. This program is -not- in the public domain. */ | |||
#include <stdlib.h> | |||
#include <windows.h> | |||
/* These definitions are missing from windows.h */ | |||
WINGDIAPI int WINAPI wglChoosePixelFormat(HDC, PIXELFORMATDESCRIPTOR *); | |||
WINGDIAPI int WINAPI wglDescribePixelFormat(HDC, int, UINT, LPPIXELFORMATDESCRIPTOR); | |||
WINGDIAPI int WINAPI wglGetPixelFormat(HDC); | |||
WINGDIAPI BOOL WINAPI wglSetPixelFormat(HDC, int, PIXELFORMATDESCRIPTOR *); | |||
WINGDIAPI BOOL WINAPI wglSwapBuffers(HDC); | |||
/* Type definitions (conversions) */ | |||
typedef int Visual; /* Win32 equivalent of X11 type */ | |||
typedef HWND Window; | |||
typedef HPALETTE Colormap; | |||
typedef PIXELFORMATDESCRIPTOR XVisualInfo; | |||
typedef BOOL Bool; | |||
typedef MSG XEvent; | |||
typedef HDC Display; | |||
typedef HCURSOR Cursor; | |||
typedef int Atom; /* dummies */ | |||
typedef int XDevice; | |||
typedef int Status; | |||
#define True TRUE /* Win32 equivalents of X11 booleans */ | |||
#define False FALSE | |||
#define None 0L /* universal null resource or null atom */ | |||
/* Input Event Masks. Used as event-mask window attribute and as arguments | |||
to Grab requests. Not to be confused with event names. */ | |||
#define NoEventMask 0L | |||
#define KeyPressMask (1L<<0) | |||
#define KeyReleaseMask (1L<<1) | |||
#define ButtonPressMask (1L<<2) | |||
#define ButtonReleaseMask (1L<<3) | |||
#define EnterWindowMask (1L<<4) | |||
#define LeaveWindowMask (1L<<5) | |||
#define PointerMotionMask (1L<<6) | |||
#define PointerMotionHintMask (1L<<7) | |||
#define Button1MotionMask (1L<<8) | |||
#define Button2MotionMask (1L<<9) | |||
#define Button3MotionMask (1L<<10) | |||
#define Button4MotionMask (1L<<11) | |||
#define Button5MotionMask (1L<<12) | |||
#define ButtonMotionMask (1L<<13) | |||
#define KeymapStateMask (1L<<14) | |||
#define ExposureMask (1L<<15) | |||
#define VisibilityChangeMask (1L<<16) | |||
#define StructureNotifyMask (1L<<17) | |||
#define ResizeRedirectMask (1L<<18) | |||
#define SubstructureNotifyMask (1L<<19) | |||
#define SubstructureRedirectMask (1L<<20) | |||
#define FocusChangeMask (1L<<21) | |||
#define PropertyChangeMask (1L<<22) | |||
#define ColormapChangeMask (1L<<23) | |||
#define OwnerGrabButtonMask (1L<<24) | |||
/* Key masks. Used as modifiers to GrabButton and GrabKey, results of | |||
QueryPointer, state in various key-, mouse-, and button-related | |||
events. */ | |||
#define ShiftMask (1<<0) | |||
#define LockMask (1<<1) | |||
#define ControlMask (1<<2) | |||
#define Mod1Mask (1<<3) | |||
#define Mod2Mask (1<<4) | |||
#define Mod3Mask (1<<5) | |||
#define Mod4Mask (1<<6) | |||
#define Mod5Mask (1<<7) | |||
/* Window classes used by CreateWindow */ | |||
/* Note that CopyFromParent is already defined as 0 above */ | |||
#define InputOutput 1 | |||
#define InputOnly 2 | |||
/* Window attributes for CreateWindow and ChangeWindowAttributes */ | |||
#define CWBackPixmap (1L<<0) | |||
#define CWBackPixel (1L<<1) | |||
#define CWBorderPixmap (1L<<2) | |||
#define CWBorderPixel (1L<<3) | |||
#define CWBitGravity (1L<<4) | |||
#define CWWinGravity (1L<<5) | |||
#define CWBackingStore (1L<<6) | |||
#define CWBackingPlanes (1L<<7) | |||
#define CWBackingPixel (1L<<8) | |||
#define CWOverrideRedirect (1L<<9) | |||
#define CWSaveUnder (1L<<10) | |||
#define CWEventMask (1L<<11) | |||
#define CWDontPropagate (1L<<12) | |||
#define CWColormap (1L<<13) | |||
#define CWCursor (1L<<14) | |||
/* ConfigureWindow structure */ | |||
#define CWX (1<<0) | |||
#define CWY (1<<1) | |||
#define CWWidth (1<<2) | |||
#define CWHeight (1<<3) | |||
#define CWBorderWidth (1<<4) | |||
#define CWSibling (1<<5) | |||
#define CWStackMode (1<<6) | |||
/* Used in GetWindowAttributes reply */ | |||
#define IsUnmapped 0 | |||
#define IsUnviewable 1 | |||
#define IsViewable 2 | |||
/* Window stacking method (in configureWindow) */ | |||
#define Above 0 | |||
#define Below 1 | |||
#define TopIf 2 | |||
#define BottomIf 3 | |||
#define Opposite 4 | |||
/* For CreateColormap */ | |||
#define AllocNone 0 /* create map with no entries */ | |||
#define AllocAll 1 /* allocate entire map writeable */ | |||
/* Flags used in StoreNamedColor, StoreColors */ | |||
#define DoRed (1<<0) | |||
#define DoGreen (1<<1) | |||
#define DoBlue (1<<2) | |||
/* | |||
* Bitmask returned by XParseGeometry(). Each bit tells if the corresponding | |||
* value (x, y, width, height) was found in the parsed string. | |||
*/ | |||
#define NoValue 0x0000 | |||
#define XValue 0x0001 | |||
#define YValue 0x0002 | |||
#define WidthValue 0x0004 | |||
#define HeightValue 0x0008 | |||
#define AllValues 0x000F | |||
#define XNegative 0x0010 | |||
#define YNegative 0x0020 | |||
/* flags argument in size hints */ | |||
#define USPosition (1L << 0) /* user specified x, y */ | |||
#define USSize (1L << 1) /* user specified width, height */ | |||
/* definitions for initial window state */ | |||
#define WithdrawnState 0 /* for windows that are not mapped */ | |||
#define NormalState 1 /* most applications want to start this way */ | |||
#define IconicState 3 /* application wants to start as an icon */ | |||
#define GameModeState 4 /* Win32 GLUT only (not in Xlib!). */ | |||
/* Type definitions */ | |||
typedef struct { | |||
unsigned int background_pixmap; /* background pixmap */ | |||
unsigned long background_pixel; /* background pixel */ | |||
unsigned long border_pixel; /* border pixel value */ | |||
long event_mask; /* set of events that should be saved */ | |||
long do_not_propagate_mask; /* set of events that should not propagate */ | |||
Bool override_redirect; /* boolean value for override-redirect */ | |||
Colormap colormap; /* color map to be associated with window */ | |||
} XSetWindowAttributes; | |||
typedef struct { | |||
unsigned long pixel; | |||
unsigned short red, green, blue; | |||
char flags; /* do_red, do_green, do_blue */ | |||
} XColor; | |||
typedef struct { | |||
unsigned char *value; /* same as Property routines */ | |||
Atom encoding; /* prop type */ | |||
int format; /* prop data format: 8, 16, or 32 */ | |||
unsigned long nitems; /* number of data items in value */ | |||
} XTextProperty; | |||
typedef struct { | |||
long flags; /* marks which fields in this structure are defined */ | |||
int x, y; /* obsolete for new window mgrs, but clients */ | |||
int width, height; /* should set so old wm's don't mess up */ | |||
} XSizeHints; | |||
/* Functions emulated by macros. */ | |||
#define XFreeColormap(display, colormap) \ | |||
DeleteObject(colormap) | |||
#define XCreateFontCursor(display, shape) \ | |||
LoadCursor(NULL, shape) | |||
#define XDefineCursor(display, window, cursor) \ | |||
SetCursor(cursor) | |||
#define XFlush(display) \ | |||
/* Nothing. */ | |||
#define DisplayWidth(display, screen) \ | |||
GetSystemMetrics(SM_CXSCREEN) | |||
#define DisplayHeight(display, screen) \ | |||
GetSystemMetrics(SM_CYSCREEN) | |||
#define XMapWindow(display, window) \ | |||
ShowWindow(window, SW_SHOWNORMAL) | |||
#define XUnmapWindow(display, window) \ | |||
ShowWindow(window, SW_HIDE) | |||
#define XIconifyWindow(display, window, screen) \ | |||
ShowWindow(window, SW_MINIMIZE) | |||
#define XWithdrawWindow(display, window, screen) \ | |||
ShowWindow(window, SW_HIDE) | |||
#define XLowerWindow(display, window) \ | |||
SetWindowPos(window, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE) | |||
#define XSetWMName(display, window, tp) \ | |||
SetWindowText(window, (tp)->value) | |||
/* There really isn't a way to set the icon name separate from the | |||
windows name in Win32, so, just set the windows name. */ | |||
#define XSetWMIconName(display, window, tp) \ | |||
XSetWMName(display, window, tp) | |||
#define XDestroyWindow(display, window) \ | |||
DestroyWindow(window) | |||
/* Anything that needs to be freed was allocated with malloc in our | |||
fake X windows library for Win32, so free it with plain old | |||
free(). */ | |||
#define XFree(data) \ | |||
free(data) | |||
/* Nothing to be done for this...the pointer is always 'ungrabbed' | |||
in Win32. */ | |||
#define XUngrabPointer(display, time) \ | |||
/* Nothing. */ | |||
/* Function prototypes. */ | |||
extern XVisualInfo* XGetVisualInfo( | |||
Display* display, | |||
long mask, | |||
XVisualInfo* ttemplate, /* Avoid class with C++ keyword. */ | |||
int*nitems); | |||
extern Colormap XCreateColormap( | |||
Display* display, | |||
Window root, | |||
Visual* visual, | |||
int alloc); | |||
extern void XAllocColorCells( | |||
Display* display, | |||
Colormap colormap, | |||
Bool contig, | |||
unsigned long plane_masks_return[], | |||
unsigned int nplanes, | |||
unsigned long pixels_return[], | |||
unsigned int npixels); | |||
extern void XStoreColor( | |||
Display* display, | |||
Colormap colormap, | |||
XColor* color); | |||
extern void XSetWindowColormap( | |||
Display* display, | |||
Window window, | |||
Colormap colormap); | |||
extern Bool XTranslateCoordinates( | |||
Display *display, | |||
Window src, Window dst, | |||
int src_x, int src_y, | |||
int* dest_x_return, int* dest_y_return, | |||
Window* child_return); | |||
extern Status XGetGeometry( | |||
Display* display, | |||
Window window, | |||
Window* root_return, | |||
int* x_return, int* y_return, | |||
unsigned int* width_return, unsigned int* height_return, | |||
unsigned int *border_width_return, | |||
unsigned int* depth_return); | |||
extern int DisplayWidthMM( | |||
Display* display, | |||
int screen); | |||
extern int DisplayHeightMM( | |||
Display* display, | |||
int screen); | |||
extern void XWarpPointer( | |||
Display* display, | |||
Window src, Window dst, | |||
int src_x, int src_y, | |||
int src_width, int src_height, | |||
int dst_x, int dst_y); | |||
extern int XParseGeometry( | |||
char* string, | |||
int* x, int* y, | |||
unsigned int* width, unsigned int* height); | |||
extern int XPending( | |||
Display* display); | |||
#endif /* __win32_x11_h__ */ | |||
#ifndef __win32_x11_h__ | |||
#define __win32_x11_h__ | |||
/* Copyright (c) Nate Robins, 1997. */ | |||
/* This program is freely distributable without licensing fees | |||
and is provided without guarantee or warrantee expressed or | |||
implied. This program is -not- in the public domain. */ | |||
#include <stdlib.h> | |||
#include <windows.h> | |||
/* These definitions are missing from windows.h */ | |||
WINGDIAPI int WINAPI wglChoosePixelFormat(HDC, PIXELFORMATDESCRIPTOR *); | |||
WINGDIAPI int WINAPI wglDescribePixelFormat(HDC, int, UINT, LPPIXELFORMATDESCRIPTOR); | |||
WINGDIAPI int WINAPI wglGetPixelFormat(HDC); | |||
WINGDIAPI BOOL WINAPI wglSetPixelFormat(HDC, int, PIXELFORMATDESCRIPTOR *); | |||
WINGDIAPI BOOL WINAPI wglSwapBuffers(HDC); | |||
/* Type definitions (conversions) */ | |||
typedef int Visual; /* Win32 equivalent of X11 type */ | |||
typedef HWND Window; | |||
typedef HPALETTE Colormap; | |||
typedef PIXELFORMATDESCRIPTOR XVisualInfo; | |||
typedef BOOL Bool; | |||
typedef MSG XEvent; | |||
typedef HDC Display; | |||
typedef HCURSOR Cursor; | |||
typedef int Atom; /* dummies */ | |||
typedef int XDevice; | |||
typedef int Status; | |||
#define True TRUE /* Win32 equivalents of X11 booleans */ | |||
#define False FALSE | |||
#define None 0L /* universal null resource or null atom */ | |||
/* Input Event Masks. Used as event-mask window attribute and as arguments | |||
to Grab requests. Not to be confused with event names. */ | |||
#define NoEventMask 0L | |||
#define KeyPressMask (1L<<0) | |||
#define KeyReleaseMask (1L<<1) | |||
#define ButtonPressMask (1L<<2) | |||
#define ButtonReleaseMask (1L<<3) | |||
#define EnterWindowMask (1L<<4) | |||
#define LeaveWindowMask (1L<<5) | |||
#define PointerMotionMask (1L<<6) | |||
#define PointerMotionHintMask (1L<<7) | |||
#define Button1MotionMask (1L<<8) | |||
#define Button2MotionMask (1L<<9) | |||
#define Button3MotionMask (1L<<10) | |||
#define Button4MotionMask (1L<<11) | |||
#define Button5MotionMask (1L<<12) | |||
#define ButtonMotionMask (1L<<13) | |||
#define KeymapStateMask (1L<<14) | |||
#define ExposureMask (1L<<15) | |||
#define VisibilityChangeMask (1L<<16) | |||
#define StructureNotifyMask (1L<<17) | |||
#define ResizeRedirectMask (1L<<18) | |||
#define SubstructureNotifyMask (1L<<19) | |||
#define SubstructureRedirectMask (1L<<20) | |||
#define FocusChangeMask (1L<<21) | |||
#define PropertyChangeMask (1L<<22) | |||
#define ColormapChangeMask (1L<<23) | |||
#define OwnerGrabButtonMask (1L<<24) | |||
/* Key masks. Used as modifiers to GrabButton and GrabKey, results of | |||
QueryPointer, state in various key-, mouse-, and button-related | |||
events. */ | |||
#define ShiftMask (1<<0) | |||
#define LockMask (1<<1) | |||
#define ControlMask (1<<2) | |||
#define Mod1Mask (1<<3) | |||
#define Mod2Mask (1<<4) | |||
#define Mod3Mask (1<<5) | |||
#define Mod4Mask (1<<6) | |||
#define Mod5Mask (1<<7) | |||
/* Window classes used by CreateWindow */ | |||
/* Note that CopyFromParent is already defined as 0 above */ | |||
#define InputOutput 1 | |||
#define InputOnly 2 | |||
/* Window attributes for CreateWindow and ChangeWindowAttributes */ | |||
#define CWBackPixmap (1L<<0) | |||
#define CWBackPixel (1L<<1) | |||
#define CWBorderPixmap (1L<<2) | |||
#define CWBorderPixel (1L<<3) | |||
#define CWBitGravity (1L<<4) | |||
#define CWWinGravity (1L<<5) | |||
#define CWBackingStore (1L<<6) | |||
#define CWBackingPlanes (1L<<7) | |||
#define CWBackingPixel (1L<<8) | |||
#define CWOverrideRedirect (1L<<9) | |||
#define CWSaveUnder (1L<<10) | |||
#define CWEventMask (1L<<11) | |||
#define CWDontPropagate (1L<<12) | |||
#define CWColormap (1L<<13) | |||
#define CWCursor (1L<<14) | |||
/* ConfigureWindow structure */ | |||
#define CWX (1<<0) | |||
#define CWY (1<<1) | |||
#define CWWidth (1<<2) | |||
#define CWHeight (1<<3) | |||
#define CWBorderWidth (1<<4) | |||
#define CWSibling (1<<5) | |||
#define CWStackMode (1<<6) | |||
/* Used in GetWindowAttributes reply */ | |||
#define IsUnmapped 0 | |||
#define IsUnviewable 1 | |||
#define IsViewable 2 | |||
/* Window stacking method (in configureWindow) */ | |||
#define Above 0 | |||
#define Below 1 | |||
#define TopIf 2 | |||
#define BottomIf 3 | |||
#define Opposite 4 | |||
/* For CreateColormap */ | |||
#define AllocNone 0 /* create map with no entries */ | |||
#define AllocAll 1 /* allocate entire map writeable */ | |||
/* Flags used in StoreNamedColor, StoreColors */ | |||
#define DoRed (1<<0) | |||
#define DoGreen (1<<1) | |||
#define DoBlue (1<<2) | |||
/* | |||
* Bitmask returned by XParseGeometry(). Each bit tells if the corresponding | |||
* value (x, y, width, height) was found in the parsed string. | |||
*/ | |||
#define NoValue 0x0000 | |||
#define XValue 0x0001 | |||
#define YValue 0x0002 | |||
#define WidthValue 0x0004 | |||
#define HeightValue 0x0008 | |||
#define AllValues 0x000F | |||
#define XNegative 0x0010 | |||
#define YNegative 0x0020 | |||
/* flags argument in size hints */ | |||
#define USPosition (1L << 0) /* user specified x, y */ | |||
#define USSize (1L << 1) /* user specified width, height */ | |||
/* definitions for initial window state */ | |||
#define WithdrawnState 0 /* for windows that are not mapped */ | |||
#define NormalState 1 /* most applications want to start this way */ | |||
#define IconicState 3 /* application wants to start as an icon */ | |||
#define GameModeState 4 /* Win32 GLUT only (not in Xlib!). */ | |||
/* Type definitions */ | |||
typedef struct { | |||
unsigned int background_pixmap; /* background pixmap */ | |||
unsigned long background_pixel; /* background pixel */ | |||
unsigned long border_pixel; /* border pixel value */ | |||
long event_mask; /* set of events that should be saved */ | |||
long do_not_propagate_mask; /* set of events that should not propagate */ | |||
Bool override_redirect; /* boolean value for override-redirect */ | |||
Colormap colormap; /* color map to be associated with window */ | |||
} XSetWindowAttributes; | |||
typedef struct { | |||
unsigned long pixel; | |||
unsigned short red, green, blue; | |||
char flags; /* do_red, do_green, do_blue */ | |||
} XColor; | |||
typedef struct { | |||
unsigned char *value; /* same as Property routines */ | |||
Atom encoding; /* prop type */ | |||
int format; /* prop data format: 8, 16, or 32 */ | |||
unsigned long nitems; /* number of data items in value */ | |||
} XTextProperty; | |||
typedef struct { | |||
long flags; /* marks which fields in this structure are defined */ | |||
int x, y; /* obsolete for new window mgrs, but clients */ | |||
int width, height; /* should set so old wm's don't mess up */ | |||
} XSizeHints; | |||
/* Functions emulated by macros. */ | |||
#define XFreeColormap(display, colormap) \ | |||
DeleteObject(colormap) | |||
#define XCreateFontCursor(display, shape) \ | |||
LoadCursor(NULL, shape) | |||
#define XDefineCursor(display, window, cursor) \ | |||
SetCursor(cursor) | |||
#define XFlush(display) \ | |||
/* Nothing. */ | |||
#define DisplayWidth(display, screen) \ | |||
GetSystemMetrics(SM_CXSCREEN) | |||
#define DisplayHeight(display, screen) \ | |||
GetSystemMetrics(SM_CYSCREEN) | |||
#define XMapWindow(display, window) \ | |||
ShowWindow(window, SW_SHOWNORMAL) | |||
#define XUnmapWindow(display, window) \ | |||
ShowWindow(window, SW_HIDE) | |||
#define XIconifyWindow(display, window, screen) \ | |||
ShowWindow(window, SW_MINIMIZE) | |||
#define XWithdrawWindow(display, window, screen) \ | |||
ShowWindow(window, SW_HIDE) | |||
#define XLowerWindow(display, window) \ | |||
SetWindowPos(window, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE) | |||
#define XSetWMName(display, window, tp) \ | |||
SetWindowText(window, (tp)->value) | |||
/* There really isn't a way to set the icon name separate from the | |||
windows name in Win32, so, just set the windows name. */ | |||
#define XSetWMIconName(display, window, tp) \ | |||
XSetWMName(display, window, tp) | |||
#define XDestroyWindow(display, window) \ | |||
DestroyWindow(window) | |||
/* Anything that needs to be freed was allocated with malloc in our | |||
fake X windows library for Win32, so free it with plain old | |||
free(). */ | |||
#define XFree(data) \ | |||
free(data) | |||
/* Nothing to be done for this...the pointer is always 'ungrabbed' | |||
in Win32. */ | |||
#define XUngrabPointer(display, time) \ | |||
/* Nothing. */ | |||
/* Function prototypes. */ | |||
extern XVisualInfo* XGetVisualInfo( | |||
Display* display, | |||
long mask, | |||
XVisualInfo* ttemplate, /* Avoid class with C++ keyword. */ | |||
int*nitems); | |||
extern Colormap XCreateColormap( | |||
Display* display, | |||
Window root, | |||
Visual* visual, | |||
int alloc); | |||
extern void XAllocColorCells( | |||
Display* display, | |||
Colormap colormap, | |||
Bool contig, | |||
unsigned long plane_masks_return[], | |||
unsigned int nplanes, | |||
unsigned long pixels_return[], | |||
unsigned int npixels); | |||
extern void XStoreColor( | |||
Display* display, | |||
Colormap colormap, | |||
XColor* color); | |||
extern void XSetWindowColormap( | |||
Display* display, | |||
Window window, | |||
Colormap colormap); | |||
extern Bool XTranslateCoordinates( | |||
Display *display, | |||
Window src, Window dst, | |||
int src_x, int src_y, | |||
int* dest_x_return, int* dest_y_return, | |||
Window* child_return); | |||
extern Status XGetGeometry( | |||
Display* display, | |||
Window window, | |||
Window* root_return, | |||
int* x_return, int* y_return, | |||
unsigned int* width_return, unsigned int* height_return, | |||
unsigned int *border_width_return, | |||
unsigned int* depth_return); | |||
extern int DisplayWidthMM( | |||
Display* display, | |||
int screen); | |||
extern int DisplayHeightMM( | |||
Display* display, | |||
int screen); | |||
extern void XWarpPointer( | |||
Display* display, | |||
Window src, Window dst, | |||
int src_x, int src_y, | |||
int src_width, int src_height, | |||
int dst_x, int dst_y); | |||
extern int XParseGeometry( | |||
char* string, | |||
int* x, int* y, | |||
unsigned int* width, unsigned int* height); | |||
extern int XPending( | |||
Display* display); | |||
#endif /* __win32_x11_h__ */ |
@@ -1,37 +1,37 @@ | |||
# Makefile for Win32 | |||
!include <win32.mak> | |||
TOP = ..\.. | |||
OSMESA_SRCS = osmesa.c | |||
OSMESA_OBJS = osmesa.obj | |||
OSMESALIB = OSmesa.lib | |||
ASM_SRCS = | |||
CORE_SRCS = $(OSMESA_SRCS) | |||
DRIVER_SRCS = | |||
SRCS = $(OSMESA_SRCS) | |||
all : osmesalib install | |||
!include "$(TOP)/mesawin32.mak" | |||
osmesalib : $(OSMESALIB) | |||
CFLAGS = $(cvarsdll) $(CFLAGS) -D_OPENGL32_ -I$(TOP)/src | |||
LFLAGS = /LIB | |||
OBJS = $(ASM_SRCS:.S=.obj) $(CORE_SRCS:.c=.obj) $(DRIVER_SRCS:.c=.obj) | |||
LIBS = $(TOP)/lib/OpenGL32.lib $(TOP)/src/opengl32.exp | |||
$(OSMESALIB) : $(OBJS) | |||
$(link) $(LFLAGS) -out:$(OSMESALIB) $(OBJS) $(LIBS) | |||
install : $(OSMESALIB) | |||
@echo "copying OSMesa library to library directory..." | |||
-copy $(OSMESALIB) $(TOP)\lib | |||
clean :: | |||
@del /f osmesa.obj | |||
# Makefile for Win32 | |||
!include <win32.mak> | |||
TOP = ..\.. | |||
OSMESA_SRCS = osmesa.c | |||
OSMESA_OBJS = osmesa.obj | |||
OSMESALIB = OSmesa.lib | |||
ASM_SRCS = | |||
CORE_SRCS = $(OSMESA_SRCS) | |||
DRIVER_SRCS = | |||
SRCS = $(OSMESA_SRCS) | |||
all : osmesalib install | |||
!include "$(TOP)/mesawin32.mak" | |||
osmesalib : $(OSMESALIB) | |||
CFLAGS = $(cvarsdll) $(CFLAGS) -D_OPENGL32_ -I$(TOP)/src | |||
LFLAGS = /LIB | |||
OBJS = $(ASM_SRCS:.S=.obj) $(CORE_SRCS:.c=.obj) $(DRIVER_SRCS:.c=.obj) | |||
LIBS = $(TOP)/lib/OpenGL32.lib $(TOP)/src/opengl32.exp | |||
$(OSMESALIB) : $(OBJS) | |||
$(link) $(LFLAGS) -out:$(OSMESALIB) $(OBJS) $(LIBS) | |||
install : $(OSMESALIB) | |||
@echo "copying OSMesa library to library directory..." | |||
-copy $(OSMESALIB) $(TOP)\lib | |||
clean :: | |||
@del /f osmesa.obj |
@@ -1,198 +1,198 @@ | |||
# Makefile for Win32 | |||
# | |||
# NOTE: the install target may overwrite important files in the system dir | |||
# Sept 12, 2001 | |||
# Windows driver not working. OSMesa driver works. | |||
# | |||
!include <win32.mak> | |||
TOP = .. | |||
SUBDIRS = osmesa.dir | |||
CORE_SRCS = \ | |||
tnl\t_array_api.c \ | |||
tnl\t_array_import.c \ | |||
tnl\t_context.c \ | |||
tnl\t_eval_api.c \ | |||
tnl\t_imm_alloc.c \ | |||
tnl\t_imm_api.c \ | |||
tnl\t_imm_debug.c \ | |||
tnl\t_imm_dlist.c \ | |||
tnl\t_imm_elt.c \ | |||
tnl\t_imm_eval.c \ | |||
tnl\t_imm_exec.c \ | |||
tnl\t_imm_fixup.c \ | |||
tnl\t_pipeline.c \ | |||
tnl\t_vb_fog.c \ | |||
tnl\t_vb_light.c \ | |||
tnl\t_vb_normals.c \ | |||
tnl\t_vb_points.c \ | |||
tnl\t_vb_render.c \ | |||
tnl\t_vb_texgen.c \ | |||
tnl\t_vb_texmat.c \ | |||
tnl\t_vb_vertex.c \ | |||
swrast_setup\ss_context.c \ | |||
swrast_setup\ss_triangle.c \ | |||
swrast_setup\ss_vb.c \ | |||
api_loopback.c \ | |||
api_noop.c \ | |||
api_validate.c \ | |||
accum.c \ | |||
attrib.c \ | |||
blend.c \ | |||
buffers.c \ | |||
clip.c \ | |||
colortab.c \ | |||
config.c \ | |||
context.c \ | |||
convolve.c \ | |||
debug.c \ | |||
depth.c \ | |||
dispatch.c \ | |||
dlist.c \ | |||
drawpix.c \ | |||
enable.c \ | |||
enums.c \ | |||
eval.c \ | |||
extensions.c \ | |||
feedback.c \ | |||
fog.c \ | |||
get.c \ | |||
glapi.c \ | |||
glthread.c \ | |||
hash.c \ | |||
highpc.c \ | |||
hint.c \ | |||
histogram.c \ | |||
image.c \ | |||
imports.c \ | |||
light.c \ | |||
lines.c \ | |||
lowpc.c \ | |||
matrix.c \ | |||
mem.c \ | |||
mmath.c \ | |||
pixel.c \ | |||
points.c \ | |||
polygon.c \ | |||
rastpos.c \ | |||
state.c \ | |||
stencil.c \ | |||
teximage.c \ | |||
texformat.c \ | |||
texobj.c \ | |||
texstate.c \ | |||
texstore.c \ | |||
texutil.c \ | |||
varray.c \ | |||
vtxfmt.c \ | |||
# X86\x86.c \ | |||
# X86\common_x86.c \ | |||
# X86\3dnow.c \ | |||
# X86\sse.c \ | |||
math\m_debug_norm.c \ | |||
math\m_debug_vertex.c \ | |||
math\m_debug_xform.c \ | |||
math\m_eval.c \ | |||
math\m_matrix.c \ | |||
math\m_translate.c \ | |||
math\m_vector.c \ | |||
math\m_vertices.c \ | |||
math\m_xform.c \ | |||
array_cache\ac_context.c \ | |||
array_cache\ac_import.c \ | |||
swrast\s_aaline.c \ | |||
swrast\s_aatriangle.c \ | |||
swrast\s_accum.c \ | |||
swrast\s_alpha.c \ | |||
swrast\s_alphabuf.c \ | |||
swrast\s_bitmap.c \ | |||
swrast\s_blend.c \ | |||
swrast\s_buffers.c \ | |||
swrast\s_copypix.c \ | |||
swrast\s_context.c \ | |||
swrast\s_depth.c \ | |||
swrast\s_drawpix.c \ | |||
swrast\s_feedback.c \ | |||
swrast\s_fog.c \ | |||
swrast\s_histogram.c \ | |||
swrast\s_imaging.c \ | |||
swrast\s_lines.c \ | |||
swrast\s_logic.c \ | |||
swrast\s_masking.c \ | |||
swrast\s_pb.c \ | |||
swrast\s_pixeltex.c \ | |||
swrast\s_points.c \ | |||
swrast\s_readpix.c \ | |||
swrast\s_scissor.c \ | |||
swrast\s_span.c \ | |||
swrast\s_stencil.c \ | |||
swrast\s_texstore.c \ | |||
swrast\s_texture.c \ | |||
swrast\s_triangle.c \ | |||
swrast\s_zoom.c | |||
DRIVER_SRCS = \ | |||
Trace\tr_context.c \ | |||
Trace\tr_control.c \ | |||
Trace\tr_error.c \ | |||
Trace\tr_support.c \ | |||
Trace\tr_wrapper.c \ | |||
Trace\tr_write.c \ | |||
Windows\wgl.c \ | |||
Windows\wmesa.c | |||
ASM_SRCS = | |||
SRCS = $(CORE_SRCS) $(DRIVER_SRCS) | |||
all : mesadll $(SUBDIRS) | |||
!include "$(TOP)/mesawin32.mak" | |||
mesadll : $(MESADLL) | |||
CFLAGS = $(cvarsdll) $(CFLAGS) -D_OPENGL32_ -DBUILD_GL32 -DNO_PARALLEL -DNO_STEREO | |||
LFLAGS = $(dlllflags) $(LFLAGS) | |||
OBJS = $(ASM_SRCS:.S=.obj) $(CORE_SRCS:.c=.obj) $(DRIVER_SRCS:.c=.obj) | |||
LIBS = $(GLU) winmm.lib $(guilibsdll) | |||
$(MESADLL) : $(OBJS) mesa.def | |||
$(link) $(LFLAGS) -out:$(MESADLL) -def:mesa.def $(OBJS) $(LIBS) | |||
@echo "copying Mesa dynamic link library to lib directory..." | |||
-copy $(MESADLL) ..\lib | |||
@echo "copying Mesa import library to lib directory..." | |||
-copy $(MESALIB) ..\lib | |||
$(SUBDIRS) : | |||
@echo. | |||
@echo Making in $* directory | |||
@cd $* | |||
@nmake -f Makefile.win -nologo | |||
@cd .. | |||
install : $(MESADLL) | |||
@echo "copying Mesa dynamic link library to system directory..." | |||
-copy $(MESADLL) $(DLLINSTALL) | |||
@echo "copying Mesa header files to include directory..." | |||
-copy ..\..\include\GL\gl.h $(INCLUDEINSTALL) | |||
-copy ..\..\include\GL\glext.h $(INCLUDEINSTALL) | |||
@echo "copying Mesa import library to library directory..." | |||
-copy $(MESALIB) $(LIBINSTALL) | |||
clean :: | |||
@del /f tnl\*.obj | |||
@del /f swrast_setup\*.obj | |||
@del /f math\*.obj | |||
@del /f array_cache\*.obj | |||
@del /f swrast\*.obj | |||
@del /f Trace\*.obj | |||
@del /f osmesa\*.obj | |||
@del /f Windows\*.obj | |||
# override default inference rule with one that writes the object to | |||
# the correct subdir | |||
.c.obj : | |||
$(cc) $(CFLAGS) -I. $< /Fo$*.obj | |||
# Makefile for Win32 | |||
# | |||
# NOTE: the install target may overwrite important files in the system dir | |||
# Sept 12, 2001 | |||
# Windows driver not working. OSMesa driver works. | |||
# | |||
!include <win32.mak> | |||
TOP = .. | |||
SUBDIRS = osmesa.dir | |||
CORE_SRCS = \ | |||
tnl\t_array_api.c \ | |||
tnl\t_array_import.c \ | |||
tnl\t_context.c \ | |||
tnl\t_eval_api.c \ | |||
tnl\t_imm_alloc.c \ | |||
tnl\t_imm_api.c \ | |||
tnl\t_imm_debug.c \ | |||
tnl\t_imm_dlist.c \ | |||
tnl\t_imm_elt.c \ | |||
tnl\t_imm_eval.c \ | |||
tnl\t_imm_exec.c \ | |||
tnl\t_imm_fixup.c \ | |||
tnl\t_pipeline.c \ | |||
tnl\t_vb_fog.c \ | |||
tnl\t_vb_light.c \ | |||
tnl\t_vb_normals.c \ | |||
tnl\t_vb_points.c \ | |||
tnl\t_vb_render.c \ | |||
tnl\t_vb_texgen.c \ | |||
tnl\t_vb_texmat.c \ | |||
tnl\t_vb_vertex.c \ | |||
swrast_setup\ss_context.c \ | |||
swrast_setup\ss_triangle.c \ | |||
swrast_setup\ss_vb.c \ | |||
api_loopback.c \ | |||
api_noop.c \ | |||
api_validate.c \ | |||
accum.c \ | |||
attrib.c \ | |||
blend.c \ | |||
buffers.c \ | |||
clip.c \ | |||
colortab.c \ | |||
config.c \ | |||
context.c \ | |||
convolve.c \ | |||
debug.c \ | |||
depth.c \ | |||
dispatch.c \ | |||
dlist.c \ | |||
drawpix.c \ | |||
enable.c \ | |||
enums.c \ | |||
eval.c \ | |||
extensions.c \ | |||
feedback.c \ | |||
fog.c \ | |||
get.c \ | |||
glapi.c \ | |||
glthread.c \ | |||
hash.c \ | |||
highpc.c \ | |||
hint.c \ | |||
histogram.c \ | |||
image.c \ | |||
imports.c \ | |||
light.c \ | |||
lines.c \ | |||
lowpc.c \ | |||
matrix.c \ | |||
mem.c \ | |||
mmath.c \ | |||
pixel.c \ | |||
points.c \ | |||
polygon.c \ | |||
rastpos.c \ | |||
state.c \ | |||
stencil.c \ | |||
teximage.c \ | |||
texformat.c \ | |||
texobj.c \ | |||
texstate.c \ | |||
texstore.c \ | |||
texutil.c \ | |||
varray.c \ | |||
vtxfmt.c \ | |||
# X86\x86.c \ | |||
# X86\common_x86.c \ | |||
# X86\3dnow.c \ | |||
# X86\sse.c \ | |||
math\m_debug_norm.c \ | |||
math\m_debug_vertex.c \ | |||
math\m_debug_xform.c \ | |||
math\m_eval.c \ | |||
math\m_matrix.c \ | |||
math\m_translate.c \ | |||
math\m_vector.c \ | |||
math\m_vertices.c \ | |||
math\m_xform.c \ | |||
array_cache\ac_context.c \ | |||
array_cache\ac_import.c \ | |||
swrast\s_aaline.c \ | |||
swrast\s_aatriangle.c \ | |||
swrast\s_accum.c \ | |||
swrast\s_alpha.c \ | |||
swrast\s_alphabuf.c \ | |||
swrast\s_bitmap.c \ | |||
swrast\s_blend.c \ | |||
swrast\s_buffers.c \ | |||
swrast\s_copypix.c \ | |||
swrast\s_context.c \ | |||
swrast\s_depth.c \ | |||
swrast\s_drawpix.c \ | |||
swrast\s_feedback.c \ | |||
swrast\s_fog.c \ | |||
swrast\s_histogram.c \ | |||
swrast\s_imaging.c \ | |||
swrast\s_lines.c \ | |||
swrast\s_logic.c \ | |||
swrast\s_masking.c \ | |||
swrast\s_pb.c \ | |||
swrast\s_pixeltex.c \ | |||
swrast\s_points.c \ | |||
swrast\s_readpix.c \ | |||
swrast\s_scissor.c \ | |||
swrast\s_span.c \ | |||
swrast\s_stencil.c \ | |||
swrast\s_texstore.c \ | |||
swrast\s_texture.c \ | |||
swrast\s_triangle.c \ | |||
swrast\s_zoom.c | |||
DRIVER_SRCS = \ | |||
Trace\tr_context.c \ | |||
Trace\tr_control.c \ | |||
Trace\tr_error.c \ | |||
Trace\tr_support.c \ | |||
Trace\tr_wrapper.c \ | |||
Trace\tr_write.c \ | |||
Windows\wgl.c \ | |||
Windows\wmesa.c | |||
ASM_SRCS = | |||
SRCS = $(CORE_SRCS) $(DRIVER_SRCS) | |||
all : mesadll $(SUBDIRS) | |||
!include "$(TOP)/mesawin32.mak" | |||
mesadll : $(MESADLL) | |||
CFLAGS = $(cvarsdll) $(CFLAGS) -D_OPENGL32_ -DBUILD_GL32 -DNO_PARALLEL -DNO_STEREO | |||
LFLAGS = $(dlllflags) $(LFLAGS) | |||
OBJS = $(ASM_SRCS:.S=.obj) $(CORE_SRCS:.c=.obj) $(DRIVER_SRCS:.c=.obj) | |||
LIBS = $(GLU) winmm.lib $(guilibsdll) | |||
$(MESADLL) : $(OBJS) mesa.def | |||
$(link) $(LFLAGS) -out:$(MESADLL) -def:mesa.def $(OBJS) $(LIBS) | |||
@echo "copying Mesa dynamic link library to lib directory..." | |||
-copy $(MESADLL) ..\lib | |||
@echo "copying Mesa import library to lib directory..." | |||
-copy $(MESALIB) ..\lib | |||
$(SUBDIRS) : | |||
@echo. | |||
@echo Making in $* directory | |||
@cd $* | |||
@nmake -f Makefile.win -nologo | |||
@cd .. | |||
install : $(MESADLL) | |||
@echo "copying Mesa dynamic link library to system directory..." | |||
-copy $(MESADLL) $(DLLINSTALL) | |||
@echo "copying Mesa header files to include directory..." | |||
-copy ..\..\include\GL\gl.h $(INCLUDEINSTALL) | |||
-copy ..\..\include\GL\glext.h $(INCLUDEINSTALL) | |||
@echo "copying Mesa import library to library directory..." | |||
-copy $(MESALIB) $(LIBINSTALL) | |||
clean :: | |||
@del /f tnl\*.obj | |||
@del /f swrast_setup\*.obj | |||
@del /f math\*.obj | |||
@del /f array_cache\*.obj | |||
@del /f swrast\*.obj | |||
@del /f Trace\*.obj | |||
@del /f osmesa\*.obj | |||
@del /f Windows\*.obj | |||
# override default inference rule with one that writes the object to | |||
# the correct subdir | |||
.c.obj : | |||
$(cc) $(CFLAGS) -I. $< /Fo$*.obj |
@@ -1,473 +1,473 @@ | |||
DESCRIPTION 'Mesa (OpenGL work-alike) for Win32' | |||
VERSION 3.5 | |||
EXPORTS | |||
glAccum | |||
glAlphaFunc | |||
glAreTexturesResident | |||
glAreTexturesResidentEXT | |||
glArrayElement | |||
glArrayElementEXT | |||
glBegin | |||
glBindTexture | |||
glBindTextureEXT | |||
glBitmap | |||
glBlendColorEXT | |||
glBlendEquationEXT | |||
glBlendFunc | |||
glCallList | |||
glCallLists | |||
glClear | |||
glClearAccum | |||
glClearColor | |||
glClearDepth | |||
glClearIndex | |||
glClearStencil | |||
glClipPlane | |||
glColor3b | |||
glColor3bv | |||
glColor3d | |||
glColor3dv | |||
glColor3f | |||
glColor3fv | |||
glColor3i | |||
glColor3iv | |||
glColor3s | |||
glColor3sv | |||
glColor3ub | |||
glColor3ubv | |||
glColor3ui | |||
glColor3uiv | |||
glColor3us | |||
glColor3usv | |||
glColor4b | |||
glColor4bv | |||
glColor4d | |||
glColor4dv | |||
glColor4f | |||
glColor4fv | |||
glColor4i | |||
glColor4iv | |||
glColor4s | |||
glColor4sv | |||
glColor4ub | |||
glColor4ubv | |||
glColor4ui | |||
glColor4uiv | |||
glColor4us | |||
glColor4usv | |||
glColorMask | |||
glColorMaterial | |||
glColorPointer | |||
glColorPointerEXT | |||
glColorSubTableEXT | |||
glColorTableEXT | |||
glCopyPixels | |||
glCopyTexImage1D | |||
glCopyTexImage2D | |||
glCopyTexSubImage1D | |||
glCopyTexSubImage2D | |||
glCopyTexSubImage3DEXT | |||
glCullFace | |||
glDeleteLists | |||
glDeleteTextures | |||
glDeleteTexturesEXT | |||
glDepthFunc | |||
glDepthMask | |||
glDepthRange | |||
glDisable | |||
glDisableClientState | |||
glDrawArrays | |||
glDrawArraysEXT | |||
glDrawBuffer | |||
glDrawElements | |||
glDrawPixels | |||
glEdgeFlag | |||
glEdgeFlagPointer | |||
glEdgeFlagPointerEXT | |||
glEdgeFlagv | |||
glEnable | |||
glEnableClientState | |||
glEnd | |||
glEndList | |||
glEvalCoord1d | |||
glEvalCoord1dv | |||
glEvalCoord1f | |||
glEvalCoord1fv | |||
glEvalCoord2d | |||
glEvalCoord2dv | |||
glEvalCoord2f | |||
glEvalCoord2fv | |||
glEvalMesh1 | |||
glEvalMesh2 | |||
glEvalPoint1 | |||
glEvalPoint2 | |||
glFeedbackBuffer | |||
glFinish | |||
glFlush | |||
glFogf | |||
glFogfv | |||
glFogi | |||
glFogiv | |||
glFrontFace | |||
glFrustum | |||
glGenLists | |||
glGenTextures | |||
glGenTexturesEXT | |||
glGetBooleanv | |||
glGetClipPlane | |||
glGetColorTableEXT | |||
glGetColorTableParameterfvEXT | |||
glGetColorTableParameterivEXT | |||
glGetDoublev | |||
glGetError | |||
glGetFloatv | |||
glGetIntegerv | |||
glGetLightfv | |||
glGetLightiv | |||
glGetMapdv | |||
glGetMapfv | |||
glGetMapiv | |||
glGetMaterialfv | |||
glGetMaterialiv | |||
glGetPixelMapfv | |||
glGetPixelMapuiv | |||
glGetPixelMapusv | |||
glGetPointerv | |||
glGetPointervEXT | |||
glGetPolygonStipple | |||
glGetString | |||
glGetTexEnvfv | |||
glGetTexEnviv | |||
glGetTexGendv | |||
glGetTexGenfv | |||
glGetTexGeniv | |||
glGetTexImage | |||
glGetTexLevelParameterfv | |||
glGetTexLevelParameteriv | |||
glGetTexParameterfv | |||
glGetTexParameteriv | |||
glHint | |||
glIndexd | |||
glIndexdv | |||
glIndexf | |||
glIndexfv | |||
glIndexi | |||
glIndexiv | |||
glIndexMask | |||
glIndexPointer | |||
glIndexPointerEXT | |||
glIndexs | |||
glIndexsv | |||
glIndexub | |||
glIndexubv | |||
glInitNames | |||
glInterleavedArrays | |||
glIsEnabled | |||
glIsList | |||
glIsTexture | |||
glIsTextureEXT | |||
glLightf | |||
glLightfv | |||
glLighti | |||
glLightiv | |||
glLightModelf | |||
glLightModelfv | |||
glLightModeli | |||
glLightModeliv | |||
glLineStipple | |||
glLineWidth | |||
glListBase | |||
glLoadIdentity | |||
glLoadMatrixd | |||
glLoadMatrixf | |||
glLoadName | |||
glLogicOp | |||
glMap1d | |||
glMap1f | |||
glMap2d | |||
glMap2f | |||
glMapGrid1d | |||
glMapGrid1f | |||
glMapGrid2d | |||
glMapGrid2f | |||
glMaterialf | |||
glMaterialfv | |||
glMateriali | |||
glMaterialiv | |||
glMatrixMode | |||
glMultMatrixd | |||
glMultMatrixf | |||
glNewList | |||
glNormal3b | |||
glNormal3bv | |||
glNormal3d | |||
glNormal3dv | |||
glNormal3f | |||
glNormal3fv | |||
glNormal3i | |||
glNormal3iv | |||
glNormal3s | |||
glNormal3sv | |||
glNormalPointer | |||
glNormalPointerEXT | |||
glOrtho | |||
glPassThrough | |||
glPixelMapfv | |||
glPixelMapuiv | |||
glPixelMapusv | |||
glPixelStoref | |||
glPixelStorei | |||
glPixelTransferf | |||
glPixelTransferi | |||
glPixelZoom | |||
glPointParameterfEXT | |||
glPointParameterfvEXT | |||
glPointSize | |||
glPolygonMode | |||
glPolygonOffset | |||
glPolygonOffsetEXT | |||
glPolygonStipple | |||
glPopAttrib | |||
glPopClientAttrib | |||
glPopMatrix | |||
glPopName | |||
glPrioritizeTextures | |||
glPrioritizeTexturesEXT | |||
glPushAttrib | |||
glPushClientAttrib | |||
glPushMatrix | |||
glPushName | |||
glRasterPos2d | |||
glRasterPos2dv | |||
glRasterPos2f | |||
glRasterPos2fv | |||
glRasterPos2i | |||
glRasterPos2iv | |||
glRasterPos2s | |||
glRasterPos2sv | |||
glRasterPos3d | |||
glRasterPos3dv | |||
glRasterPos3f | |||
glRasterPos3fv | |||
glRasterPos3i | |||
glRasterPos3iv | |||
glRasterPos3s | |||
glRasterPos3sv | |||
glRasterPos4d | |||
glRasterPos4dv | |||
glRasterPos4f | |||
glRasterPos4fv | |||
glRasterPos4i | |||
glRasterPos4iv | |||
glRasterPos4s | |||
glRasterPos4sv | |||
glReadBuffer | |||
glReadPixels | |||
glRectd | |||
glRectdv | |||
glRectf | |||
glRectfv | |||
glRecti | |||
glRectiv | |||
glRects | |||
glRectsv | |||
glRenderMode | |||
glResizeBuffersMESA | |||
glRotated | |||
glRotatef | |||
glScaled | |||
glScalef | |||
glScissor | |||
glSelectBuffer | |||
glShadeModel | |||
glStencilFunc | |||
glStencilMask | |||
glStencilOp | |||
glTexCoord1d | |||
glTexCoord1dv | |||
glTexCoord1f | |||
glTexCoord1fv | |||
glTexCoord1i | |||
glTexCoord1iv | |||
glTexCoord1s | |||
glTexCoord1sv | |||
glTexCoord2d | |||
glTexCoord2dv | |||
glTexCoord2f | |||
glTexCoord2fv | |||
glTexCoord2i | |||
glTexCoord2iv | |||
glTexCoord2s | |||
glTexCoord2sv | |||
glTexCoord3d | |||
glTexCoord3dv | |||
glTexCoord3f | |||
glTexCoord3fv | |||
glTexCoord3i | |||
glTexCoord3iv | |||
glTexCoord3s | |||
glTexCoord3sv | |||
glTexCoord4d | |||
glTexCoord4dv | |||
glTexCoord4f | |||
glTexCoord4fv | |||
glTexCoord4i | |||
glTexCoord4iv | |||
glTexCoord4s | |||
glTexCoord4sv | |||
glTexCoordPointer | |||
glTexCoordPointerEXT | |||
glTexEnvf | |||
glTexEnvfv | |||
glTexEnvi | |||
glTexEnviv | |||
glTexGend | |||
glTexGendv | |||
glTexGenf | |||
glTexGenfv | |||
glTexGeni | |||
glTexGeniv | |||
glTexImage1D | |||
glTexImage2D | |||
glTexImage3DEXT | |||
glTexParameterf | |||
glTexParameterfv | |||
glTexParameteri | |||
glTexParameteriv | |||
glTexSubImage1D | |||
glTexSubImage2D | |||
glTexSubImage3DEXT | |||
glTranslated | |||
glTranslatef | |||
glVertex2d | |||
glVertex2dv | |||
glVertex2f | |||
glVertex2fv | |||
glVertex2i | |||
glVertex2iv | |||
glVertex2s | |||
glVertex2sv | |||
glVertex3d | |||
glVertex3dv | |||
glVertex3f | |||
glVertex3fv | |||
glVertex3i | |||
glVertex3iv | |||
glVertex3s | |||
glVertex3sv | |||
glVertex4d | |||
glVertex4dv | |||
glVertex4f | |||
glVertex4fv | |||
glVertex4i | |||
glVertex4iv | |||
glVertex4s | |||
glVertex4sv | |||
glVertexPointer | |||
glVertexPointerEXT | |||
glViewport | |||
glWindowPos2dMESA | |||
glWindowPos2dvMESA | |||
glWindowPos2fMESA | |||
glWindowPos2fvMESA | |||
glWindowPos2iMESA | |||
glWindowPos2ivMESA | |||
glWindowPos2sMESA | |||
glWindowPos2svMESA | |||
glWindowPos3dMESA | |||
glWindowPos3dvMESA | |||
glWindowPos3fMESA | |||
glWindowPos3fvMESA | |||
glWindowPos3iMESA | |||
glWindowPos3ivMESA | |||
glWindowPos3sMESA | |||
glWindowPos3svMESA | |||
glWindowPos4dMESA | |||
glWindowPos4dvMESA | |||
glWindowPos4fMESA | |||
glWindowPos4fvMESA | |||
glWindowPos4iMESA | |||
glWindowPos4ivMESA | |||
glWindowPos4sMESA | |||
glWindowPos4svMESA | |||
_swsetup_Wakeup | |||
_swsetup_CreateContext | |||
_tnl_CreateContext | |||
_ac_CreateContext | |||
_swrast_CreateContext | |||
_mesa_free_context_data | |||
_mesa_create_framebuffer | |||
_mesa_enable_1_3_extensions | |||
_mesa_enable_sw_extensions | |||
_mesa_destroy_visual | |||
_mesa_initialize_context | |||
_mesa_create_visual | |||
_mesa_destroy_framebuffer | |||
_swrast_DestroyContext | |||
_ac_DestroyContext | |||
_tnl_DestroyContext | |||
_swsetup_DestroyContext | |||
_mesa_Viewport | |||
_mesa_make_current | |||
_mesa_get_current_context | |||
_mesa_error | |||
_swrast_choose_triangle | |||
_mesa_zbuffer_address | |||
_swrast_choose_line | |||
_tnl_InvalidateState | |||
_ac_InvalidateState | |||
_swsetup_InvalidateState | |||
_swrast_InvalidateState | |||
_tnl_run_pipeline | |||
_swrast_CopyConvolutionFilter2D | |||
_swrast_CopyConvolutionFilter1D | |||
_swrast_CopyColorSubTable | |||
_swrast_CopyColorTable | |||
_swrast_copy_texsubimage3d | |||
_swrast_copy_texsubimage2d | |||
_swrast_copy_texsubimage1d | |||
_swrast_copy_teximage2d | |||
_swrast_copy_teximage1d | |||
_mesa_test_proxy_teximage | |||
_mesa_store_texsubimage3d | |||
_mesa_store_texsubimage2d | |||
_mesa_store_texsubimage1d | |||
_mesa_store_teximage3d | |||
_mesa_store_teximage2d | |||
_mesa_store_teximage1d | |||
_mesa_choose_tex_format | |||
_mesa_base_compressed_texformat | |||
_mesa_compressed_texture_size | |||
_mesa_get_compressed_teximage | |||
_swrast_ReadPixels | |||
_swrast_DrawPixels | |||
_swrast_CopyPixels | |||
_swrast_Bitmap | |||
_swrast_Accum | |||
_swrast_alloc_buffers | |||
_swrast_GetDeviceDriverReference | |||
_swrast_Clear | |||
wglCopyContext | |||
wglCreateContext | |||
wglDeleteContext | |||
wglCreateLayerContext | |||
wglGetCurrentContext | |||
wglGetCurrentDC | |||
wglMakeCurrent | |||
wglShareLists | |||
wglUseFontBitmapsA | |||
wglUseFontBitmapsW | |||
wglUseFontOutlinesA | |||
wglUseFontOutlinesW | |||
wglDescribeLayerPlane | |||
wglSetLayerPaletteEntries | |||
wglGetLayerPaletteEntries | |||
wglRealizeLayerPalette | |||
wglSwapLayerBuffers | |||
wglChoosePixelFormat | |||
wglDescribePixelFormat | |||
wglGetProcAddress | |||
wglGetPixelFormat | |||
wglSetPixelFormat | |||
wglSwapBuffers | |||
DESCRIPTION 'Mesa (OpenGL work-alike) for Win32' | |||
VERSION 3.5 | |||
EXPORTS | |||
glAccum | |||
glAlphaFunc | |||
glAreTexturesResident | |||
glAreTexturesResidentEXT | |||
glArrayElement | |||
glArrayElementEXT | |||
glBegin | |||
glBindTexture | |||
glBindTextureEXT | |||
glBitmap | |||
glBlendColorEXT | |||
glBlendEquationEXT | |||
glBlendFunc | |||
glCallList | |||
glCallLists | |||
glClear | |||
glClearAccum | |||
glClearColor | |||
glClearDepth | |||
glClearIndex | |||
glClearStencil | |||
glClipPlane | |||
glColor3b | |||
glColor3bv | |||
glColor3d | |||
glColor3dv | |||
glColor3f | |||
glColor3fv | |||
glColor3i | |||
glColor3iv | |||
glColor3s | |||
glColor3sv | |||
glColor3ub | |||
glColor3ubv | |||
glColor3ui | |||
glColor3uiv | |||
glColor3us | |||
glColor3usv | |||
glColor4b | |||
glColor4bv | |||
glColor4d | |||
glColor4dv | |||
glColor4f | |||
glColor4fv | |||
glColor4i | |||
glColor4iv | |||
glColor4s | |||
glColor4sv | |||
glColor4ub | |||
glColor4ubv | |||
glColor4ui | |||
glColor4uiv | |||
glColor4us | |||
glColor4usv | |||
glColorMask | |||
glColorMaterial | |||
glColorPointer | |||
glColorPointerEXT | |||
glColorSubTableEXT | |||
glColorTableEXT | |||
glCopyPixels | |||
glCopyTexImage1D | |||
glCopyTexImage2D | |||
glCopyTexSubImage1D | |||
glCopyTexSubImage2D | |||
glCopyTexSubImage3DEXT | |||
glCullFace | |||
glDeleteLists | |||
glDeleteTextures | |||
glDeleteTexturesEXT | |||
glDepthFunc | |||
glDepthMask | |||
glDepthRange | |||
glDisable | |||
glDisableClientState | |||
glDrawArrays | |||
glDrawArraysEXT | |||
glDrawBuffer | |||
glDrawElements | |||
glDrawPixels | |||
glEdgeFlag | |||
glEdgeFlagPointer | |||
glEdgeFlagPointerEXT | |||
glEdgeFlagv | |||
glEnable | |||
glEnableClientState | |||
glEnd | |||
glEndList | |||
glEvalCoord1d | |||
glEvalCoord1dv | |||
glEvalCoord1f | |||
glEvalCoord1fv | |||
glEvalCoord2d | |||
glEvalCoord2dv | |||
glEvalCoord2f | |||
glEvalCoord2fv | |||
glEvalMesh1 | |||
glEvalMesh2 | |||
glEvalPoint1 | |||
glEvalPoint2 | |||
glFeedbackBuffer | |||
glFinish | |||
glFlush | |||
glFogf | |||
glFogfv | |||
glFogi | |||
glFogiv | |||
glFrontFace | |||
glFrustum | |||
glGenLists | |||
glGenTextures | |||
glGenTexturesEXT | |||
glGetBooleanv | |||
glGetClipPlane | |||
glGetColorTableEXT | |||
glGetColorTableParameterfvEXT | |||
glGetColorTableParameterivEXT | |||
glGetDoublev | |||
glGetError | |||
glGetFloatv | |||
glGetIntegerv | |||
glGetLightfv | |||
glGetLightiv | |||
glGetMapdv | |||
glGetMapfv | |||
glGetMapiv | |||
glGetMaterialfv | |||
glGetMaterialiv | |||
glGetPixelMapfv | |||
glGetPixelMapuiv | |||
glGetPixelMapusv | |||
glGetPointerv | |||
glGetPointervEXT | |||
glGetPolygonStipple | |||
glGetString | |||
glGetTexEnvfv | |||
glGetTexEnviv | |||
glGetTexGendv | |||
glGetTexGenfv | |||
glGetTexGeniv | |||
glGetTexImage | |||
glGetTexLevelParameterfv | |||
glGetTexLevelParameteriv | |||
glGetTexParameterfv | |||
glGetTexParameteriv | |||
glHint | |||
glIndexd | |||
glIndexdv | |||
glIndexf | |||
glIndexfv | |||
glIndexi | |||
glIndexiv | |||
glIndexMask | |||
glIndexPointer | |||
glIndexPointerEXT | |||
glIndexs | |||
glIndexsv | |||
glIndexub | |||
glIndexubv | |||
glInitNames | |||
glInterleavedArrays | |||
glIsEnabled | |||
glIsList | |||
glIsTexture | |||
glIsTextureEXT | |||
glLightf | |||
glLightfv | |||
glLighti | |||
glLightiv | |||
glLightModelf | |||
glLightModelfv | |||
glLightModeli | |||
glLightModeliv | |||
glLineStipple | |||
glLineWidth | |||
glListBase | |||
glLoadIdentity | |||
glLoadMatrixd | |||
glLoadMatrixf | |||
glLoadName | |||
glLogicOp | |||
glMap1d | |||
glMap1f | |||
glMap2d | |||
glMap2f | |||
glMapGrid1d | |||
glMapGrid1f | |||
glMapGrid2d | |||
glMapGrid2f | |||
glMaterialf | |||
glMaterialfv | |||
glMateriali | |||
glMaterialiv | |||
glMatrixMode | |||
glMultMatrixd | |||
glMultMatrixf | |||
glNewList | |||
glNormal3b | |||
glNormal3bv | |||
glNormal3d | |||
glNormal3dv | |||
glNormal3f | |||
glNormal3fv | |||
glNormal3i | |||
glNormal3iv | |||
glNormal3s | |||
glNormal3sv | |||
glNormalPointer | |||
glNormalPointerEXT | |||
glOrtho | |||
glPassThrough | |||
glPixelMapfv | |||
glPixelMapuiv | |||
glPixelMapusv | |||
glPixelStoref | |||
glPixelStorei | |||
glPixelTransferf | |||
glPixelTransferi | |||
glPixelZoom | |||
glPointParameterfEXT | |||
glPointParameterfvEXT | |||
glPointSize | |||
glPolygonMode | |||
glPolygonOffset | |||
glPolygonOffsetEXT | |||
glPolygonStipple | |||
glPopAttrib | |||
glPopClientAttrib | |||
glPopMatrix | |||
glPopName | |||
glPrioritizeTextures | |||
glPrioritizeTexturesEXT | |||
glPushAttrib | |||
glPushClientAttrib | |||
glPushMatrix | |||
glPushName | |||
glRasterPos2d | |||
glRasterPos2dv | |||
glRasterPos2f | |||
glRasterPos2fv | |||
glRasterPos2i | |||
glRasterPos2iv | |||
glRasterPos2s | |||
glRasterPos2sv | |||
glRasterPos3d | |||
glRasterPos3dv | |||
glRasterPos3f | |||
glRasterPos3fv | |||
glRasterPos3i | |||
glRasterPos3iv | |||
glRasterPos3s | |||
glRasterPos3sv | |||
glRasterPos4d | |||
glRasterPos4dv | |||
glRasterPos4f | |||
glRasterPos4fv | |||
glRasterPos4i | |||
glRasterPos4iv | |||
glRasterPos4s | |||
glRasterPos4sv | |||
glReadBuffer | |||
glReadPixels | |||
glRectd | |||
glRectdv | |||
glRectf | |||
glRectfv | |||
glRecti | |||
glRectiv | |||
glRects | |||
glRectsv | |||
glRenderMode | |||
glResizeBuffersMESA | |||
glRotated | |||
glRotatef | |||
glScaled | |||
glScalef | |||
glScissor | |||
glSelectBuffer | |||
glShadeModel | |||
glStencilFunc | |||
glStencilMask | |||
glStencilOp | |||
glTexCoord1d | |||
glTexCoord1dv | |||
glTexCoord1f | |||
glTexCoord1fv | |||
glTexCoord1i | |||
glTexCoord1iv | |||
glTexCoord1s | |||
glTexCoord1sv | |||
glTexCoord2d | |||
glTexCoord2dv | |||
glTexCoord2f | |||
glTexCoord2fv | |||
glTexCoord2i | |||
glTexCoord2iv | |||
glTexCoord2s | |||
glTexCoord2sv | |||
glTexCoord3d | |||
glTexCoord3dv | |||
glTexCoord3f | |||
glTexCoord3fv | |||
glTexCoord3i | |||
glTexCoord3iv | |||
glTexCoord3s | |||
glTexCoord3sv | |||
glTexCoord4d | |||
glTexCoord4dv | |||
glTexCoord4f | |||
glTexCoord4fv | |||
glTexCoord4i | |||
glTexCoord4iv | |||
glTexCoord4s | |||
glTexCoord4sv | |||
glTexCoordPointer | |||
glTexCoordPointerEXT | |||
glTexEnvf | |||
glTexEnvfv | |||
glTexEnvi | |||
glTexEnviv | |||
glTexGend | |||
glTexGendv | |||
glTexGenf | |||
glTexGenfv | |||
glTexGeni | |||
glTexGeniv | |||
glTexImage1D | |||
glTexImage2D | |||
glTexImage3DEXT | |||
glTexParameterf | |||
glTexParameterfv | |||
glTexParameteri | |||
glTexParameteriv | |||
glTexSubImage1D | |||
glTexSubImage2D | |||
glTexSubImage3DEXT | |||
glTranslated | |||
glTranslatef | |||
glVertex2d | |||
glVertex2dv | |||
glVertex2f | |||
glVertex2fv | |||
glVertex2i | |||
glVertex2iv | |||
glVertex2s | |||
glVertex2sv | |||
glVertex3d | |||
glVertex3dv | |||
glVertex3f | |||
glVertex3fv | |||
glVertex3i | |||
glVertex3iv | |||
glVertex3s | |||
glVertex3sv | |||
glVertex4d | |||
glVertex4dv | |||
glVertex4f | |||
glVertex4fv | |||
glVertex4i | |||
glVertex4iv | |||
glVertex4s | |||
glVertex4sv | |||
glVertexPointer | |||
glVertexPointerEXT | |||
glViewport | |||
glWindowPos2dMESA | |||
glWindowPos2dvMESA | |||
glWindowPos2fMESA | |||
glWindowPos2fvMESA | |||
glWindowPos2iMESA | |||
glWindowPos2ivMESA | |||
glWindowPos2sMESA | |||
glWindowPos2svMESA | |||
glWindowPos3dMESA | |||
glWindowPos3dvMESA | |||
glWindowPos3fMESA | |||
glWindowPos3fvMESA | |||
glWindowPos3iMESA | |||
glWindowPos3ivMESA | |||
glWindowPos3sMESA | |||
glWindowPos3svMESA | |||
glWindowPos4dMESA | |||
glWindowPos4dvMESA | |||
glWindowPos4fMESA | |||
glWindowPos4fvMESA | |||
glWindowPos4iMESA | |||
glWindowPos4ivMESA | |||
glWindowPos4sMESA | |||
glWindowPos4svMESA | |||
_swsetup_Wakeup | |||
_swsetup_CreateContext | |||
_tnl_CreateContext | |||
_ac_CreateContext | |||
_swrast_CreateContext | |||
_mesa_free_context_data | |||
_mesa_create_framebuffer | |||
_mesa_enable_1_3_extensions | |||
_mesa_enable_sw_extensions | |||
_mesa_destroy_visual | |||
_mesa_initialize_context | |||
_mesa_create_visual | |||
_mesa_destroy_framebuffer | |||
_swrast_DestroyContext | |||
_ac_DestroyContext | |||
_tnl_DestroyContext | |||
_swsetup_DestroyContext | |||
_mesa_Viewport | |||
_mesa_make_current | |||
_mesa_get_current_context | |||
_mesa_error | |||
_swrast_choose_triangle | |||
_mesa_zbuffer_address | |||
_swrast_choose_line | |||
_tnl_InvalidateState | |||
_ac_InvalidateState | |||
_swsetup_InvalidateState | |||
_swrast_InvalidateState | |||
_tnl_run_pipeline | |||
_swrast_CopyConvolutionFilter2D | |||
_swrast_CopyConvolutionFilter1D | |||
_swrast_CopyColorSubTable | |||
_swrast_CopyColorTable | |||
_swrast_copy_texsubimage3d | |||
_swrast_copy_texsubimage2d | |||
_swrast_copy_texsubimage1d | |||
_swrast_copy_teximage2d | |||
_swrast_copy_teximage1d | |||
_mesa_test_proxy_teximage | |||
_mesa_store_texsubimage3d | |||
_mesa_store_texsubimage2d | |||
_mesa_store_texsubimage1d | |||
_mesa_store_teximage3d | |||
_mesa_store_teximage2d | |||
_mesa_store_teximage1d | |||
_mesa_choose_tex_format | |||
_mesa_base_compressed_texformat | |||
_mesa_compressed_texture_size | |||
_mesa_get_compressed_teximage | |||
_swrast_ReadPixels | |||
_swrast_DrawPixels | |||
_swrast_CopyPixels | |||
_swrast_Bitmap | |||
_swrast_Accum | |||
_swrast_alloc_buffers | |||
_swrast_GetDeviceDriverReference | |||
_swrast_Clear | |||
wglCopyContext | |||
wglCreateContext | |||
wglDeleteContext | |||
wglCreateLayerContext | |||
wglGetCurrentContext | |||
wglGetCurrentDC | |||
wglMakeCurrent | |||
wglShareLists | |||
wglUseFontBitmapsA | |||
wglUseFontBitmapsW | |||
wglUseFontOutlinesA | |||
wglUseFontOutlinesW | |||
wglDescribeLayerPlane | |||
wglSetLayerPaletteEntries | |||
wglGetLayerPaletteEntries | |||
wglRealizeLayerPalette | |||
wglSwapLayerBuffers | |||
wglChoosePixelFormat | |||
wglDescribePixelFormat | |||
wglGetProcAddress | |||
wglGetPixelFormat | |||
wglSetPixelFormat | |||
wglSwapBuffers |