Remove windml progs
authorKristian Høgsberg <krh@bitplanet.net>
Thu, 25 Feb 2010 21:17:40 +0000 (16:17 -0500)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 25 Feb 2010 22:40:11 +0000 (17:40 -0500)
18 files changed:
progs/windml/Makefile.ugl [deleted file]
progs/windml/readtex.c [deleted file]
progs/windml/uglaccum.c [deleted file]
progs/windml/uglalldemos.c [deleted file]
progs/windml/uglbounce.c [deleted file]
progs/windml/uglcube.c [deleted file]
progs/windml/ugldrawpix.c [deleted file]
progs/windml/uglflip.c [deleted file]
progs/windml/uglgears.c [deleted file]
progs/windml/uglicotorus.c [deleted file]
progs/windml/uglline.c [deleted file]
progs/windml/uglolympic.c [deleted file]
progs/windml/uglpoint.c [deleted file]
progs/windml/uglstencil.c [deleted file]
progs/windml/uglteapot.c [deleted file]
progs/windml/ugltexcube.c [deleted file]
progs/windml/ugltexcyl.c [deleted file]
progs/windml/wrs_logo.bmp [deleted file]

diff --git a/progs/windml/Makefile.ugl b/progs/windml/Makefile.ugl
deleted file mode 100644 (file)
index 90b0b29..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-# Mesa 3-D graphics library
-# Version:  3.5
-#
-# Copyright (C) 2001 Wind River Systems, Inc
-
-# The MIT License
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-# 
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-# 
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
-# DEALINGS IN THE SOFTWARE.
-
-# Makefile for UGL/Mesa demos
-
-DEMO_SOURCES = readtex.c uglaccum.c uglalldemos.c uglbounce.c uglcube.c \
-ugldrawpix.c uglflip.c uglgears.c uglicotorus.c uglline.c uglolympic.c \
-uglpoint.c uglstencil.c uglteapot.c ugltexcube.c ugltexcyl.c
-#win2d3d/winRoot.c win2d3d/winBall.c win2d3d/winPuzzle.c win2d3d/winHello.c \
-#win2d3d/winImage.c win2d3d/winGears.c
-
-DEMO_OBJECTS = $(DEMO_SOURCES:.c=.o)
-
-SOURCES = $(DEMO_SOURCES)
-
-include ../rules.windml
-
-##### TARGETS #####
-
-all: depend.$(CPU)$(TOOL) $(DEMO_OBJECTS)
-
-depend.$(CPU)$(TOOL):
-ifeq ($(WIND_HOST_TYPE),x86-win32)
-       @ $(RM) $@
-       @ $(ECHO) Creating depend.$(CPU)$(TOOL)
-ifneq ($(SOURCES),)
-       @ for %f in ($(SOURCES)) do \
-       $(CC) -MM $(CFLAGS) %f >>$@ 
-endif
-else
-Makefile
-       @ $(RM) $@
-       @ $(ECHO) "Creating depend.$(CPU)$(TOOL)"
-ifneq ($(SOURCES),)
-       @ for FILE in $(filter-out $(NODEPENDOBJS), $(SOURCES)); \
-       do \
-       $(CC) -MM $(CFLAGS) $$FILE  \
-       | $(TCL) $(BIN_DIR)/depend.tcl $(TGT_DIR) >>$@; \
-       done    
-endif
-endif
-
-.PHONY = clean
-
-clean:
-       $(RM) $(DEMO_OBJECTS)
-       $(RM) depend.$(CPU)$(TOOL)
diff --git a/progs/windml/readtex.c b/progs/windml/readtex.c
deleted file mode 100644 (file)
index 659c49d..0000000
+++ /dev/null
@@ -1,365 +0,0 @@
-/* readtex.c */
-
-/*
- * Read an SGI .rgb image file and generate a mipmap texture set.
- * Much of this code was borrowed from SGI's tk OpenGL toolkit.
- */
-
-#include <GL/gl.h>
-#include <GL/glu.h>
-#include <stdio.h>
-#include <stdlib.h> 
-#include <string.h>
-#include "../util/readtex.h"
-
-
-#ifndef SEEK_SET
-#  define SEEK_SET 0
-#endif
-
-
-/*
-** RGB Image Structure
-*/
-
-typedef struct _TK_RGBImageRec {
-   GLint sizeX, sizeY;
-   GLint components;
-   unsigned char *data;
-} TK_RGBImageRec;
-
-
-
-/******************************************************************************/
-
-typedef struct _rawImageRec {
-    unsigned short imagic;
-    unsigned short type;
-    unsigned short dim;
-    unsigned short sizeX, sizeY, sizeZ;
-    unsigned long min, max;
-    unsigned long wasteBytes;
-    char name[80];
-    unsigned long colorMap;
-    FILE *file;
-    unsigned char *tmp, *tmpR, *tmpG, *tmpB, *tmpA;
-    unsigned long rleEnd;
-    GLuint *rowStart;
-    GLint *rowSize;
-} rawImageRec;
-
-/******************************************************************************/
-
-static void ConvertShort(unsigned short *array, long length)
-{
-   unsigned long b1, b2;
-   unsigned char *ptr;
-
-   ptr = (unsigned char *)array;
-   while (length--) {
-      b1 = *ptr++;
-      b2 = *ptr++;
-      *array++ = (unsigned short) ((b1 << 8) | (b2));
-   }
-}
-
-static void ConvertLong(GLuint *array, long length)
-{
-   unsigned long b1, b2, b3, b4;
-   unsigned char *ptr;
-
-   ptr = (unsigned char *)array;
-   while (length--) {
-      b1 = *ptr++;
-      b2 = *ptr++;
-      b3 = *ptr++;
-      b4 = *ptr++;
-      *array++ = (b1 << 24) | (b2 << 16) | (b3 << 8) | (b4);
-   }
-}
-
-static rawImageRec *RawImageOpen(const char *fileName)
-{
-   union {
-      int testWord;
-      char testByte[4];
-   } endianTest;
-   rawImageRec *raw;
-   GLenum swapFlag;
-   int x;
-
-   endianTest.testWord = 1;
-   if (endianTest.testByte[0] == 1) {
-      swapFlag = GL_TRUE;
-   } else {
-      swapFlag = GL_FALSE;
-   }
-
-   raw = (rawImageRec *)malloc(sizeof(rawImageRec));
-   if (raw == NULL) {
-      fprintf(stderr, "Out of memory!\n");
-      return NULL;
-   }
-   if ((raw->file = fopen(fileName, "rb")) == NULL) {
-      perror(fileName);
-      return NULL;
-   }
-
-   fread(raw, 1, 12, raw->file);
-
-   if (swapFlag) {
-      ConvertShort(&raw->imagic, 6);
-   }
-
-   raw->tmp = (unsigned char *)malloc(raw->sizeX*256);
-   raw->tmpR = (unsigned char *)malloc(raw->sizeX*256);
-   raw->tmpG = (unsigned char *)malloc(raw->sizeX*256);
-   raw->tmpB = (unsigned char *)malloc(raw->sizeX*256);
-   if (raw->sizeZ==4) {
-      raw->tmpA = (unsigned char *)malloc(raw->sizeX*256);
-   }
-   if (raw->tmp == NULL || raw->tmpR == NULL || raw->tmpG == NULL ||
-       raw->tmpB == NULL) {
-      fprintf(stderr, "Out of memory!\n");
-      return NULL;
-   }
-
-   if ((raw->type & 0xFF00) == 0x0100) {
-      x = raw->sizeY * raw->sizeZ * sizeof(GLuint);
-      raw->rowStart = (GLuint *)malloc(x);
-      raw->rowSize = (GLint *)malloc(x);
-      if (raw->rowStart == NULL || raw->rowSize == NULL) {
-         fprintf(stderr, "Out of memory!\n");
-         return NULL;
-      }
-      raw->rleEnd = 512 + (2 * x);
-      fseek(raw->file, 512, SEEK_SET);
-      fread(raw->rowStart, 1, x, raw->file);
-      fread(raw->rowSize, 1, x, raw->file);
-      if (swapFlag) {
-         ConvertLong(raw->rowStart, (long) (x/sizeof(GLuint)));
-         ConvertLong((GLuint *)raw->rowSize, (long) (x/sizeof(GLint)));
-      }
-   }
-   return raw;
-}
-
-static void RawImageClose(rawImageRec *raw)
-{
-
-   fclose(raw->file);
-   free(raw->tmp);
-   free(raw->tmpR);
-   free(raw->tmpG);
-   free(raw->tmpB);
-   if (raw->sizeZ>3) {
-      free(raw->tmpA);
-   }
-   free(raw);
-}
-
-static void RawImageGetRow(rawImageRec *raw, unsigned char *buf, int y, int z)
-{
-   unsigned char *iPtr, *oPtr, pixel;
-   int count, done = 0;
-
-   if ((raw->type & 0xFF00) == 0x0100) {
-      fseek(raw->file, (long) raw->rowStart[y+z*raw->sizeY], SEEK_SET);
-      fread(raw->tmp, 1, (unsigned int)raw->rowSize[y+z*raw->sizeY],
-            raw->file);
-      
-      iPtr = raw->tmp;
-      oPtr = buf;
-      while (!done) {
-         pixel = *iPtr++;
-         count = (int)(pixel & 0x7F);
-         if (!count) {
-                        done = 1;
-            return;
-         }
-         if (pixel & 0x80) {
-            while (count--) {
-               *oPtr++ = *iPtr++;
-            }
-         } else {
-            pixel = *iPtr++;
-            while (count--) {
-               *oPtr++ = pixel;
-            }
-         }
-      }
-   } else {
-      fseek(raw->file, 512+(y*raw->sizeX)+(z*raw->sizeX*raw->sizeY),
-            SEEK_SET);
-      fread(buf, 1, raw->sizeX, raw->file);
-   }
-}
-
-
-static void RawImageGetData(rawImageRec *raw, TK_RGBImageRec *final)
-{
-   unsigned char *ptr;
-   int i, j;
-
-   final->data = (unsigned char *)malloc((raw->sizeX+1)*(raw->sizeY+1)*4);
-   if (final->data == NULL) {
-      fprintf(stderr, "Out of memory!\n");
-   }
-
-   ptr = final->data;
-   for (i = 0; i < (int)(raw->sizeY); i++) {
-      RawImageGetRow(raw, raw->tmpR, i, 0);
-      RawImageGetRow(raw, raw->tmpG, i, 1);
-      RawImageGetRow(raw, raw->tmpB, i, 2);
-      if (raw->sizeZ>3) {
-         RawImageGetRow(raw, raw->tmpA, i, 3);
-      }
-      for (j = 0; j < (int)(raw->sizeX); j++) {
-         *ptr++ = *(raw->tmpR + j);
-         *ptr++ = *(raw->tmpG + j);
-         *ptr++ = *(raw->tmpB + j);
-         if (raw->sizeZ>3) {
-            *ptr++ = *(raw->tmpA + j);
-         }
-      }
-   }
-}
-
-
-static TK_RGBImageRec *tkRGBImageLoad(const char *fileName)
-{
-   rawImageRec *raw;
-   TK_RGBImageRec *final;
-
-   raw = RawImageOpen(fileName);
-   if (!raw) {
-      fprintf(stderr, "File not found\n");
-      return NULL;
-   }
-   final = (TK_RGBImageRec *)malloc(sizeof(TK_RGBImageRec));
-   if (final == NULL) {
-      fprintf(stderr, "Out of memory!\n");
-      return NULL;
-   }
-   final->sizeX = raw->sizeX;
-   final->sizeY = raw->sizeY;
-   final->components = raw->sizeZ;
-   RawImageGetData(raw, final);
-   RawImageClose(raw);
-   return final;
-}
-
-
-static void FreeImage( TK_RGBImageRec *image )
-{
-   free(image->data);
-   free(image);
-}
-
-
-/*
- * Load an SGI .rgb file and generate a set of 2-D mipmaps from it.
- * Input:  imageFile - name of .rgb to read
- *         intFormat - internal texture format to use, or number of components
- * Return:  GL_TRUE if success, GL_FALSE if error.
- */
-GLboolean LoadRGBMipmaps( const char *imageFile, GLint intFormat )
-{
-   GLint w, h;
-   return LoadRGBMipmaps2( imageFile, GL_TEXTURE_2D, intFormat, &w, &h );
-}
-
-
-
-GLboolean LoadRGBMipmaps2( const char *imageFile, GLenum target,
-                           GLint intFormat, GLint *width, GLint *height )
-{
-   GLint error;
-   GLenum format;
-   TK_RGBImageRec *image;
-
-   image = tkRGBImageLoad( imageFile );
-   if (!image) {
-      return GL_FALSE;
-   }
-
-   if (image->components==3) {
-      format = GL_RGB;
-   }
-   else if (image->components==4) {
-      format = GL_RGBA;
-   }
-   else {
-      /* not implemented */
-      fprintf(stderr,
-              "Error in LoadRGBMipmaps %d-component images not implemented\n",
-              image->components );
-      return GL_FALSE;
-   }
-
-   error = gluBuild2DMipmaps( target,
-                              intFormat,
-                              image->sizeX, image->sizeY,
-                              format,
-                              GL_UNSIGNED_BYTE,
-                              image->data );
-
-   *width = image->sizeX;
-   *height = image->sizeY;
-
-   FreeImage(image);
-
-   return error ? GL_FALSE : GL_TRUE;
-}
-
-
-
-/*
- * Load an SGI .rgb file and return a pointer to the image data.
- * Input:  imageFile - name of .rgb to read
- * Output:  width - width of image
- *          height - height of image
- *          format - format of image (GL_RGB or GL_RGBA)
- * Return:  pointer to image data or NULL if error
- */
-GLubyte *LoadRGBImage( const char *imageFile, GLint *width, GLint *height,
-                       GLenum *format )
-{
-   TK_RGBImageRec *image;
-   GLint bytes;
-   GLubyte *buffer;
-
-   image = tkRGBImageLoad( imageFile );
-   if (!image) {
-      return NULL;
-   }
-
-   if (image->components==3) {
-      *format = GL_RGB;
-   }
-   else if (image->components==4) {
-      *format = GL_RGBA;
-   }
-   else {
-      /* not implemented */
-      fprintf(stderr,
-              "Error in LoadRGBImage %d-component images not implemented\n",
-              image->components );
-      return NULL;
-   }
-
-   *width = image->sizeX;
-   *height = image->sizeY;
-
-   bytes = image->sizeX * image->sizeY * image->components;
-   buffer = (GLubyte *) malloc(bytes);
-   if (!buffer)
-      return NULL;
-
-   memcpy( (void *) buffer, (void *) image->data, bytes );
-
-   FreeImage(image);
-
-   return buffer;
-}
-
diff --git a/progs/windml/uglaccum.c b/progs/windml/uglaccum.c
deleted file mode 100644 (file)
index fd7cb31..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/*
- * (c) Copyright 1993, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- * Permission to use, copy, modify, and distribute this software for
- * any purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies and that both the copyright notice
- * and this permission notice appear in supporting documentation, and that
- * the name of Silicon Graphics, Inc. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
- * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
- * FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL SILICON
- * GRAPHICS, INC.  BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
- * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
- * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
- * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
- * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC.  HAS BEEN
- * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * US Government Users Restricted Rights
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer Software
- * clause at DFARS 252.227-7013 and/or in similar or successor
- * clauses in the FAR or the DOD or NASA FAR Supplement.
- * Unpublished-- rights reserved under the copyright laws of the
- * United States.  Contractor/manufacturer is Silicon Graphics,
- * Inc., 2011 N.  Shoreline Blvd., Mountain View, CA 94039-7311.
- *
- * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
- */
-
-/*  Original name: accanti.c
- *
- *  Conversion to UGL/Mesa by Stephane Raimbault
- */
-
-#include <stdio.h>
-#include <math.h>
-
-#include <ugl/ugl.h>
-#include <ugl/uglevent.h>
-#include <ugl/uglinput.h>
-
-#include <GL/uglmesa.h>
-#include <GL/uglglutshapes.h>
-
-#include "../book/jitter.h"
-
-UGL_LOCAL UGL_EVENT_SERVICE_ID eventServiceId;
-UGL_LOCAL UGL_EVENT_Q_ID qId;
-UGL_LOCAL UGL_MESA_CONTEXT umc;
-
-/*  Initialize lighting and other values.
- */
-UGL_LOCAL void initGL(GLsizei w, GLsizei h)
-    {
-    GLfloat mat_ambient[] = { 1.0, 1.0, 1.0, 1.0 };
-    GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0 };
-    GLfloat light_position[] = { 0.0, 0.0, 10.0, 1.0 };
-    GLfloat lm_ambient[] = { 0.2, 0.2, 0.2, 1.0 };
-
-    glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);
-    glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
-    glMaterialf(GL_FRONT, GL_SHININESS, 50.0);
-    glLightfv(GL_LIGHT0, GL_POSITION, light_position);
-    glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lm_ambient);
-
-    glEnable(GL_LIGHTING);
-    glEnable(GL_LIGHT0);
-    glDepthFunc(GL_LESS);
-    glEnable(GL_DEPTH_TEST);
-    glShadeModel (GL_FLAT);
-
-    glClearColor(0.0, 0.0, 0.0, 0.0);
-    glClearAccum(0.0, 0.0, 0.0, 0.0);
-    
-    glMatrixMode(GL_PROJECTION);
-    glLoadIdentity();
-    if (w <= h)
-           glOrtho (-2.25, 2.25, -2.25*h/w, 2.25*h/w, -10.0, 10.0);
-    else
-           glOrtho (-2.25*w/h, 2.25*w/h, -2.25, 2.25, -10.0, 10.0);
-    glMatrixMode(GL_MODELVIEW);
-    }
-
-UGL_LOCAL void displayObjects(void)
-    {
-    GLfloat torus_diffuse[] = { 0.7, 0.7, 0.0, 1.0 };
-    GLfloat cube_diffuse[] = { 0.0, 0.7, 0.7, 1.0 };
-    GLfloat sphere_diffuse[] = { 0.7, 0.0, 0.7, 1.0 };
-    GLfloat octa_diffuse[] = { 0.7, 0.4, 0.4, 1.0 };
-
-    glPushMatrix ();
-    glRotatef (30.0, 1.0, 0.0, 0.0);
-
-    glPushMatrix ();
-    glTranslatef (-0.80, 0.35, 0.0);
-    glRotatef (100.0, 1.0, 0.0, 0.0);
-    glMaterialfv(GL_FRONT, GL_DIFFUSE, torus_diffuse);
-    glutSolidTorus (0.275, 0.85, 16, 16);
-    glPopMatrix ();
-
-    glPushMatrix ();
-    glTranslatef (-0.75, -0.50, 0.0);
-    glRotatef (45.0, 0.0, 0.0, 1.0);
-    glRotatef (45.0, 1.0, 0.0, 0.0);
-    glMaterialfv(GL_FRONT, GL_DIFFUSE, cube_diffuse);
-    glutSolidCube (1.5);
-    glPopMatrix ();
-
-    glPushMatrix ();
-    glTranslatef (0.75, 0.60, 0.0);
-    glRotatef (30.0, 1.0, 0.0, 0.0);
-    glMaterialfv(GL_FRONT, GL_DIFFUSE, sphere_diffuse);
-    glutSolidSphere (1.0, 16, 16);
-    glPopMatrix ();
-
-    glPushMatrix ();
-    glTranslatef (0.70, -0.90, 0.25);
-    glMaterialfv(GL_FRONT, GL_DIFFUSE, octa_diffuse);
-    glutSolidOctahedron ();
-    glPopMatrix ();
-
-    glPopMatrix ();
-    }
-
-#define ACSIZE 8
-
-UGL_LOCAL void drawGL(void)
-    {
-    GLint viewport[4];
-    int jitter;
-
-    glGetIntegerv (GL_VIEWPORT, viewport);
-
-    glClear(GL_ACCUM_BUFFER_BIT);
-    for (jitter = 0; jitter < ACSIZE; jitter++)
-       {
-       glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-       glPushMatrix ();
-/*     Note that 4.5 is the distance in world space between
- *     left and right and bottom and top.
- *     This formula converts fractional pixel movement to
- *     world coordinates.
- */
-       glTranslatef (j8[jitter].x*4.5/viewport[2],
-                     j8[jitter].y*4.5/viewport[3], 0.0);
-       displayObjects ();
-       glPopMatrix ();
-       glAccum(GL_ACCUM, 1.0/ACSIZE);
-       }
-    glAccum (GL_RETURN, 1.0);
-    glFlush();
-
-    uglMesaSwapBuffers();
-    }
-
-UGL_LOCAL int getEvent(void)
-    {
-    UGL_EVENT event;
-    UGL_STATUS status;
-    int retVal = 0;
-
-    status = uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT);
-
-    while (status != UGL_STATUS_Q_EMPTY)
-        {
-       UGL_INPUT_EVENT * pInputEvent = (UGL_INPUT_EVENT *)&event;
-       
-       if (pInputEvent->modifiers & UGL_KEYBOARD_KEYDOWN)
-           retVal = 1;
-
-       status = uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT);
-        }
-    return(retVal);
-    }
-
-void windMLAccum (UGL_BOOL windMLMode);
-
-void uglaccum (void)
-    {
-    taskSpawn("tAccum", 210, VX_FP_TASK, 100000,
-             (FUNCPTR)windMLAccum,UGL_FALSE,1,2,3,4,5,6,7,8,9);
-    }
-
-void windMLAccum (UGL_BOOL windMLMode)
-    {
-    UGL_INPUT_DEVICE_ID keyboardDevId;
-    GLsizei width, height;
-    
-    uglInitialize();
-    
-    uglDriverFind (UGL_KEYBOARD_TYPE, 0, (UGL_UINT32 *)&keyboardDevId);
-    
-    uglDriverFind (UGL_EVENT_SERVICE_TYPE, 0, (UGL_UINT32 *)&eventServiceId);
-           
-    qId = uglEventQCreate (eventServiceId, 100);
-
-    if (windMLMode)
-        umc = uglMesaCreateNewContextExt(UGL_MESA_DOUBLE
-                                        | UGL_MESA_WINDML_EXCLUSIVE,
-                                        16,
-                                        0,
-                                        8,8,8,0,
-                                        NULL);
-    else
-       umc = uglMesaCreateNewContextExt(UGL_MESA_DOUBLE,
-                                        16,
-                                        0,
-                                        8,8,8,0,
-                                        NULL);
-    
-    if (umc == NULL)
-       {
-       uglDeinitialize();
-       return;
-       }
-
-    /* Fullscreen */
-
-    uglMesaMakeCurrentContext(umc, 0, 0,
-                             UGL_MESA_FULLSCREEN_WIDTH,
-                             UGL_MESA_FULLSCREEN_HEIGHT);
-
-    uglMesaGetIntegerv(UGL_MESA_WIDTH, &width);
-    uglMesaGetIntegerv(UGL_MESA_HEIGHT, &height);
-
-    initGL(width, height);
-
-    drawGL();
-    
-    while (!getEvent());
-    
-    uglEventQDestroy (eventServiceId, qId);
-    
-    uglMesaDestroyContext();
-    uglDeinitialize();
-    
-    return;
-    }
diff --git a/progs/windml/uglalldemos.c b/progs/windml/uglalldemos.c
deleted file mode 100644 (file)
index 283e487..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-
-/* uglalldemos.c - WindML/Mesa example program */
-
-/* Copyright (C) 2001 by Wind River Systems, Inc */
-
-/*
- * Mesa 3-D graphics library
- * Version:  3.5
- *
- * The MIT License
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-/*
-modification history
---------------------
-02a,29aug01,sra  WindML mode added
-01a,17jul01,sra  written
-*/
-
-/*
-DESCRIPTION
-Show all the UGL/Mesa demos
-*/
-
-#include <stdio.h>
-#include <vxWorks.h>
-#include <taskLib.h>
-#include <ugl/ugl.h>
-#include <ugl/uglinput.h>
-#include <ugl/uglevent.h>
-#include <ugl/uglfont.h>
-
-#define BLACK 0
-#define RED   1
-
-struct _colorStruct
-    {
-    UGL_RGB rgbColor;
-    UGL_COLOR uglColor;
-    }
-colorTable[] =
-    {
-    { UGL_MAKE_RGB(0, 0, 0), 0},
-    { UGL_MAKE_RGB(255, 0, 0), 0},
-    };
-
-void windMLPoint (UGL_BOOL windMLMode);
-void windMLLine (UGL_BOOL windMLMode);
-void windMLFlip (UGL_BOOL windMLMode);
-void windMLCube (UGL_BOOL windMLMode);
-void windMLBounce (UGL_BOOL windMLMode);
-void windMLGears (UGL_BOOL windMLMode);
-void windMLIcoTorus (UGL_BOOL windMLMode);
-void windMLOlympic (UGL_BOOL windMLMode);
-void windMLTexCube (UGL_BOOL windMLMode);
-void windMLTexCyl (UGL_BOOL windMLMode);
-void windMLTeapot (UGL_BOOL windMLMode);
-void windMLStencil (UGL_BOOL windMLMode);
-void windMLDrawPix (UGL_BOOL windMLMode);
-void windMLAccum (UGL_BOOL windMLMode);
-void windMLAllDemos (void);
-
-void uglalldemos (void)
-    {
-    taskSpawn("tAllDemos", 210, VX_FP_TASK, 200000,
-             (FUNCPTR)windMLAllDemos, 0,1,2,3,4,5,6,7,8,9);
-    }
-
-void windMLAllDemos(void)
-    {
-    UGL_BOOL windMLFlag = UGL_FALSE;
-    UGL_FB_INFO fbInfo;
-    UGL_EVENT event;
-    UGL_EVENT_SERVICE_ID eventServiceId;
-    UGL_EVENT_Q_ID qId;
-    UGL_INPUT_EVENT * pInputEvent;
-    UGL_INPUT_DEVICE_ID keyboardDevId;
-    UGL_DEVICE_ID devId;
-    UGL_GC_ID gc;
-    UGL_FONT_ID fontId;
-    UGL_FONT_DEF fontDef;
-    UGL_FONT_DRIVER_ID fontDrvId;
-    UGL_ORD textOrigin = UGL_FONT_TEXT_UPPER_LEFT;
-    int displayHeight, displayWidth;
-    int textWidth, textHeight;
-    static UGL_CHAR * message =
-       "Do you want to use WindML exclusively ? (y/n) ";
-    
-    uglInitialize();
-
-    uglDriverFind (UGL_DISPLAY_TYPE, 0, (UGL_UINT32 *)&devId);
-    uglDriverFind (UGL_KEYBOARD_TYPE, 0, (UGL_UINT32 *)&keyboardDevId);
-    uglDriverFind (UGL_EVENT_SERVICE_TYPE, 0, (UGL_UINT32 *)&eventServiceId);
-    qId = uglEventQCreate (eventServiceId, 100);
-    
-    gc = uglGcCreate(devId);
-
-    uglDriverFind (UGL_FONT_ENGINE_TYPE, 0, (UGL_UINT32 *)&fontDrvId);
-    uglFontDriverInfo(fontDrvId, UGL_FONT_TEXT_ORIGIN, &textOrigin);
-
-    uglFontFindString(fontDrvId, "familyName=Helvetica; pixelSize = 18",
-                     &fontDef);
-
-    if ((fontId = uglFontCreate(fontDrvId, &fontDef)) == UGL_NULL)
-        {
-       printf("Font not found. Exiting.\n");
-       return;       
-        }
-
-    uglInfo(devId, UGL_FB_INFO_REQ, &fbInfo);
-    displayWidth = fbInfo.width;
-    displayHeight = fbInfo.height;
-
-    uglColorAlloc (devId, &colorTable[BLACK].rgbColor, UGL_NULL, 
-                   &colorTable[BLACK].uglColor, 1);
-    uglColorAlloc(devId, &colorTable[RED].rgbColor, UGL_NULL,
-                 &colorTable[RED].uglColor, 1);
-    
-    uglBackgroundColorSet(gc, colorTable[BLACK].uglColor);
-    uglForegroundColorSet(gc, colorTable[RED].uglColor);
-    uglFontSet(gc, fontId);
-    uglTextSizeGet(fontId, &textWidth, &textHeight, -1, message);
-    uglTextDraw(gc, (displayWidth - textWidth) / 2, 
-               (displayHeight - textHeight) / 2  - textHeight, -1, message);
-/*    flushQ();
- */   
-    if (uglEventGet (qId, &event, sizeof (event), UGL_WAIT_FOREVER)
-       != UGL_STATUS_Q_EMPTY)
-       {
-       pInputEvent = (UGL_INPUT_EVENT *)&event;
-           
-       if (pInputEvent->header.type == UGL_EVENT_TYPE_KEYBOARD &&
-           pInputEvent->modifiers & UGL_KEYBOARD_KEYDOWN)
-           {
-           switch(pInputEvent->type.keyboard.key)
-               {
-               case 'Y':
-               case 'y':
-                   windMLFlag = UGL_TRUE;
-                   break;
-               default:
-                   windMLFlag = UGL_FALSE;
-               }
-           }
-       }
-    
-    uglFontDestroy (fontId);
-    uglGcDestroy (gc);
-    uglEventQDestroy (eventServiceId, qId);
-    uglDeinitialize();
-                  
-    windMLPoint(windMLFlag);
-
-    windMLLine(windMLFlag);
-    
-    windMLFlip(windMLFlag);
-
-    windMLCube(windMLFlag);
-
-    windMLBounce(windMLFlag);
-
-    windMLGears(windMLFlag);
-
-    windMLIcoTorus(windMLFlag);
-
-    windMLOlympic(windMLFlag);
-
-    windMLTexCube(windMLFlag);
-    
-    windMLTexCyl(windMLFlag);
-
-    windMLTeapot(windMLFlag);
-
-    windMLStencil(windMLFlag);
-
-    windMLDrawPix(windMLFlag);
-
-    windMLAccum(windMLFlag);
-
-    return;
-    }
diff --git a/progs/windml/uglbounce.c b/progs/windml/uglbounce.c
deleted file mode 100644 (file)
index 287015a..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * Bouncing ball demo.
- *
- * This program is in the public domain
- *
- * Brian Paul
- *
- * Conversion to GLUT by Mark J. Kilgard
- *
- * Conversion to UGL/Mesa by Stephane Raimbault
- */
-
-#include <math.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <ugl/ugl.h>
-#include <ugl/uglevent.h>
-#include <ugl/uglinput.h>
-
-#include <GL/uglmesa.h>
-
-#define COS(X)   cos( (X) * 3.14159/180.0 )
-#define SIN(X)   sin( (X) * 3.14159/180.0 )
-
-#define RED 1
-#define WHITE 2
-#define CYAN 3
-
-UGL_LOCAL UGL_EVENT_SERVICE_ID eventServiceId;
-UGL_LOCAL UGL_EVENT_Q_ID qId;
-UGL_LOCAL UGL_MESA_CONTEXT umc;
-
-UGL_LOCAL GLuint Ball;
-UGL_LOCAL GLfloat Zrot, Zstep;
-UGL_LOCAL GLfloat Xpos, Ypos;
-UGL_LOCAL GLfloat Xvel, Yvel;
-UGL_LOCAL GLfloat Xmin, Xmax;
-UGL_LOCAL GLfloat Ymin;
-/* UGL_LOCAL GLfloat Ymax = 4.0; */
-UGL_LOCAL GLfloat G;
-
-UGL_LOCAL GLuint make_ball(void)
-    {
-    GLuint list;
-    GLfloat a, b;
-    GLfloat da = 18.0, db = 18.0;
-    GLfloat radius = 1.0;
-    GLuint color;
-    GLfloat x, y, z;
-    
-    list = glGenLists(1);
-    
-    glNewList(list, GL_COMPILE);
-    
-    color = 0;
-    for (a = -90.0; a + da <= 90.0; a += da)
-       {
-       glBegin(GL_QUAD_STRIP);
-       for (b = 0.0; b <= 360.0; b += db)
-           {
-           if (color)
-               {
-               glIndexi(RED);
-               glColor3f(1, 0, 0);
-               }
-           else
-               {
-               glIndexi(WHITE);
-               glColor3f(1, 1, 1);
-               }
-
-           x = radius * COS(b) * COS(a);
-           y = radius * SIN(b) * COS(a);
-           z = radius * SIN(a);
-           glVertex3f(x, y, z);
-           
-           x = radius * COS(b) * COS(a + da);
-           y = radius * SIN(b) * COS(a + da);
-           z = radius * SIN(a + da);
-           glVertex3f(x, y, z);
-           
-           color = 1 - color;
-           }
-       glEnd();
-       
-       }
-    
-    glEndList();
-    
-    return list;
-    }
-
-UGL_LOCAL void initGL(GLsizei width, GLsizei height)
-    {
-    float aspect = (float) width / (float) height;
-    glViewport(0, 0, (GLint) width, (GLint) height);
-
-    uglMesaSetColor(RED, 1.0, 0.0, 0.0);
-    uglMesaSetColor(WHITE, 1.0, 1.0, 1.0);
-    uglMesaSetColor(CYAN, 0.0, 1.0, 1.0);
-    
-    glMatrixMode(GL_PROJECTION);
-    glLoadIdentity();
-    glOrtho(-6.0 * aspect, 6.0 * aspect, -6.0, 6.0, -6.0, 6.0);
-    glMatrixMode(GL_MODELVIEW);
-
-    }
-
-UGL_LOCAL void drawGL(void)
-    {
-    GLint i;
-    static float vel0 = -100.0;
-    
-    glClear(GL_COLOR_BUFFER_BIT);
-    
-    glIndexi(CYAN);
-    glColor3f(0, 1, 1);
-    glBegin(GL_LINES);
-    for (i = -5; i <= 5; i++)
-       {
-       glVertex2i(i, -5);
-       glVertex2i(i, 5);
-       }
-    for (i = -5; i <= 5; i++)
-       {
-       glVertex2i(-5, i);
-       glVertex2i(5, i);
-       }
-    for (i = -5; i <= 5; i++)
-       {
-       glVertex2i(i, -5);
-       glVertex2f(i * 1.15, -5.9);
-       }
-    glVertex2f(-5.3, -5.35);
-    glVertex2f(5.3, -5.35);
-    glVertex2f(-5.75, -5.9);
-    glVertex2f(5.75, -5.9);
-    glEnd();
-    
-    glPushMatrix();
-    glTranslatef(Xpos, Ypos, 0.0);
-    glScalef(2.0, 2.0, 2.0);
-    glRotatef(8.0, 0.0, 0.0, 1.0);
-    glRotatef(90.0, 1.0, 0.0, 0.0);
-    glRotatef(Zrot, 0.0, 0.0, 1.0);
-    
-    glCallList(Ball);
-    
-    glPopMatrix();
-
-    glFlush();
-    
-    uglMesaSwapBuffers();
-    
-    Zrot += Zstep;
-    
-    Xpos += Xvel;
-    if (Xpos >= Xmax)
-       {
-       Xpos = Xmax;
-       Xvel = -Xvel;
-       Zstep = -Zstep;
-       }
-    if (Xpos <= Xmin)
-       {
-       Xpos = Xmin;
-       Xvel = -Xvel;
-       Zstep = -Zstep;
-       }
-    Ypos += Yvel;
-    Yvel += G;
-    if (Ypos < Ymin)
-       {
-       Ypos = Ymin;
-       if (vel0 == -100.0)
-           vel0 = fabs(Yvel);
-       Yvel = vel0;
-       }
-    }
-
-UGL_LOCAL int getEvent(void)
-    {
-    UGL_EVENT event;
-    UGL_STATUS status;
-    int retVal = 0;
-
-    status = uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT);
-
-    while (status != UGL_STATUS_Q_EMPTY)
-        {
-       UGL_INPUT_EVENT * pInputEvent = (UGL_INPUT_EVENT *)&event;
-       
-       if (pInputEvent->modifiers & UGL_KEYBOARD_KEYDOWN)
-           retVal = 1;
-
-       status = uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT);
-        }
-    return(retVal);
-    }
-
-void windMLBounce (UGL_BOOL windMLMode);
-
-void uglbounce (void)
-    {
-    taskSpawn("tBounce", 210, VX_FP_TASK, 100000, (FUNCPTR)windMLBounce,
-              UGL_FALSE,1,2,3,4,5,6,7,8,9);
-    }
-
-void windMLBounce(UGL_BOOL windMLMode)
-    {
-    GLsizei width, height;
-    UGL_INPUT_DEVICE_ID keyboardDevId;
-
-    Zrot = 0.0;
-    Zstep = 6.0;
-    Xpos = 0.0;
-    Ypos = 1.0;
-    Xvel = 0.2;
-    Yvel = 0.0;
-    Xmin = -4.0;
-    Xmax = 4.0;
-    Ymin = -3.8;
-    G = -0.1;
-
-    uglInitialize();
-   
-    uglDriverFind (UGL_KEYBOARD_TYPE, 0, (UGL_UINT32 *)&keyboardDevId);
-    
-    uglDriverFind (UGL_EVENT_SERVICE_TYPE, 0, (UGL_UINT32 *)&eventServiceId);
-   
-    qId = uglEventQCreate (eventServiceId, 100);
-
-    if (windMLMode)
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE
-                                    | UGL_MESA_WINDML_EXCLUSIVE, NULL);
-    else
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE, NULL);
-    
-    if (umc == NULL)
-       {
-       uglDeinitialize();
-       return;
-       }
-
-    /* Fullscreen */
-
-    uglMesaMakeCurrentContext(umc, 0, 0, UGL_MESA_FULLSCREEN_WIDTH,
-                             UGL_MESA_FULLSCREEN_HEIGHT);
-    
-    Ball = make_ball();
-    glCullFace(GL_BACK);
-    glEnable(GL_CULL_FACE);
-    glDisable(GL_DITHER);
-    glShadeModel(GL_FLAT);
-    
-    uglMesaGetIntegerv(UGL_MESA_WIDTH, &width);
-    uglMesaGetIntegerv(UGL_MESA_HEIGHT, &height);
-    
-    initGL(width, height);
-    
-    while(!getEvent())
-       drawGL();
-
-    uglEventQDestroy (eventServiceId, qId);
-
-    uglMesaDestroyContext();
-    uglDeinitialize ();
-    
-    return;
-    }
diff --git a/progs/windml/uglcube.c b/progs/windml/uglcube.c
deleted file mode 100644 (file)
index e701d8d..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-/* uglcube.c - WindML/Mesa example program */
-
-/* Copyright (C) 2001 by Wind River Systems, Inc */
-
-/*
- * Mesa 3-D graphics library
- * Version:  3.5
- *
- * The MIT License
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-/*
-DESCRIPTION
-Draw a smooth cube.
-*/
-
-#include <stdio.h>
-#include <math.h>
-
-#include <ugl/uglevent.h>
-#include <ugl/uglinput.h>
-
-#include <GL/uglmesa.h>
-#include <GL/glu.h>
-
-UGL_LOCAL UGL_EVENT_SERVICE_ID eventServiceId;
-UGL_LOCAL UGL_EVENT_Q_ID qId;
-UGL_LOCAL UGL_MESA_CONTEXT umc;
-UGL_LOCAL GLfloat rotx;
-UGL_LOCAL GLfloat roty;
-UGL_LOCAL GLuint theCube;
-
-UGL_LOCAL void cube()
-    {
-
-    /* Front */ 
-    glBegin(GL_QUADS);
-    glColor3f(0.0f, 0.0f, 1.0f);
-    glVertex3f(-1.0f, 1.0f, 1.0f);
-    glColor3f(0.0f, 1.0f, 0.0f);
-    glVertex3f(1.0f, 1.0f, 1.0f);
-    glColor3f(1.0f, 0.0f, 0.0f);
-    glVertex3f(1.0f, -1.0f, 1.0f);
-    glColor3f(1.0f, 1.0f, 0.0f);
-    glVertex3f(-1.0f, -1.0f, 1.0f);
-    glEnd();
-    
-           
-    /* Back */ 
-    glBegin(GL_QUADS);
-    glColor3f(0.0f, 0.0f, 1.0f);
-    glVertex3f(-1.0f, 1.0f, -1.0f);
-    glColor3f(0.0f, 1.0f, 0.0f);
-    glVertex3f(1.0f, 1.0f, -1.0f);
-    glColor3f(1.0f, 0.0f, 0.0f);
-    glVertex3f(1.0f, -1.0f, -1.0f);
-    glColor3f(1.0f, 1.0f, 0.0f);
-    glVertex3f(-1.0f, -1.0f, -1.0f);
-    glEnd();
-    
-    
-    /* Right */ 
-    glBegin(GL_QUADS);
-    glColor3f(0.0f, 1.0f, 0.0f);
-    glVertex3f(1.0f, 1.0f, 1.0f);
-    glColor3f(0.0f, 1.0f, 0.0f);
-    glVertex3f(1.0f, 1.0f, -1.0f);
-    glColor3f(1.0f, 0.0f, 0.0f);
-    glVertex3f(1.0f, -1.0f, -1.0f);
-    glColor3f(1.0f, 0.0f, 0.0f);
-    glVertex3f(1.0f, -1.0f, 1.0f);
-    glEnd();
-    
-    /* Left */ 
-    glBegin(GL_QUADS);
-    glColor3f(0.0f, 0.0f, 1.0f);
-    glVertex3f(-1.0f, 1.0f, 1.0f);
-    glColor3f(0.0f, 0.0f, 1.0f);
-    glVertex3f(-1.0f, 1.0f, -1.0f);
-    glColor3f(1.0f, 1.0f, 0.0f);
-    glVertex3f(-1.0f, -1.0f, -1.0f);
-    glColor3f(1.0f, 1.0f, 0.0f);
-    glVertex3f(-1.0f, -1.0f, 1.0f);
-    glEnd();
-    
-    /* Top */ 
-    glBegin(GL_QUADS);
-    glColor3f(0.0f, 0.0f, 1.0f);
-    glVertex3f(-1.0f, 1.0f, -1.0f);
-    glColor3f(0.0f, 1.0f, 0.0f);
-    glVertex3f(1.0f, 1.0f, -1.0f);
-    glColor3f(0.0f, 1.0f, 0.0f);
-    glVertex3f(1.0f, 1.0f, 1.0f);
-    glColor3f(0.0f, 0.0f, 1.0f);
-    glVertex3f(-1.0f, 1.0f, 1.0f);
-    glEnd();
-    
-           
-    /* Bottom */ 
-    glBegin(GL_QUADS);
-    glColor3f(1.0f, 1.0f, 0.0f);
-    glVertex3f(-1.0f, -1.0f, -1.0f);
-    glColor3f(1.0f, 0.0f, 0.0f);
-    glVertex3f(1.0f, -1.0f, -1.0f);
-    glColor3f(1.0f, 0.0f, 0.0f);
-    glVertex3f(1.0f, -1.0f, 1.0f);
-    glColor3f(1.0f, 1.0f, 0.0f);
-    glVertex3f(-1.0f, -1.0f, 1.0f);
-    glEnd();   
-    }
-
-UGL_LOCAL void initGL
-    (
-    int Width,
-    int Height
-    ) 
-    {
-    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
-    glDepthFunc(GL_LESS);
-    glEnable(GL_DEPTH_TEST);
-    glShadeModel(GL_SMOOTH);
-
-    theCube = glGenLists(1);
-    glNewList(theCube, GL_COMPILE);
-    cube();
-    glEndList();
-    
-    glMatrixMode(GL_PROJECTION);
-    glLoadIdentity();
-    gluPerspective(45.0f, (GLfloat) Width / (GLfloat) Height, 0.1f, 100.0f);
-    glMatrixMode(GL_MODELVIEW);
-    glLoadIdentity();
-    glTranslatef(0.0f, 0.0f, -6.0f);
-    } 
-
-
-/* The main drawing function. */ 
-
-UGL_LOCAL void drawGL() 
-    {
-
-    /* Clear The Screen And The Depth Buffer */
-
-    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
-    /* Rotate the cube */
-    
-    glRotatef(rotx, 1.0f, 0.0f, 0.0f);
-    glRotatef(roty, 0.0f, 1.0f, 0.0f);
-    
-    glCallList(theCube);    
-
-    glFlush();
-
-    uglMesaSwapBuffers();
-    }
-
-
-/* The function called whenever a key is pressed. */ 
-
-UGL_LOCAL int getEvent(void)
-    {
-    UGL_EVENT event;
-    UGL_STATUS status;
-    int retVal = 0;
-    
-    status = uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT);
-
-    while (status != UGL_STATUS_Q_EMPTY)
-        {
-       UGL_INPUT_EVENT * pInputEvent = (UGL_INPUT_EVENT *)&event;
-       
-       if (pInputEvent->modifiers & UGL_KEYBOARD_KEYDOWN)
-           retVal = 1;
-
-       status = uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT);
-        }
-    return(retVal);
-    }
-
-void windMLCube (UGL_BOOL windMLMode);
-
-void uglcube (void)
-    {
-    taskSpawn("tCube", 210, VX_FP_TASK, 100000, (FUNCPTR)windMLCube,
-              UGL_FALSE,1,2,3,4,5,6,7,8,9);
-    }
-
-void windMLCube (UGL_BOOL windMLMode)
-    {    
-    GLsizei width, height;
-    UGL_INPUT_DEVICE_ID keyboardDevId;
-
-    rotx = 2.5f;
-    roty = 1.0f;
-    
-    uglInitialize();
-    
-    uglDriverFind (UGL_KEYBOARD_TYPE, 0, (UGL_UINT32 *)&keyboardDevId);
-    
-    if (uglDriverFind (UGL_EVENT_SERVICE_TYPE, 0,
-                       (UGL_UINT32 *)&eventServiceId) == UGL_STATUS_OK)
-        {
-        qId = uglEventQCreate (eventServiceId, 100);
-        }
-    else 
-        {
-        eventServiceId = UGL_NULL;
-        }
-
-    if (windMLMode)
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE
-                                    | UGL_MESA_WINDML_EXCLUSIVE, NULL);
-    else
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE, NULL);
-
-    /* Fullscreen */
-
-    uglMesaMakeCurrentContext(umc, 0, 0, UGL_MESA_FULLSCREEN_WIDTH,
-                             UGL_MESA_FULLSCREEN_HEIGHT);
-    
-    uglMesaGetIntegerv(UGL_MESA_WIDTH, &width);
-    uglMesaGetIntegerv(UGL_MESA_HEIGHT, &height);
-
-    /* Initialize our window. */ 
-
-    initGL(width, height);
-
-    while (!getEvent())
-       drawGL();
-    
-    if (eventServiceId != UGL_NULL)
-       uglEventQDestroy (eventServiceId, qId);
-    
-    uglMesaDestroyContext();
-    uglDeinitialize();
-
-    return;
-    }
diff --git a/progs/windml/ugldrawpix.c b/progs/windml/ugldrawpix.c
deleted file mode 100644 (file)
index 154fe55..0000000
+++ /dev/null
@@ -1,437 +0,0 @@
-/*
- * glDrawPixels demo/test/benchmark
- * 
- * Brian Paul   September 25, 1997  This file is in the public domain.
- *
- * Conversion to UGL/Mesa by Stephane Raimbault july, 2001
- */
-
-/*
- * Revision 1.2  2001/09/10 19:21:13  brianp
- * WindML updates (Stephane Raimbault)
- *
- * Revision 1.1  2001/08/20 16:07:11  brianp
- * WindML driver (Stephane Raimbault)
- *
- * Revision 1.5  2000/12/24 22:53:54  pesco
- * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
- * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
- * Essentially the same.
- * Program files updated to include "readtex.c", not "../util/readtex.c".
- * * demos/reflect.c: Likewise for "showbuffer.c".
- *
- *
- * * Makefile.am (EXTRA_DIST): Added top-level regular files.
- *
- * * include/GL/Makefile.am (INC_X11): Added glxext.h.
- *
- *
- * * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
- * Mesa GGI headers in dist even if HAVE_GGI is not given.
- *
- * * configure.in: Look for GLUT and demo source dirs in $srcdir.
- *
- * * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
- * More source list updates in various Makefile.am's.
- *
- * * Makefile.am (dist-hook): Remove CVS directory from distribution.
- * (DIST_SUBDIRS): List all possible subdirs here.
- * (SUBDIRS): Only list subdirs selected for build again.
- * The above two applied to all subdir Makefile.am's also.
- *
- * Revision 1.4  2000/09/08 21:45:21  brianp
- * added dither key option
- *
- * Revision 1.3  1999/10/28 18:23:29  brianp
- * minor changes to Usage() function
- *
- * Revision 1.2  1999/10/21 22:13:58  brianp
- * added f key to toggle front/back drawing
- *
- * Revision 1.1.1.1  1999/08/19 00:55:40  jtg
- * Imported sources
- *
- * Revision 3.3  1999/03/28 18:18:33  brianp
- * minor clean-up
- *
- * Revision 3.2  1998/11/05 04:34:04  brianp
- * moved image files to ../images/ directory
- *
- * Revision 3.1  1998/02/22 16:43:17  brianp
- * added a few casts to silence compiler warnings
- *
- * Revision 3.0  1998/02/14 18:42:29  brianp
- * initial rev
- *
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <tickLib.h>
-
-#include <ugl/ugl.h>
-#include <ugl/uglucode.h>
-#include <ugl/uglevent.h>
-#include <ugl/uglinput.h>
-
-#include <GL/uglmesa.h>
-#include <GL/glu.h>
-
-#include "../util/readtex.h"
-
-#define IMAGE_FILE "Mesa/images/wrs_logo.rgb"
-
-UGL_LOCAL UGL_EVENT_SERVICE_ID eventServiceId;
-UGL_LOCAL UGL_EVENT_Q_ID qId;
-UGL_LOCAL volatile UGL_BOOL stopWex;
-UGL_LOCAL UGL_MESA_CONTEXT umc;
-
-UGL_LOCAL int ImgWidth, ImgHeight;
-UGL_LOCAL GLenum ImgFormat;
-UGL_LOCAL GLubyte *Image;
-
-UGL_LOCAL int Xpos, Ypos;
-UGL_LOCAL int SkipPixels, SkipRows;
-UGL_LOCAL int DrawWidth, DrawHeight;
-UGL_LOCAL float Xzoom, Yzoom;
-UGL_LOCAL GLboolean Scissor;
-UGL_LOCAL GLboolean DrawFront;
-UGL_LOCAL GLboolean Dither;
-
-UGL_LOCAL void cleanUp (void);
-
-UGL_LOCAL void reset(void)
-    {
-    Xpos = Ypos = 20;
-    DrawWidth = ImgWidth;
-    DrawHeight = ImgHeight;
-    SkipPixels = SkipRows = 0;
-    Scissor = GL_FALSE;
-    Xzoom = Yzoom = 1.0;
-    }
-
-UGL_LOCAL void initGL(GLboolean ciMode, GLsizei width, GLsizei height)
-    {
-    printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
-    printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-    printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
-    
-    Image = LoadRGBImage(IMAGE_FILE, &ImgWidth, &ImgHeight, &ImgFormat);
-    if (!Image)
-       {
-       printf("Couldn't read %s\n", IMAGE_FILE);
-       cleanUp();
-       exit(1);
-       }
-    
-    glScissor(width/4, height/4, width/2, height/2);
-
-    if (ciMode)
-       {
-       /* Convert RGB image to grayscale */
-       GLubyte *indexImage = malloc( ImgWidth * ImgHeight );
-       GLint i;
-       for (i=0; i<ImgWidth*ImgHeight; i++)
-           {
-           int gray = Image[i*3] + Image[i*3+1] + Image[i*3+2];
-           indexImage[i] = gray / 3;
-           }
-       free(Image);
-       Image = indexImage;
-       ImgFormat = GL_COLOR_INDEX;
-
-       for (i=0;i<255;i++)
-           {
-           float g = i / 255.0;
-           uglMesaSetColor(i, g, g, g);
-           }
-       }
-    
-    printf("Loaded %d by %d image\n", ImgWidth, ImgHeight );
-
-    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-    glPixelStorei(GL_UNPACK_ROW_LENGTH, ImgWidth);
-
-    reset();
-    
-    glViewport( 0, 0, width, height );
-    glMatrixMode( GL_PROJECTION );
-    glLoadIdentity();
-    glOrtho( 0.0, width, 0.0, height, -1.0, 1.0 );
-    glMatrixMode( GL_MODELVIEW );
-    glLoadIdentity();   
-    }
-
-UGL_LOCAL void drawGL(void)
-    {
-    glClear(GL_COLOR_BUFFER_BIT);
-
-    /* This allows negative raster positions: */
-    glRasterPos2i(0, 0);
-    glBitmap(0, 0, 0, 0, Xpos, Ypos, NULL);
-
-    glPixelStorei(GL_UNPACK_SKIP_PIXELS, SkipPixels);
-    glPixelStorei(GL_UNPACK_SKIP_ROWS, SkipRows);
-
-    glPixelZoom( Xzoom, Yzoom );
-
-    if (Scissor)
-           glEnable(GL_SCISSOR_TEST);
-
-    glDrawPixels(DrawWidth, DrawHeight, ImgFormat, GL_UNSIGNED_BYTE, Image);
-
-    glDisable(GL_SCISSOR_TEST);
-
-    uglMesaSwapBuffers();
-    }
-
-
-UGL_LOCAL void benchmark( void )
-    {
-    int startTick, endTick, ticksBySec;
-    int draws;
-    double seconds, pixelsPerSecond;
-
-    printf("Benchmarking (4 sec)...\n");
-
-    /* GL set-up */
-    glPixelStorei(GL_UNPACK_SKIP_PIXELS, SkipPixels);
-    glPixelStorei(GL_UNPACK_SKIP_ROWS, SkipRows);
-    glPixelZoom( Xzoom, Yzoom );
-    if (Scissor)
-           glEnable(GL_SCISSOR_TEST);
-
-    if (DrawFront)
-           glDrawBuffer(GL_FRONT);
-    else
-           glDrawBuffer(GL_BACK);
-
-    /* Run timing test */
-    draws = 0;
-
-    ticksBySec = sysClkRateGet ();
-    startTick = tickGet();
-    
-    do {
-       glDrawPixels(DrawWidth, DrawHeight, ImgFormat, GL_UNSIGNED_BYTE, Image);
-       draws++;
-       endTick = tickGet ();
-    } while ((endTick - startTick)/ticksBySec < 4);   /* 4 seconds */
-
-    /* GL clean-up */
-    glDisable(GL_SCISSOR_TEST);
-
-    /* Results */
-    seconds = (endTick - startTick)/ticksBySec;
-    pixelsPerSecond = draws * DrawWidth * DrawHeight / seconds;
-    printf("Result: %d draws in %f seconds = %f pixels/sec\n",
-          draws, seconds, pixelsPerSecond);
-    }
-
-UGL_LOCAL void echoUse(void)
-    {
-    printf("Keys:\n");
-    printf("       SPACE  Reset Parameters\n");
-    printf("     Up/Down  Move image up/down\n");
-    printf("  Left/Right  Move image left/right\n");
-    printf("           x  Decrease X-axis PixelZoom\n");
-    printf("           X  Increase X-axis PixelZoom\n");
-    printf("           y  Decrease Y-axis PixelZoom\n");
-    printf("           Y  Increase Y-axis PixelZoom\n");
-    printf("           w  Decrease glDrawPixels width*\n");
-    printf("           W  Increase glDrawPixels width*\n");
-    printf("           h  Decrease glDrawPixels height*\n");
-    printf("           H  Increase glDrawPixels height*\n");
-    printf("           p  Decrease GL_UNPACK_SKIP_PIXELS*\n");
-    printf("           P  Increase GL_UNPACK_SKIP_PIXELS*\n");
-    printf("           r  Decrease GL_UNPACK_SKIP_ROWS*\n");
-    printf("           R  Increase GL_UNPACK_SKIP_ROWS*\n");
-    printf("           s  Toggle GL_SCISSOR_TEST\n");
-    printf("           f  Toggle front/back buffer drawing\n");
-    printf("           d  Toggle dithering\n");
-    printf("           b  Benchmark test\n");
-    printf("         ESC  Exit\n");
-    printf("* Warning: no limits are imposed on these parameters so it's\n");
-    printf("  possible to cause a segfault if you go too far.\n");
-    }
-
-
-UGL_LOCAL void readKey(UGL_WCHAR key)
-    {
-    switch (key)
-       {
-       case UGL_UNI_SPACE:
-           reset();
-           break;
-       case 'd':
-           Dither = !Dither;
-           if (Dither)
-               glEnable(GL_DITHER);
-           else
-               glDisable(GL_DITHER);
-           break;
-       case 'w':
-           if (DrawWidth > 0)
-               DrawWidth--;
-           break;
-       case 'W':
-           DrawWidth++;
-           break;
-       case 'h':
-           if (DrawHeight > 0)
-               DrawHeight--;
-           break;
-       case 'H':
-           DrawHeight++;
-           break;
-       case 'p':
-           if (SkipPixels > 0)
-               SkipPixels--;
-           break;
-       case 'P':
-           SkipPixels++;
-           break;
-       case 'r':
-           if (SkipRows > 0)
-               SkipRows--;
-           break;
-       case 'R':
-           SkipRows++;
-           break;
-       case 's':
-           Scissor = !Scissor;
-           break;
-       case 'x':
-           Xzoom -= 0.1;
-           break;
-       case 'X':
-           Xzoom += 0.1;
-           break;
-       case 'y':
-           Yzoom -= 0.1;
-           break;
-       case 'Y':
-           Yzoom += 0.1;
-           break;
-       case 'b':
-           benchmark();
-           break;
-       case 'f':
-           DrawFront = !DrawFront;
-           if (DrawFront)
-               glDrawBuffer(GL_FRONT);
-           else
-               glDrawBuffer(GL_BACK);
-           printf("glDrawBuffer(%s)\n", DrawFront ? "GL_FRONT" : "GL_BACK");
-           break;
-       case UGL_UNI_UP_ARROW:
-           Ypos += 1;
-           break;
-       case UGL_UNI_DOWN_ARROW:
-           Ypos -= 1;
-           break;
-       case UGL_UNI_LEFT_ARROW:
-           Xpos -= 1;
-           break;
-       case UGL_UNI_RIGHT_ARROW:
-           Xpos += 1;
-           break;
-       case UGL_UNI_ESCAPE:
-           stopWex = UGL_TRUE;
-           break;
-       }
-    }
-
-UGL_LOCAL void loopEvent(void)
-    {
-    UGL_EVENT event;
-    UGL_INPUT_EVENT * pInputEvent;
-    UGL_FOREVER
-       {
-       if (uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT)
-           != UGL_STATUS_Q_EMPTY)
-            {
-           pInputEvent = (UGL_INPUT_EVENT *)&event;
-           
-           if (pInputEvent->header.type == UGL_EVENT_TYPE_KEYBOARD &&
-               pInputEvent->modifiers & UGL_KEYBOARD_KEYDOWN)
-               readKey(pInputEvent->type.keyboard.key);
-           }
-
-       drawGL();
-       if (stopWex)
-            break;
-       }
-    }
-
-UGL_LOCAL void cleanUp (void)
-    {
-    uglEventQDestroy (eventServiceId, qId);
-    
-    uglMesaDestroyContext();
-    uglDeinitialize ();
-    }
-
-void windMLDrawPix (UGL_BOOL windMLMode);
-
-void ugldrawpix (void)
-    {
-    taskSpawn ("tDrawPix", 210, VX_FP_TASK, 100000, (FUNCPTR)windMLDrawPix,
-              UGL_FALSE,1,2,3,4,5,6,7,8,9);
-    }
-
-void windMLDrawPix (UGL_BOOL windMLMode)
-    {
-    UGL_INPUT_DEVICE_ID keyboardDevId;
-    GLuint ciMode;
-    GLsizei width, height;
-
-    Image = NULL;
-    Scissor = GL_FALSE;
-    DrawFront = GL_FALSE;
-    Dither = GL_TRUE;
-
-    uglInitialize ();
-
-    uglDriverFind (UGL_KEYBOARD_TYPE, 0,
-                  (UGL_UINT32 *)&keyboardDevId);
-
-    uglDriverFind (UGL_EVENT_SERVICE_TYPE, 0, (UGL_UINT32 *)&eventServiceId);
-
-    qId = uglEventQCreate (eventServiceId, 100);
-
-    /* Double buffering */
-    if (windMLMode)
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE
-                                    | UGL_MESA_WINDML_EXCLUSIVE, NULL);
-    else
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE, NULL);
-    
-    if (umc == NULL)
-        {
-       uglDeinitialize ();
-       return;
-       }
-    
-    uglMesaMakeCurrentContext(umc, 0, 0, UGL_MESA_FULLSCREEN_WIDTH,
-                             UGL_MESA_FULLSCREEN_HEIGHT);
-    
-    uglMesaGetIntegerv(UGL_MESA_COLOR_INDEXED, &ciMode);
-    uglMesaGetIntegerv(UGL_MESA_WIDTH, &width);
-    uglMesaGetIntegerv(UGL_MESA_HEIGHT, &height);
-    
-    initGL(ciMode, width, height);
-
-    echoUse();
-
-    stopWex = UGL_FALSE;
-    loopEvent();
-
-    cleanUp();
-    free(Image);
-    
-    return;
-    }
diff --git a/progs/windml/uglflip.c b/progs/windml/uglflip.c
deleted file mode 100644 (file)
index 0ca068f..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-
-/* uglflip.c - WindML/Mesa example program */
-
-/* Copyright (C) 2001 by Wind River Systems, Inc */
-
-/*
- * Mesa 3-D graphics library
- * Version:  3.5
- *
- * The MIT License
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-/*
- * Authors:
- * Stephane Raimbault <stephane.raimbault@windriver.com> 
- */
-
-/*
-DESCRIPTION
-Draw a triangle and flip the screen
-*/
-
-#include <stdio.h>
-#include <math.h>
-
-#include <ugl/ugl.h>
-#include <ugl/uglucode.h>
-#include <ugl/uglevent.h>
-#include <ugl/uglinput.h>
-
-#include <GL/uglmesa.h>
-#include <GL/glu.h>
-
-#define BLACK     (0)
-#define RED       (1)
-#define GREEN     (2)
-#define BLUE      (3)
-#define CI_OFFSET  4
-
-UGL_LOCAL GLuint rgb;
-UGL_LOCAL UGL_EVENT_SERVICE_ID eventServiceId;
-UGL_LOCAL UGL_EVENT_Q_ID qId;
-UGL_LOCAL volatile UGL_BOOL stopWex;
-
-UGL_LOCAL UGL_MESA_CONTEXT umc;
-
-UGL_LOCAL void initGL (void)
-    {
-    uglMesaSetColor(BLACK, 0.0, 0.0, 0.0);
-    uglMesaSetColor(RED, 1.0, 0.3, 0.3);
-    uglMesaSetColor(GREEN, 0.3, 1.0, 0.3);
-    uglMesaSetColor(BLUE, 0.3, 0.3, 1.0);
-    
-    glClearColor(0.0, 0.0, 0.0, 0.0);
-    glClearIndex(BLACK);
-
-    glMatrixMode(GL_PROJECTION);
-    glLoadIdentity();
-    glMatrixMode(GL_MODELVIEW);
-    }
-
-UGL_LOCAL void drawGL (void)
-    {
-    glClear(GL_COLOR_BUFFER_BIT);
-    
-    glBegin(GL_TRIANGLES);
-        (rgb) ? glColor3f(1.0, 0.3, 0.3) : glIndexi(RED);
-       glVertex2f(0.75, -0.50);
-       (rgb) ? glColor3f(0.3, 1.0, 0.3) : glIndexi(GREEN);
-       glVertex2f(0.0, 0.75);
-       (rgb) ? glColor3f(0.3, 0.3, 1.0) : glIndexi(BLUE);
-       glVertex2f(-0.75, -0.50);
-    glEnd();
-    
-    glBegin(GL_LINES);
-        (rgb) ? glColor3f(1.0, 0.3, 0.3) : glIndexi(RED);
-       glVertex2f(-1.0, 1.0);
-       (rgb) ? glColor3f(0.3, 0.3, 1.0) : glIndexi(BLUE);
-       glVertex2f(1.0, -1.0);
-    glEnd();
-
-    glFlush();
-
-    uglMesaSwapBuffers();
-    }    
-
-UGL_LOCAL void echoUse(void)
-    {
-    printf("tFlip keys:\n");
-    printf("             d  Toggle dithering\n");
-    printf("            up  Reduce the window\n");
-    printf("          down  Enlarge the window\n");
-    printf("       page up  Y==0 is the bottom line and increases upward\n");
-    printf("     page down  Y==0 is the bottom line and increases downward\n");
-    printf("           ESC  Exit\n");
-    }
-
-UGL_LOCAL void readKey (UGL_WCHAR key)
-    {
-    
-    switch(key)
-       {
-       case UGL_UNI_UP_ARROW:
-           uglMesaResizeWindow(8, 8);
-           break;
-       case UGL_UNI_DOWN_ARROW:
-           glDrawBuffer(GL_FRONT_LEFT);
-           glClear(GL_COLOR_BUFFER_BIT);
-           glDrawBuffer(GL_BACK_LEFT);
-           uglMesaResizeWindow(-8, -8);
-           break;
-       case UGL_UNI_PAGE_UP:
-           uglMesaPixelStore(UGL_MESA_Y_UP, GL_TRUE);
-           break;
-       case UGL_UNI_PAGE_DOWN:
-           uglMesaPixelStore(UGL_MESA_Y_UP, GL_FALSE);
-           break;
-       case UGL_UNI_ESCAPE:
-           stopWex = UGL_TRUE;
-           break;
-       case 'd':
-           if (glIsEnabled(GL_DITHER))
-               glDisable(GL_DITHER);
-           else
-               glEnable(GL_DITHER);
-           break;
-       }
-    }
-
-UGL_LOCAL void loopEvent(void)
-    {
-    UGL_EVENT event;
-    UGL_INPUT_EVENT * pInputEvent;
-    drawGL();
-
-    UGL_FOREVER
-       {
-       if (uglEventGet (qId, &event, sizeof (event), UGL_WAIT_FOREVER)
-           != UGL_STATUS_Q_EMPTY)
-            {
-           pInputEvent = (UGL_INPUT_EVENT *)&event;
-           
-           if (pInputEvent->header.type == UGL_EVENT_TYPE_KEYBOARD &&
-               pInputEvent->modifiers & UGL_KEYBOARD_KEYDOWN)
-               {
-               readKey(pInputEvent->type.keyboard.key);
-               drawGL();
-               }
-           }
-
-       if (stopWex)
-            break;
-       }
-    }
-
-void windMLFlip (UGL_BOOL windMLMode);
-
-void uglflip (void)
-    {
-    taskSpawn ("tFlip", 210, VX_FP_TASK, 100000, (FUNCPTR)windMLFlip,
-              UGL_FALSE,1,2,3,4,5,6,7,8,9);
-    }
-
-void windMLFlip (UGL_BOOL windMLMode)
-    {
-
-    UGL_INPUT_DEVICE_ID keyboardDevId;
-
-    uglInitialize();
-
-    uglDriverFind (UGL_KEYBOARD_TYPE, 0, (UGL_UINT32 *)&keyboardDevId);
-
-    uglDriverFind (UGL_EVENT_SERVICE_TYPE, 0, (UGL_UINT32 *)&eventServiceId);
-
-    qId = uglEventQCreate (eventServiceId, 100);
-
-    if (windMLMode)
-       umc = uglMesaCreateNewContext(UGL_MESA_SINGLE
-                                    | UGL_MESA_WINDML_EXCLUSIVE, NULL);
-    else
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE_SOFTWARE, NULL);
-
-    if (umc == NULL)
-        {
-       uglDeinitialize();
-       return;
-        }
-
-    uglMesaMakeCurrentContext(umc, 0, 0, UGL_MESA_FULLSCREEN_WIDTH,
-                             UGL_MESA_FULLSCREEN_HEIGHT);
-    
-    uglMesaGetIntegerv(UGL_MESA_RGB, &rgb);
-    
-    initGL();
-
-    echoUse();
-    stopWex = UGL_FALSE;           
-    loopEvent();
-    
-    uglEventQDestroy (eventServiceId, qId);
-
-    uglMesaDestroyContext();
-    uglDeinitialize();
-
-    return;
-    }
diff --git a/progs/windml/uglgears.c b/progs/windml/uglgears.c
deleted file mode 100644 (file)
index 468fe89..0000000
+++ /dev/null
@@ -1,428 +0,0 @@
-
-/* uglgears.c - WindML/Mesa example program */
-
-/*
- * 3-D gear wheels.  This program is in the public domain.
- *
- * Brian Paul
- *
- * Conversion to GLUT by Mark J. Kilgard
- * Conversion to UGL/Mesa from GLUT by Stephane Raimbault
- */
-
-/*
-DESCRIPTION
-Spinning gears demo
-*/
-
-#include <stdio.h>
-#include <math.h>
-#include <tickLib.h>
-
-#include <ugl/ugl.h>
-#include <ugl/uglucode.h>
-#include <ugl/uglevent.h>
-#include <ugl/uglinput.h>
-#include <GL/uglmesa.h>
-#include <GL/glu.h>
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-#define COUNT_FRAMES
-
-UGL_LOCAL UGL_EVENT_SERVICE_ID eventServiceId;
-UGL_LOCAL UGL_EVENT_Q_ID qId;
-UGL_LOCAL volatile UGL_BOOL stopWex;
-UGL_LOCAL UGL_MESA_CONTEXT umc;
-
-UGL_LOCAL GLfloat view_rotx, view_roty, view_rotz;
-UGL_LOCAL GLint gear1, gear2, gear3;
-UGL_LOCAL GLfloat angle;
-
-UGL_LOCAL GLuint limit;
-UGL_LOCAL GLuint count;
-UGL_LOCAL GLuint tickStart, tickStop, tickBySec;
-
-
-/*
-* Draw a gear wheel.  You'll probably want to call this function when
-* building a display list since we do a lot of trig here.
-*
-* Input:  inner_radius - radius of hole at center
-*         outer_radius - radius at center of teeth
-*         width - width of gear
-*         teeth - number of teeth
-*         tooth_depth - depth of tooth
-*/
-
-UGL_LOCAL void gear
-    (
-    GLfloat inner_radius,
-    GLfloat outer_radius,
-    GLfloat width,
-    GLint teeth,
-    GLfloat tooth_depth
-    )
-    {
-    GLint i;
-    GLfloat r0, r1, r2;
-    GLfloat angle, da;
-    GLfloat u, v, len;
-
-    r0 = inner_radius;
-    r1 = outer_radius - tooth_depth/2.0;
-    r2 = outer_radius + tooth_depth/2.0;
-    
-    da = 2.0*M_PI / teeth / 4.0;
-    
-    glShadeModel (GL_FLAT);
-    
-    glNormal3f (0.0, 0.0, 1.0);
-    
-    /* draw front face */
-    glBegin (GL_QUAD_STRIP);
-    for (i=0;i<=teeth;i++)
-        {
-       angle = i * 2.0*M_PI / teeth;
-       glVertex3f (r0*cos (angle), r0*sin (angle), width*0.5);
-       glVertex3f (r1*cos (angle), r1*sin (angle), width*0.5);
-       glVertex3f (r0*cos (angle), r0*sin (angle), width*0.5);
-       glVertex3f (r1*cos (angle+3*da), r1*sin (angle+3*da), width*0.5);
-       }
-    glEnd ();
-
-    /* draw front sides of teeth */
-    glBegin (GL_QUADS);
-    da = 2.0*M_PI / teeth / 4.0;
-    for (i=0; i<teeth; i++)
-        {
-       angle = i * 2.0*M_PI / teeth;
-
-       glVertex3f (r1*cos (angle),      r1*sin (angle),      width*0.5);
-       glVertex3f (r2*cos (angle+da),   r2*sin (angle+da),   width*0.5);
-       glVertex3f (r2*cos (angle+2*da), r2*sin (angle+2*da), width*0.5);
-       glVertex3f (r1*cos (angle+3*da), r1*sin (angle+3*da), width*0.5);
-       }
-    glEnd ();
-
-
-    glNormal3f (0.0, 0.0, -1.0);
-
-    /* draw back face */
-    glBegin (GL_QUAD_STRIP);
-    for (i=0; i<=teeth ;i++)
-        {
-       angle = i * 2.0*M_PI / teeth;
-       glVertex3f (r1*cos (angle), r1*sin (angle), -width*0.5);
-       glVertex3f (r0*cos (angle), r0*sin (angle), -width*0.5);
-       glVertex3f (r1*cos (angle+3*da), r1*sin (angle+3*da), -width*0.5);
-       glVertex3f (r0*cos (angle), r0*sin (angle), -width*0.5);
-       }
-    glEnd ();
-
-    /* draw back sides of teeth */
-    glBegin (GL_QUADS);
-    da = 2.0*M_PI / teeth / 4.0;
-    for (i=0;i<teeth;i++)
-        {
-       angle = i * 2.0*M_PI / teeth;
-
-       glVertex3f (r1*cos (angle+3*da), r1*sin (angle+3*da), -width*0.5);
-       glVertex3f (r2*cos (angle+2*da), r2*sin (angle+2*da), -width*0.5);
-       glVertex3f (r2*cos (angle+da),   r2*sin (angle+da),   -width*0.5);
-       glVertex3f (r1*cos (angle),      r1*sin (angle),      -width*0.5);
-       }
-    glEnd ();
-
-
-    /* draw outward faces of teeth */
-    glBegin (GL_QUAD_STRIP);
-    for (i=0;i<teeth;i++)
-        {
-       angle = i * 2.0*M_PI / teeth;
-
-       glVertex3f (r1*cos (angle),      r1*sin (angle),       width*0.5);
-       glVertex3f (r1*cos (angle),      r1*sin (angle),      -width*0.5);
-       u = r2*cos (angle+da) - r1*cos (angle);
-       v = r2*sin (angle+da) - r1*sin (angle);
-       len = sqrt (u*u + v*v);
-       u /= len;
-       v /= len;
-       glNormal3f (v, -u, 0.0);
-       glVertex3f (r2*cos (angle+da),   r2*sin (angle+da),    width*0.5);
-       glVertex3f (r2*cos (angle+da),   r2*sin (angle+da),   -width*0.5);
-       glNormal3f (cos (angle), sin (angle), 0.0);
-       glVertex3f (r2*cos (angle+2*da), r2*sin (angle+2*da),  width*0.5);
-       glVertex3f (r2*cos (angle+2*da), r2*sin (angle+2*da), -width*0.5);
-       u = r1*cos (angle+3*da) - r2*cos (angle+2*da);
-       v = r1*sin (angle+3*da) - r2*sin (angle+2*da);
-       glNormal3f (v, -u, 0.0);
-       glVertex3f (r1*cos (angle+3*da), r1*sin (angle+3*da),  width*0.5);
-       glVertex3f (r1*cos (angle+3*da), r1*sin (angle+3*da), -width*0.5);
-       glNormal3f (cos (angle), sin (angle), 0.0);
-        }
-
-    glVertex3f (r1*cos (0), r1*sin (0), width*0.5);
-    glVertex3f (r1*cos (0), r1*sin (0), -width*0.5);
-    
-    glEnd ();
-    
-    glShadeModel (GL_SMOOTH);
-    
-    /* draw inside radius cylinder */
-    glBegin (GL_QUAD_STRIP);
-    for (i=0;i<=teeth;i++)
-        {
-       angle = i * 2.0*M_PI / teeth;
-       glNormal3f (-cos (angle), -sin (angle), 0.0);
-       glVertex3f (r0*cos (angle), r0*sin (angle), -width*0.5);
-       glVertex3f (r0*cos (angle), r0*sin (angle), width*0.5);
-       } 
-    glEnd ();
-      
-}
-
-UGL_LOCAL void drawGL (void)
-    {
-#ifdef COUNT_FRAMES
-    int time;
-#endif
-    
-    angle += 2.0;
-
-    glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
-    glPushMatrix ();
-    glRotatef (view_rotx, 1.0, 0.0, 0.0);
-    glRotatef (view_roty, 0.0, 1.0, 0.0);
-    glRotatef (view_rotz, 0.0, 0.0, 1.0);
-
-    glPushMatrix ();
-    glTranslatef (-3.0, -2.0, 0.0);
-    glRotatef (angle, 0.0, 0.0, 1.0);
-    glCallList (gear1);
-    glPopMatrix ();
-
-    glPushMatrix ();
-    glTranslatef (3.1, -2.0, 0.0);
-    glRotatef (-2.0*angle-9.0, 0.0, 0.0, 1.0);
-    glCallList (gear2);
-    glPopMatrix ();
-
-    glPushMatrix ();
-    glTranslatef (-3.1, 4.2, 0.0);
-    glRotatef (-2.0*angle-25.0, 0.0, 0.0, 1.0);
-    glCallList (gear3);
-    glPopMatrix ();
-
-    glPopMatrix ();
-
-    glFlush();
-    
-    uglMesaSwapBuffers ();
-
-#ifdef COUNT_FRAMES
-    if (count > limit)
-        {
-       tickStop = tickGet ();
-       time = (tickStop-tickStart)/tickBySec;
-       printf (" %i fps\n", count/time);
-       tickStart = tickStop;
-       count = 0;
-        }
-    else 
-       count++;
-#endif
-}
-
-
-UGL_LOCAL void initGL (GLsizei width, GLsizei height)
-    {
-    UGL_LOCAL GLfloat pos[4] = {5.0, 5.0, 10.0, 1.0 };
-    UGL_LOCAL GLfloat red[4] = {0.8, 0.1, 0.0, 1.0 };
-    UGL_LOCAL GLfloat green[4] = {0.0, 0.8, 0.2, 1.0 };
-    UGL_LOCAL GLfloat blue[4] = {0.2, 0.2, 1.0, 1.0 };
-
-    glLightfv (GL_LIGHT0, GL_POSITION, pos);
-    glEnable (GL_CULL_FACE);
-    glEnable (GL_LIGHTING);
-    glEnable (GL_LIGHT0);
-    glEnable (GL_DEPTH_TEST);
-
-    /* make the gears */
-    gear1 = glGenLists (1);
-    glNewList (gear1, GL_COMPILE);
-    glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
-    gear (1.0, 4.0, 1.0, 20, 0.7);
-    glEndList ();
-
-    gear2 = glGenLists (1);
-    glNewList (gear2, GL_COMPILE);
-    glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green);
-    gear (0.5, 2.0, 2.0, 10, 0.7);
-    glEndList ();
-
-    gear3 = glGenLists (1);
-    glNewList (gear3, GL_COMPILE);
-    glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue);
-    gear (1.3, 2.0, 0.5, 10, 0.7);
-    glEndList ();
-
-    glEnable (GL_NORMALIZE);
-
-    glViewport (0, 0, width, height);
-
-    glMatrixMode (GL_PROJECTION);
-    glLoadIdentity ();
-    if (width>height)
-        {
-       GLfloat w = (GLfloat) width / (GLfloat) height;
-       glFrustum (-w, w, -1.0, 1.0, 5.0, 60.0);
-        }
-    else
-        {
-       GLfloat h = (GLfloat) height / (GLfloat) width;
-       glFrustum (-1.0, 1.0, -h, h, 5.0, 60.0);
-        }
-
-    glMatrixMode (GL_MODELVIEW);
-    glLoadIdentity ();
-    glTranslatef (0.0, 0.0, -40.0);
-
-#ifdef COUNT_FRAMES
-    tickStart = tickGet ();
-    tickBySec = sysClkRateGet ();
-#endif
-}
-
-UGL_LOCAL void echoUse(void)
-    {
-    printf("tGears keys:\n");
-    printf("           z  Counter clockwise rotation (z-axis)\n");
-    printf("           Z  Clockwise rotation (z-axis)\n");
-    printf("          Up  Counter clockwise rotation (x-axis)\n");
-    printf("        Down  Clockwise rotation (x-axis)\n");
-    printf("        Left  Counter clockwise rotation (y-axis)\n");
-    printf("       Right  Clockwise rotation (y-axis)\n");
-    printf("         ESC  Exit\n");
-    }
-
-
-UGL_LOCAL void readKey (UGL_WCHAR key)
-    {
-    
-    switch(key)
-       {
-       case 'z':
-           view_rotz += 5.0;
-           break;
-       case 'Z':
-           view_rotz -= 5.0;
-           break;
-       case UGL_UNI_UP_ARROW:
-           view_rotx += 5.0;
-           break;
-       case UGL_UNI_DOWN_ARROW:
-           view_rotx -= 5.0;
-           break;
-       case UGL_UNI_LEFT_ARROW:
-           view_roty += 5.0;
-           break;
-       case UGL_UNI_RIGHT_ARROW:
-           view_roty -= 5.0;
-           break;  
-       case UGL_UNI_ESCAPE:
-           stopWex = UGL_TRUE;
-           break;
-       }
-    }
-
-UGL_LOCAL void loopEvent(void)
-    {
-    UGL_EVENT event;
-    UGL_INPUT_EVENT * pInputEvent;
-    
-    UGL_FOREVER
-       {
-       if (uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT)
-           != UGL_STATUS_Q_EMPTY)
-            {
-           pInputEvent = (UGL_INPUT_EVENT *)&event;
-           
-           if (pInputEvent->header.type == UGL_EVENT_TYPE_KEYBOARD &&
-               pInputEvent->modifiers & UGL_KEYBOARD_KEYDOWN)
-               readKey(pInputEvent->type.keyboard.key);
-           }
-
-       drawGL();
-       if (stopWex)
-            break;
-       }
-    }
-
-void windMLGears (UGL_BOOL windMLMode);
-
-void uglgears (void)
-    {
-    taskSpawn ("tGears", 210, VX_FP_TASK, 100000, (FUNCPTR)windMLGears,
-              UGL_FALSE,1,2,3,4,5,6,7,8,9);
-    }
-
-void windMLGears (UGL_BOOL windMLMode)
-    {
-    GLsizei width, height;
-    UGL_INPUT_DEVICE_ID keyboardDevId;
-    
-    view_rotx=20.0;
-    view_roty=30.0;
-    view_rotz=0.0;
-    angle = 0.0;
-    limit = 100;
-    count = 1;
-
-    uglInitialize ();
-
-    uglDriverFind (UGL_KEYBOARD_TYPE, 0,
-                  (UGL_UINT32 *)&keyboardDevId);
-
-    uglDriverFind (UGL_EVENT_SERVICE_TYPE, 0, (UGL_UINT32 *)&eventServiceId);
-
-    qId = uglEventQCreate (eventServiceId, 100);
-
-    /* Double buffering */
-    if (windMLMode)
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE
-                                    | UGL_MESA_WINDML_EXCLUSIVE, NULL);
-    else
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE, NULL);
-
-    if (umc == NULL)
-       {
-       uglDeinitialize ();
-       return;
-       }
-
-    /* Fullscreen */
-
-    uglMesaMakeCurrentContext (umc, 0, 0, UGL_MESA_FULLSCREEN_WIDTH,
-                              UGL_MESA_FULLSCREEN_HEIGHT);
-
-    uglMesaGetIntegerv(UGL_MESA_WIDTH, &width);
-    uglMesaGetIntegerv(UGL_MESA_HEIGHT, &height);
-    
-    initGL (width, height);
-
-    echoUse();
-
-    stopWex = UGL_FALSE;
-    loopEvent();
-        
-    uglEventQDestroy (eventServiceId, qId);
-
-    uglMesaDestroyContext();
-    uglDeinitialize ();
-
-    return;
-    }
diff --git a/progs/windml/uglicotorus.c b/progs/windml/uglicotorus.c
deleted file mode 100644 (file)
index c09b6d1..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-/* uglicotorus.c - WindML/Mesa example program */
-
-/* Copyright (C) 2001 by Wind River Systems, Inc */
-
-/*
- * Mesa 3-D graphics library
- * Version:  3.5
- *
- * The MIT License
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-/*
-modification history
---------------------
-01a,jun01,sra
-*/
-
-#include <stdio.h>
-#include <math.h>
-
-#include <ugl/uglevent.h>
-#include <ugl/uglinput.h>
-#include <ugl/uglucode.h>
-
-#include <GL/uglmesa.h>
-#include <GL/glu.h>
-
-/* Need GLUT_SHAPES */
-
-#include <GL/uglglutshapes.h>
-
-UGL_LOCAL UGL_EVENT_SERVICE_ID eventServiceId;
-UGL_LOCAL UGL_EVENT_Q_ID qId;
-UGL_LOCAL UGL_MESA_CONTEXT umc;
-UGL_LOCAL volatile UGL_BOOL stopWex;
-
-UGL_LOCAL GLfloat angle;
-UGL_LOCAL GLboolean chaos_on;
-UGL_LOCAL GLboolean color_on;
-
-UGL_LOCAL GLuint theIco, theTorus, theSphere, theCube; 
-
-UGL_LOCAL void initGL
-    (
-    int w,
-    int h
-    )
-    {
-    glViewport(0,0,(GLsizei)w,(GLsizei)h);
-    glMatrixMode(GL_PROJECTION);
-    glLoadIdentity();
-    gluPerspective(60.0,(GLfloat)w/(GLfloat)h,1.0,60.0);
-    
-    glMatrixMode(GL_MODELVIEW);
-    glLoadIdentity();
-    gluLookAt(0.0,0.0,25.0,0.0,0.0,0.0,0.0,1.0,0.0);
-    
-    glClearColor(0.0,0.0,0.0,0.0);
-
-    glEnable(GL_DEPTH_TEST);
-    glEnable(GL_LIGHTING);
-    glEnable(GL_LIGHT0);
-
-    glEnable(GL_COLOR_MATERIAL);
-
-    theIco = glGenLists(1);
-    glNewList(theIco, GL_COMPILE);
-    glutSolidIcosahedron();
-    glEndList();
-
-    theTorus = glGenLists(1);
-    glNewList(theTorus, GL_COMPILE);
-    glutSolidTorus(0.2,1.0,10,10);
-    glEndList();
-
-    theSphere = glGenLists(1);
-    glNewList(theSphere, GL_COMPILE);
-    glutSolidSphere(2.5,20,20);
-    glEndList();
-
-    theCube = glGenLists(1);
-    glNewList(theCube, GL_COMPILE);
-    glutSolidCube(4.0);
-    glEndList();
-    
-    }
-
-UGL_LOCAL void createIcoToruses
-    (
-    int i
-    )
-    {
-    glPushMatrix();
-    glRotatef(angle,1.0,1.0,1.0);
-    glCallList(theIco);   
-
-    switch (i)
-       {
-       case 9 :
-           glColor3f(1.0,0.0,0.0);
-           break;
-       case 0 :
-           glColor3f(1.0,0.1,0.7);
-           break;
-       case 1 :
-           glColor3f(1.0,0.0,1.0);
-           break;
-       case 2 :
-           glColor3f(0.0,0.0,1.0);
-           break;
-       case 3 :
-           glColor3f(0.0,0.5,1.0);
-           break;
-       case 4 :
-           glColor3f(0.0,1.0,0.7);
-           break;
-       case 5 :
-           glColor3f(0.0,1.0,0.0);
-           break;
-       case 6 :
-           glColor3f(0.5,1.0,0.0);
-           break;
-       case 7 :
-           glColor3f(1.0,1.0,0.0);
-           break;
-       case 8 :
-           glColor3f(1.0,0.5,0.0);
-           break;
-       }
-
-    glRotatef(angle,1.0,1.0,1.0);
-    glCallList(theTorus);   
-    glRotatef(-2*angle,1.0,1.0,1.0);
-    glCallList(theTorus);
-    glPopMatrix();
-    }
-
-UGL_LOCAL void drawGL (void)
-    {
-    int i;
-
-    if (color_on)
-       glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-    else
-       glClear(GL_DEPTH_BUFFER_BIT);
-    
-    glPushMatrix();
-
-    if (chaos_on)      
-       glRotatef(angle,1.0,1.0,1.0); 
-    
-    glPushMatrix();
-    glRotatef(angle,1.0,1.0,1.0);
-    glColor3f(1.0,0.5,0.0);
-    glCallList(theSphere);
-    glColor3f(1.0,0.0,0.0);
-    glCallList(theCube);
-    glPopMatrix(); 
-        
-    glRotatef(-angle,0.0,0.0,1.0);
-    glPushMatrix();
-    /* draw ten icosahedrons */
-    for (i = 0; i < 10; i++)
-       {
-       glPushMatrix();
-       glRotatef(36*i,0.0,0.0,1.0);
-       glTranslatef(10.0,0.0,0.0);
-       glRotatef(2*angle,0.0,1.0,0.0);
-       glTranslatef(0.0,0.0,2.0);
-       
-       createIcoToruses(i); 
-       glPopMatrix();
-       }
-    glPopMatrix();
-    
-    glPopMatrix();
-    
-    uglMesaSwapBuffers();
-
-    angle += 1.0;
-
-    }
-
-UGL_LOCAL void echoUse(void)
-    {
-    printf("tIcoTorus keys:\n");
-    printf("           c  Toggle color buffer clear\n");
-    printf("       SPACE  Toggle chaos mode\n");
-    printf("         ESC  Exit\n");
-    }
-
-UGL_LOCAL void readKey (UGL_WCHAR key)
-    {
-    
-    switch(key)
-       {
-       case 'c':
-           color_on = !color_on;
-           break;    
-       case UGL_UNI_SPACE:
-           chaos_on = !chaos_on;
-           break;
-       case UGL_UNI_ESCAPE:
-           stopWex = UGL_TRUE;
-           break;
-       }
-    }
-
-UGL_LOCAL void loopEvent(void)
-    {
-    UGL_EVENT event;
-    UGL_INPUT_EVENT * pInputEvent;
-    UGL_FOREVER
-       {
-       if (uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT)
-           != UGL_STATUS_Q_EMPTY)
-            {
-           pInputEvent = (UGL_INPUT_EVENT *)&event;
-           
-           if (pInputEvent->header.type == UGL_EVENT_TYPE_KEYBOARD &&
-               pInputEvent->modifiers & UGL_KEYBOARD_KEYDOWN)
-               readKey(pInputEvent->type.keyboard.key);
-           }
-
-       drawGL();
-       if (stopWex)
-            break;
-       }
-    }
-
-void windMLIcoTorus (UGL_BOOL windMLMode);
-
-void uglicotorus (void)
-    {
-    taskSpawn ("tIcoTorus", 210, VX_FP_TASK, 100000, (FUNCPTR)windMLIcoTorus,
-              UGL_FALSE,1,2,3,4,5,6,7,8,9);
-    }
-
-void windMLIcoTorus (UGL_BOOL windMLMode)
-    {
-    GLsizei width, height;
-    UGL_INPUT_DEVICE_ID keyboardDevId;
-
-    angle = 0.0;
-    chaos_on = GL_TRUE;
-    color_on = GL_TRUE;
-
-    uglInitialize ();
-
-    uglDriverFind (UGL_KEYBOARD_TYPE, 0,
-                  (UGL_UINT32 *)&keyboardDevId);
-
-    if (uglDriverFind (UGL_EVENT_SERVICE_TYPE, 0,
-                       (UGL_UINT32 *)&eventServiceId) == UGL_STATUS_OK)
-        {
-        qId = uglEventQCreate (eventServiceId, 100);
-        }
-    else 
-        {
-        eventServiceId = UGL_NULL;
-        }
-
-    /* Double buffering */
-    if (windMLMode)
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE
-                                    | UGL_MESA_WINDML_EXCLUSIVE, NULL);
-    else
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE, NULL);
-    
-    if (umc == NULL)
-        {
-       uglDeinitialize ();
-       return;
-       }
-    
-    uglMesaMakeCurrentContext (umc, 0, 0, UGL_MESA_FULLSCREEN_WIDTH,
-                              UGL_MESA_FULLSCREEN_HEIGHT);
-
-    uglMesaGetIntegerv(UGL_MESA_WIDTH, &width);
-    uglMesaGetIntegerv(UGL_MESA_HEIGHT, &height);
-    
-    initGL (width, height);
-
-    echoUse();
-
-    stopWex = UGL_FALSE;
-    loopEvent();
-        
-    if (eventServiceId != UGL_NULL)
-        uglEventQDestroy (eventServiceId, qId);
-
-    uglMesaDestroyContext ();
-    uglDeinitialize ();
-    
-    return;
-    }
-
diff --git a/progs/windml/uglline.c b/progs/windml/uglline.c
deleted file mode 100644 (file)
index e58f071..0000000
+++ /dev/null
@@ -1,274 +0,0 @@
-
-/* uglline.c - WindML/Mesa example program */
-
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-/*
-modification history
---------------------
-01a,jun01,sra  Ported to UGL/Mesa and modifications
-*/
-
-/*
-DESCRIPTION
-Draw circular lines
-*/
-
-#include <stdio.h>
-#include <math.h>
-
-#include <ugl/ugl.h>
-#include <ugl/uglucode.h>
-#include <ugl/uglevent.h>
-#include <ugl/uglinput.h>
-
-#include <GL/uglmesa.h>
-#include <GL/glu.h>
-
-#define BLACK     (0)
-#define YELLOW    (1)
-#define GREEN     (2)
-#define BLUE      (3)
-#define CI_OFFSET  4
-
-UGL_LOCAL GLuint rgb;
-UGL_LOCAL UGL_EVENT_SERVICE_ID eventServiceId;
-UGL_LOCAL UGL_EVENT_Q_ID qId;
-UGL_LOCAL volatile UGL_BOOL stopWex;
-UGL_LOCAL UGL_MESA_CONTEXT umc;
-
-UGL_LOCAL GLboolean mode1, mode2;
-UGL_LOCAL GLint size;
-
-UGL_LOCAL GLfloat pntA[3] = {
-    -10.0, 0.0, 0.0
-};
-UGL_LOCAL GLfloat pntB[3] = {
-    -5.0, 0.0, 0.0
-};
-
-UGL_LOCAL GLint angleA;
-
-UGL_LOCAL void initGL (void)
-    {    
-    GLint i;
-
-    uglMesaSetColor(BLACK, 0.0, 0.0, 0.0);
-    uglMesaSetColor(YELLOW, 1.0, 1.0, 0.0);
-    uglMesaSetColor(GREEN, 0.0, 1.0, 0.0);
-    uglMesaSetColor(BLUE, 0.0, 0.0, 1.0);
-    
-    for (i = 0; i < 16; i++)
-       {
-       uglMesaSetColor(CI_OFFSET+i, i/15.0, i/15.0, 0.0);
-       }
-    
-    glClearColor(0.0, 0.0, 0.0, 0.0);
-    glClearIndex(BLACK);
-
-    glMatrixMode(GL_PROJECTION);
-    glLoadIdentity();
-    glOrtho(-10, 10, -10, 10, -10.0, 10.0);
-
-    glMatrixMode(GL_MODELVIEW);
-    
-    glLineStipple(1, 0xF0E0);
-    glBlendFunc(GL_SRC_ALPHA, GL_ONE);
-
-    mode1 = GL_FALSE;
-    mode2 = GL_FALSE;
-    size = 1;
-    }
-
-UGL_LOCAL void drawGL (void)
-    {
-    
-    GLint ci, i;
-
-    glClear(GL_COLOR_BUFFER_BIT);
-
-    glLineWidth(size);
-
-    if (mode1) {
-       glEnable(GL_LINE_STIPPLE);
-    } else {
-       glDisable(GL_LINE_STIPPLE);
-    }
-
-    if (mode2) {
-       ci = CI_OFFSET;
-       glEnable(GL_LINE_SMOOTH);
-       glEnable(GL_BLEND);
-    } else {
-       ci = YELLOW;
-       glDisable(GL_LINE_SMOOTH);
-       glDisable(GL_BLEND);
-    }
-
-    glPushMatrix();
-
-    glRotatef(angleA, 1, 0, 1);
-    angleA = angleA++ % 360;
-   
-    for (i = 0; i < 360; i += 5) {
-       glRotatef(5.0, 0, 0, 1);
-
-       glColor3f(1.0, 1.0, 0.0);
-       glBegin(GL_LINE_STRIP);
-           glVertex3fv(pntA);
-           glVertex3fv(pntB);
-       glEnd();
-
-       glPointSize(1);
-       
-       glColor3f(0.0, 1.0, 0.0);
-       glBegin(GL_POINTS);
-       glVertex3fv(pntA);
-       glVertex3fv(pntB);
-       glEnd();
-    }
-    
-    glPopMatrix();
-
-    glFlush();
-
-    uglMesaSwapBuffers();
-
-    }    
-
-UGL_LOCAL void echoUse(void)
-    {
-    printf("tLine keys:\n");
-    printf("           b  Blending/antialiasing\n");
-    printf("           n  Line stipple\n");
-    printf("     Up/Down  Pixel size\n");
-    printf("         ESC  Exit\n");
-    }
-
-UGL_LOCAL void readKey (UGL_WCHAR key)
-    {
-    switch(key)
-       {
-       case 'n':
-           mode1 = (mode1) ? GL_FALSE: GL_TRUE;
-           break;
-       case 'b':
-           mode2 = (mode2) ? GL_FALSE: GL_TRUE;
-           break;
-       case UGL_UNI_DOWN_ARROW:
-           if(size>0)
-               size--;
-           break;
-       case UGL_UNI_UP_ARROW:
-           size++;
-           break; 
-       case UGL_UNI_ESCAPE:
-           stopWex = UGL_TRUE;
-           break;
-       }
-    }
-
-UGL_LOCAL void loopEvent(void)
-    {
-    UGL_EVENT event;
-    UGL_INPUT_EVENT * pInputEvent;
-    UGL_FOREVER
-       {
-       if (uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT)
-           != UGL_STATUS_Q_EMPTY)
-            {
-           pInputEvent = (UGL_INPUT_EVENT *)&event;
-           
-           if (pInputEvent->header.type == UGL_EVENT_TYPE_KEYBOARD &&
-               pInputEvent->modifiers & UGL_KEYBOARD_KEYDOWN)
-               readKey(pInputEvent->type.keyboard.key);
-           }
-
-       drawGL();
-       if (stopWex)
-            break;
-       }
-    }
-
-void windMLLine (UGL_BOOL windMLMode);
-
-void uglline (void)
-    {
-    taskSpawn("tLine", 210, VX_FP_TASK, 100000, (FUNCPTR)windMLLine,
-              UGL_FALSE,1,2,3,4,5,6,7,8,9);
-    }
-
-
-void windMLLine(UGL_BOOL windMLMode)
-    {
-
-    UGL_INPUT_DEVICE_ID keyboardDevId;
-
-    angleA = 0;
-    
-    uglInitialize();
-
-    uglDriverFind (UGL_KEYBOARD_TYPE, 0, (UGL_UINT32 *)&keyboardDevId);
-
-    uglDriverFind (UGL_EVENT_SERVICE_TYPE, 0, (UGL_UINT32 *)&eventServiceId);
-
-    qId = uglEventQCreate (eventServiceId, 100);
-
-    /* Double buffer */
-
-    if (windMLMode)
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE
-                                    | UGL_MESA_WINDML_EXCLUSIVE, NULL);
-       else
-          umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE, NULL);
-
-    if (umc == NULL)
-        {
-       uglDeinitialize();
-       return;
-        }
-
-    /* Fullscreen */
-
-    uglMesaMakeCurrentContext(umc, 0, 0, UGL_MESA_FULLSCREEN_WIDTH,
-                             UGL_MESA_FULLSCREEN_HEIGHT);
-
-    uglMesaGetIntegerv(UGL_MESA_RGB, &rgb);
-    
-    initGL();
-
-    echoUse();
-
-    stopWex = UGL_FALSE;
-    loopEvent();
-        
-    uglEventQDestroy(eventServiceId, qId);
-
-    uglMesaDestroyContext();
-    uglDeinitialize();
-
-    return;
-    }
diff --git a/progs/windml/uglolympic.c b/progs/windml/uglolympic.c
deleted file mode 100644 (file)
index 282558d..0000000
+++ /dev/null
@@ -1,479 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-/*
- * Nov 20, 1995 use stdlib's rand()/srand() instead of random()/srand48(), etc.
- */
-
-/*
- * Modified by Stephane Raimbault to be able to run in VxWorks 07/18/01
- *
- * Modified by Li Wei(liwei@aiar.xjtu.edu.cn) to be able to run in Windows
- * 6/13
- *
- * Modified by Brian Paul to compile with Windows OR Unix.  7/23/97
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-
-#include <ugl/ugl.h>
-#include <ugl/uglevent.h>
-#include <ugl/uglinput.h>
-#include <ugl/uglucode.h>
-
-#include <GL/uglmesa.h>
-#include <GL/glu.h>
-
-#ifndef RAND_MAX
-#  define RAND_MAX 32767
-#endif
-
-#define XSIZE  100
-#define YSIZE  75
-
-#define RINGS 5
-#define BLUERING 0
-#define BLACKRING 1
-#define REDRING 2
-#define YELLOWRING 3
-#define GREENRING 4
-
-#define BACKGROUND 8
-
-UGL_LOCAL UGL_EVENT_SERVICE_ID eventServiceId;
-UGL_LOCAL UGL_EVENT_Q_ID qId;
-UGL_LOCAL UGL_MESA_CONTEXT umc;
-UGL_LOCAL volatile UGL_BOOL stopWex;
-
-UGL_LOCAL int rgb;
-UGL_LOCAL unsigned char rgb_colors[RINGS][3];
-UGL_LOCAL int mapped_colors[RINGS];
-UGL_LOCAL float dests[RINGS][3];
-UGL_LOCAL float offsets[RINGS][3];
-UGL_LOCAL float angs[RINGS];
-UGL_LOCAL float rotAxis[RINGS][3];
-UGL_LOCAL int iters[RINGS];
-UGL_LOCAL GLuint theTorus;
-
-enum {
-    COLOR_BLACK = 0,
-    COLOR_RED,
-    COLOR_GREEN,
-    COLOR_YELLOW,
-    COLOR_BLUE,
-    COLOR_MAGENTA,
-    COLOR_CYAN,
-    COLOR_WHITE
-};
-
-/*
-UGL_LOCAL float RGBMap[9][3] = {
-    {0, 0, 0},
-    {1, 0, 0},
-    {0, 1, 0},
-    {1, 1, 0},
-    {0, 0, 1},
-    {1, 0, 1},
-    {0, 1, 1},
-    {1, 1, 1},
-    {0.5, 0.5, 0.5}
-};
-
-UGL_LOCAL void SetColor(int c)
-    {
-    (rgb) ? glColor3fv(RGBMap[c]): glIndexf(c);
-    }
-
-UGL_LOCAL void InitMap(void)
-    {
-    int i;
-    
-    if (rgb)
-       return;
-    
-    for (i = 0; i < 9; i++)
-       uglMesaSetColor(i, RGBMap[i][0], RGBMap[i][1], RGBMap[i][2]);
-    }
-
-UGL_LOCAL void SetFogRamp(int density, int startIndex)
-    {
-    int fogValues, colorValues;
-    int i, j, k;
-    float intensity;
-    
-    fogValues = 1 << density;
-    colorValues = 1 << startIndex;
-    for (i = 0; i < colorValues; i++)
-       {
-       for (j = 0; j < fogValues; j++)
-           {
-           k = i * fogValues + j;
-           intensity = (i * fogValues + j * colorValues) / 255.0;
-           uglMesaSetColor(k, intensity, intensity, intensity);
-           }
-       }
-    }
-
-UGL_LOCAL void SetGreyRamp(void)
-    {
-    int i;
-    float intensity;
-
-    for (i = 0; i < 255; i++)
-       {
-       intensity = i / 255.0;
-       uglMesaSetColor(i, intensity, intensity, intensity);
-       }
-    }
-*/
-
-UGL_LOCAL void FillTorus(float rc, int numc, float rt, int numt)
-    {
-    int i, j, k;
-    double s, t;
-    double x, y, z;
-    double pi, twopi;
-
-    pi = 3.14159265358979323846;
-    twopi = 2 * pi;
-
-    for (i = 0; i < numc; i++)
-       {
-       glBegin(GL_QUAD_STRIP);
-        for (j = 0; j <= numt; j++)
-           {
-           for (k = 1; k >= 0; k--)
-               {
-               s = (i + k) % numc + 0.5;
-               t = j % numt;
-               
-               x = cos(t*twopi/numt) * cos(s*twopi/numc);
-               y = sin(t*twopi/numt) * cos(s*twopi/numc);
-               z = sin(s*twopi/numc);
-               glNormal3f(x, y, z);
-               
-               x = (rt + rc * cos(s*twopi/numc)) * cos(t*twopi/numt);
-               y = (rt + rc * cos(s*twopi/numc)) * sin(t*twopi/numt);
-               z = rc * sin(s*twopi/numc);
-               glVertex3f(x, y, z);
-               }
-           }
-       glEnd();
-       }
-    }
-
-UGL_LOCAL float Clamp(int iters_left, float t)
-    {
-    if (iters_left < 3)
-       {
-       return 0.0;
-       }
-    return (iters_left-2)*t/iters_left;
-    }
-
-UGL_LOCAL void drawGL(void)
-    {
-    int i, j;
-
-    for (i = 0; i < RINGS; i++)
-       {
-       if (iters[i]) {
-       for (j = 0; j < 3; j++)
-           {
-           offsets[i][j] = Clamp(iters[i], offsets[i][j]);
-           }
-       angs[i] = Clamp(iters[i], angs[i]);
-       iters[i]--;
-       }
-       }
-
-    glPushMatrix();
-
-    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-    gluLookAt(0,0,10, 0,0,0, 0,1,0);
-
-    for (i = 0; i < RINGS; i++)
-       {
-       if (rgb)
-           {
-           glColor3ubv(rgb_colors[i]);
-           }
-       else
-           {
-           glIndexi(mapped_colors[i]);
-           }
-       glPushMatrix();
-       glTranslatef(dests[i][0]+offsets[i][0], dests[i][1]+offsets[i][1],
-                    dests[i][2]+offsets[i][2]);
-       glRotatef(angs[i], rotAxis[i][0], rotAxis[i][1], rotAxis[i][2]);
-       glCallList(theTorus);
-       glPopMatrix();
-       }
-
-    glPopMatrix();
-
-    glFlush();
-
-    uglMesaSwapBuffers();
-    }
-
-UGL_LOCAL float MyRand(void)
-    {
-    return 10.0 * ( (float) rand() / (float) RAND_MAX - 0.5 );
-    }
-
-UGL_LOCAL void ReInit(void)
-    {
-    int i;
-    float deviation;
-
-    deviation = MyRand() / 2;
-    deviation = deviation * deviation;
-    for (i = 0; i < RINGS; i++)
-       {
-       offsets[i][0] = MyRand();
-       offsets[i][1] = MyRand();
-       offsets[i][2] = MyRand();
-       angs[i] = 260.0 * MyRand();
-       rotAxis[i][0] = MyRand();
-       rotAxis[i][1] = MyRand();
-       rotAxis[i][2] = MyRand();
-       iters[i] = (deviation * MyRand() + 60.0);
-       }
-    }
-
-UGL_LOCAL void initGL(void)
-    {
-    float base, height;
-    float aspect, x, y;
-    int i;
-
-    float top_y = 1.0;
-    float bottom_y = 0.0;
-    float top_z = 0.15;
-    float bottom_z = 0.69;
-    float spacing = 2.5;
-    static float lmodel_ambient[] = {0.0, 0.0, 0.0, 0.0};
-    static float lmodel_twoside[] = {GL_FALSE};
-    static float lmodel_local[] = {GL_FALSE};
-    static float light0_ambient[] = {0.1, 0.1, 0.1, 1.0};
-    static float light0_diffuse[] = {1.0, 1.0, 1.0, 0.0};
-    static float light0_position[] = {0.8660254, 0.5, 1, 0};
-    static float light0_specular[] = {1.0, 1.0, 1.0, 0.0};
-    static float bevel_mat_ambient[] = {0.0, 0.0, 0.0, 1.0};
-    static float bevel_mat_shininess[] = {40.0};
-    static float bevel_mat_specular[] = {1.0, 1.0, 1.0, 0.0};
-    static float bevel_mat_diffuse[] = {1.0, 0.0, 0.0, 0.0};
-
-    ReInit();
-
-    for (i = 0; i < RINGS; i++)
-       {
-       rgb_colors[i][0] = rgb_colors[i][1] = rgb_colors[i][2] = 0;
-       }
-    rgb_colors[BLUERING][2] = 255;
-    rgb_colors[REDRING][0] = 255;
-    rgb_colors[GREENRING][1] = 255;
-    rgb_colors[YELLOWRING][0] = 255;
-    rgb_colors[YELLOWRING][1] = 255;
-    mapped_colors[BLUERING] = COLOR_BLUE;
-    mapped_colors[REDRING] = COLOR_RED;
-    mapped_colors[GREENRING] = COLOR_GREEN;
-    mapped_colors[YELLOWRING] = COLOR_YELLOW;
-    mapped_colors[BLACKRING] = COLOR_BLACK;
-
-    dests[BLUERING][0] = -spacing;
-    dests[BLUERING][1] = top_y;
-    dests[BLUERING][2] = top_z;
-
-    dests[BLACKRING][0] = 0.0;
-    dests[BLACKRING][1] = top_y;
-    dests[BLACKRING][2] = top_z;
-
-    dests[REDRING][0] = spacing;
-    dests[REDRING][1] = top_y;
-    dests[REDRING][2] = top_z;
-
-    dests[YELLOWRING][0] = -spacing / 2.0;
-    dests[YELLOWRING][1] = bottom_y;
-    dests[YELLOWRING][2] = bottom_z;
-
-    dests[GREENRING][0] = spacing / 2.0;
-    dests[GREENRING][1] = bottom_y;
-    dests[GREENRING][2] = bottom_z;
-
-    base = 2.0;
-    height = 2.0;
-    theTorus = glGenLists(1);
-    glNewList(theTorus, GL_COMPILE);
-    FillTorus(0.1, 8, 1.0, 25);
-    glEndList();
-
-    x = (float)XSIZE;
-    y = (float)YSIZE;
-    aspect = x / y;
-    glEnable(GL_CULL_FACE);
-    glCullFace(GL_BACK);
-    glEnable(GL_DEPTH_TEST);
-    glClearDepth(1.0);
-
-    if (rgb)
-       {
-       glClearColor(0.5, 0.5, 0.5, 0.0);
-       glLightfv(GL_LIGHT0, GL_AMBIENT, light0_ambient);
-       glLightfv(GL_LIGHT0, GL_DIFFUSE, light0_diffuse);
-       glLightfv(GL_LIGHT0, GL_SPECULAR, light0_specular);
-       glLightfv(GL_LIGHT0, GL_POSITION, light0_position);
-       glEnable(GL_LIGHT0);
-
-       glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, lmodel_local);
-       glLightModelfv(GL_LIGHT_MODEL_TWO_SIDE, lmodel_twoside);
-       glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
-       glEnable(GL_LIGHTING);
-
-       glMaterialfv(GL_FRONT, GL_AMBIENT, bevel_mat_ambient);
-       glMaterialfv(GL_FRONT, GL_SHININESS, bevel_mat_shininess);
-       glMaterialfv(GL_FRONT, GL_SPECULAR, bevel_mat_specular);
-       glMaterialfv(GL_FRONT, GL_DIFFUSE, bevel_mat_diffuse);
-
-       glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
-       glEnable(GL_COLOR_MATERIAL);
-       glShadeModel(GL_SMOOTH);
-       }
-    else
-       {
-       glClearIndex(BACKGROUND);
-       glShadeModel(GL_FLAT);
-       }
-
-    glMatrixMode(GL_PROJECTION);
-    gluPerspective(45, 1.33, 0.1, 100.0);
-    glMatrixMode(GL_MODELVIEW);
-    }
-
-UGL_LOCAL void echoUse(void)
-    {
-    printf("tOlympic keys:\n");
-    printf("       SPACE  Reinitialize\n");
-    printf("         ESC  Exit\n");
-    }
-
-UGL_LOCAL void readKey (UGL_WCHAR key)
-    {
-    switch(key)
-       {
-       case UGL_UNI_SPACE:
-           ReInit();
-           break;
-       case UGL_UNI_ESCAPE:
-           stopWex = 1;
-           break;
-       }
-    }
-
-UGL_LOCAL void loopEvent(void)
-    {
-    UGL_EVENT event;
-    UGL_INPUT_EVENT * pInputEvent;
-    UGL_FOREVER
-       {
-       if (uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT)
-           != UGL_STATUS_Q_EMPTY)
-            {
-           pInputEvent = (UGL_INPUT_EVENT *)&event;
-           
-           if (pInputEvent->header.type == UGL_EVENT_TYPE_KEYBOARD &&
-               pInputEvent->modifiers & UGL_KEYBOARD_KEYDOWN)
-               readKey(pInputEvent->type.keyboard.key);
-           }
-
-       drawGL();
-       if (stopWex)
-            break;
-       }
-    }
-
-void windMLOlympic (UGL_BOOL windMLMode);
-
-void uglolympic (void)
-    {
-    taskSpawn("tOlympic", 210, VX_FP_TASK, 100000, (FUNCPTR)windMLOlympic,
-              0,1,2,3,4,5,6,7,8,9);
-    }
-
-void windMLOlympic(UGL_BOOL windMLMode)
-    {
-    UGL_INPUT_DEVICE_ID keyboardDevId;
-    
-    uglInitialize();
-    
-    uglDriverFind (UGL_KEYBOARD_TYPE, 0, (UGL_UINT32 *)&keyboardDevId);
-    
-    if (uglDriverFind (UGL_EVENT_SERVICE_TYPE, 0,
-                       (UGL_UINT32 *)&eventServiceId) == UGL_STATUS_OK)
-        {
-        qId = uglEventQCreate (eventServiceId, 100);
-        }
-    else 
-        {
-        eventServiceId = UGL_NULL;
-        }
-
-    if (windMLMode)
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE
-                                    | UGL_MESA_WINDML_EXCLUSIVE, NULL);
-    else
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE, NULL);
-    
-    if (umc == NULL)
-        {
-       uglDeinitialize();
-       return;
-        }
-
-    uglMesaMakeCurrentContext(umc, 0, 0, UGL_MESA_FULLSCREEN_WIDTH,
-                             UGL_MESA_FULLSCREEN_HEIGHT);
-
-    uglMesaGetIntegerv(UGL_MESA_RGB, &rgb);
-    
-    initGL();
-
-    echoUse();
-
-    stopWex = 0;
-    loopEvent();
-    
-    if (eventServiceId != UGL_NULL)
-       uglEventQDestroy (eventServiceId, qId);
-    
-    uglMesaDestroyContext();
-    uglDeinitialize();
-    
-    return;
-    }
diff --git a/progs/windml/uglpoint.c b/progs/windml/uglpoint.c
deleted file mode 100644 (file)
index 49c432c..0000000
+++ /dev/null
@@ -1,277 +0,0 @@
-
-/* uglpoint.c - WindML/Mesa example program */
-
-/* Copyright (C) 2001 by Wind River Systems, Inc */
-
-/*
- * Mesa 3-D graphics library
- * Version:  3.5
- *
- * The MIT License
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-/*
- * Authors:
- * Stephane Raimbault <stephane.raimbault@windriver.com> 
- */
-
-/*
-DESCRIPTION
-Draw a single point.
-*/
-
-#include <stdio.h>
-#include <math.h>
-
-#include <ugl/ugl.h>
-#include <ugl/uglevent.h>
-#include <ugl/uglinput.h>
-
-#include <GL/uglmesa.h>
-
-#define DOUBLE_BUFFER GL_TRUE
-
-enum {
-    BLACK = 0,
-    RED,
-    GREEN,
-    BLUE,
-    WHITE
-};
-
-UGL_LOCAL GLuint rgb;
-UGL_LOCAL UGL_EVENT_SERVICE_ID eventServiceId;
-UGL_LOCAL UGL_EVENT_Q_ID qId;
-UGL_LOCAL UGL_MESA_CONTEXT umc;
-UGL_LOCAL GLint angleT;
-
-UGL_LOCAL void initGL (void)
-    {
-    /* By passed in RGB mode */
-    uglMesaSetColor(BLACK, 0.0, 0.0, 0.0);
-    uglMesaSetColor(RED, 1.0, 0.0, 0.0);
-    uglMesaSetColor(GREEN, 0.0, 1.0, 0.0);
-    uglMesaSetColor(BLUE, 0.0, 0.0, 1.0);
-    uglMesaSetColor(WHITE, 1.0, 1.0, 1.0);
-    
-    glOrtho(0.0, 1.0, 0.0, 1.0, -20.0, 20.0);
-    
-    glClearColor(0.0, 0.0, 0.0, 0.0);
-    glClearIndex(BLACK);
-    }
-
-UGL_LOCAL void drawGL (void)
-    {
-    GLint i;
-    GLfloat x, y;
-
-    /* Avoid blinking in single buffer */
-    
-    if (DOUBLE_BUFFER)
-       glClear(GL_COLOR_BUFFER_BIT);    
-
-    /* Random points */
-
-    glBegin(GL_POINTS);
-    (rgb) ? glColor3f(1.0, 0.0, 0.0): glIndexi(RED);
-
-    for (i=0; i<150; i++)
-       {
-       x = rand() / (RAND_MAX+1.0);
-        y = rand() / (RAND_MAX+1.0);
-       glVertex2f(x, y);
-       }
-
-    (rgb) ? glColor3f(0.0, 1.0, 0.0): glIndexi(GREEN);
-
-    for (i=0; i<150; i++)
-       {
-       x = (rand() / (RAND_MAX+1.0));
-        y = (rand() / (RAND_MAX+1.0));
-       glVertex2f(x, y);
-       }
-
-    (rgb) ? glColor3f(0.0, 0.0, 1.0): glIndexi(BLUE);
-    glVertex2f(0.5,0.5);
-    
-    for (i=0; i<150; i++)
-       {
-       x = rand() / (RAND_MAX+1.0);
-        y = rand() / (RAND_MAX+1.0);
-       glVertex2f(x, y);
-       }
-
-    glEnd();
-
-    /* Smooth triangle */
-
-    glPushMatrix();
-    glTranslatef(0.5, 0.5, 0);    
-    glRotatef(angleT, 1.0, -1.0, 0.0);
-    angleT = angleT++ % 360;
-    glBegin(GL_TRIANGLES);
-    (rgb) ? glColor3f(1.0, 0.0, 0.0): glIndexi(RED);  
-    glVertex2f(0.75, 0.25);
-    (rgb) ? glColor3f(0.0, 1.0, 0.0): glIndexi(GREEN);  
-    glVertex2f(0.75, 0.75);
-    (rgb) ? glColor3f(0.0, 0.0, 1.0): glIndexi(BLUE);  
-    glVertex2f(0.25, 0.75);
-    glEnd();
-    glPopMatrix();
-
-    /* Flush and swap */
-
-    glFlush();
-    
-    uglMesaSwapBuffers();
-    }
-
-/************************************************************************
-*
-* getEvent
-*
-* RETURNS: true or false
-*
-* NOMANUAL
-*
-*/
-
-UGL_LOCAL int getEvent(void)
-    {
-    UGL_EVENT event;
-    UGL_STATUS status;
-    int retVal = 0;
-
-    status = uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT);
-
-    while (status != UGL_STATUS_Q_EMPTY)
-        {
-       UGL_INPUT_EVENT * pInputEvent = (UGL_INPUT_EVENT *)&event;
-       
-       if (pInputEvent->modifiers & UGL_KEYBOARD_KEYDOWN)
-           retVal = 1;
-
-       status = uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT);
-        }
-    return(retVal);
-    }
-
-void windMLPoint (UGL_BOOL windMLMode);
-
-void uglpoint (void)
-    {
-    taskSpawn ("tPoint", 210, VX_FP_TASK, 100000,
-              (FUNCPTR)windMLPoint, UGL_FALSE,1,2,3,4,5,6,7,8,9);
-    }
-
-void windMLPoint (UGL_BOOL windMLMode)
-    {
-    GLubyte pPixels[4];
-    GLsizei width, height;
-    UGL_INPUT_DEVICE_ID keyboardDevId;
-    
-    angleT = 0;
-
-    uglInitialize();
-    
-    uglDriverFind (UGL_KEYBOARD_TYPE, 0, (UGL_UINT32 *)&keyboardDevId);
-    
-    if (uglDriverFind (UGL_EVENT_SERVICE_TYPE, 0,
-                       (UGL_UINT32 *)&eventServiceId) == UGL_STATUS_OK)
-        {
-        qId = uglEventQCreate (eventServiceId, 100);
-        }
-    else 
-        {
-        eventServiceId = UGL_NULL;
-        }
-    
-    if (DOUBLE_BUFFER)
-       {
-       if (windMLMode)
-           umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE
-                                         | UGL_MESA_WINDML_EXCLUSIVE, NULL);
-       else
-           umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE, NULL);
-       }
-    else
-       {
-       if (windMLMode)
-           umc = uglMesaCreateNewContext(UGL_MESA_SINGLE
-                                         | UGL_MESA_WINDML_EXCLUSIVE, NULL);
-       else
-           umc = uglMesaCreateNewContext(UGL_MESA_SINGLE, NULL);
-       }
-
-    if (umc == NULL)
-        {
-       uglDeinitialize();
-       return;
-        }
-
-    /* Fullscreen */
-
-    uglMesaMakeCurrentContext(umc, 0, 0, UGL_MESA_FULLSCREEN_WIDTH,
-                             UGL_MESA_FULLSCREEN_HEIGHT);
-    
-    /* RGB or CI ? */
-
-    uglMesaGetIntegerv(UGL_MESA_RGB, &rgb);
-    
-    initGL();
-
-    while (!getEvent())
-       drawGL();
-    
-    uglMesaGetIntegerv(UGL_MESA_WIDTH, &width);
-    uglMesaGetIntegerv(UGL_MESA_HEIGHT, &height);
-    
-    printf ("glReadPixel return ");
-    if (rgb)
-       {
-       glReadPixels(width/2, height/2,
-                    1, 1, GL_RGB,
-                    GL_UNSIGNED_BYTE, pPixels);  
-       glFlush();
-       printf ("R:%i G:%i B:%i (RGB)", pPixels[0], pPixels[1], pPixels[2]);
-       }
-    else
-       {
-       glReadPixels(width/2, height/2,
-                    1, 1, GL_COLOR_INDEX,
-                    GL_UNSIGNED_BYTE, pPixels);  
-       glFlush();
-       if (pPixels[0] == BLUE)
-           printf ("BLUE (CI)");
-       else
-           printf ("%i (CI))", pPixels[0]);
-       }
-
-    printf(" for %ix%i\n", width/2, height/2);
-    
-    if (eventServiceId != UGL_NULL)
-       uglEventQDestroy (eventServiceId, qId);
-    
-    uglMesaDestroyContext();
-    uglDeinitialize();
-    
-    return;
-    }
diff --git a/progs/windml/uglstencil.c b/progs/windml/uglstencil.c
deleted file mode 100644 (file)
index 07e8fc6..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/*
- * (c) Copyright 1993, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- * Permission to use, copy, modify, and distribute this software for
- * any purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies and that both the copyright notice
- * and this permission notice appear in supporting documentation, and that
- * the name of Silicon Graphics, Inc. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
- * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
- * FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL SILICON
- * GRAPHICS, INC.  BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
- * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
- * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
- * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
- * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC.  HAS BEEN
- * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * US Government Users Restricted Rights
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer Software
- * clause at DFARS 252.227-7013 and/or in similar or successor
- * clauses in the FAR or the DOD or NASA FAR Supplement.
- * Unpublished-- rights reserved under the copyright laws of the
- * United States.  Contractor/manufacturer is Silicon Graphics,
- * Inc., 2011 N.  Shoreline Blvd., Mountain View, CA 94039-7311.
- *
- * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
- */
-/*  stencil.c
- *  This program draws two rotated tori in a window.
- *  A diamond in the center of the window masks out part
- *  of the scene.  Within this mask, a different model
- *  (a sphere) is drawn in a different color.
- */
-
-/*
- * Conversion to UGL/Mesa by Stephane Raimbault, 2001
- */
-
-#include <stdio.h>
-#include <math.h>
-
-#include <ugl/ugl.h>
-#include <ugl/uglevent.h>
-#include <ugl/uglinput.h>
-
-#include <GL/uglmesa.h>
-#include <GL/glu.h>
-#include <GL/uglglutshapes.h>
-
-#define YELLOWMAT   1
-#define BLUEMAT 2
-
-UGL_LOCAL UGL_EVENT_SERVICE_ID eventServiceId;
-UGL_LOCAL UGL_EVENT_Q_ID qId;
-UGL_LOCAL UGL_MESA_CONTEXT umc;
-
-UGL_LOCAL void initGL (GLsizei w, GLsizei h)
-    {
-    GLfloat yellow_diffuse[] = { 0.7, 0.7, 0.0, 1.0 };
-    GLfloat yellow_specular[] = { 1.0, 1.0, 1.0, 1.0 };
-
-    GLfloat blue_diffuse[] = { 0.1, 0.1, 0.7, 1.0 };
-    GLfloat blue_specular[] = { 0.1, 1.0, 1.0, 1.0 };
-
-    GLfloat position_one[] = { 1.0, 1.0, 1.0, 0.0 };
-
-    glNewList(YELLOWMAT, GL_COMPILE);
-    glMaterialfv(GL_FRONT, GL_DIFFUSE, yellow_diffuse);
-    glMaterialfv(GL_FRONT, GL_SPECULAR, yellow_specular);
-    glMaterialf(GL_FRONT, GL_SHININESS, 64.0);
-    glEndList();
-
-    glNewList(BLUEMAT, GL_COMPILE);
-    glMaterialfv(GL_FRONT, GL_DIFFUSE, blue_diffuse);
-    glMaterialfv(GL_FRONT, GL_SPECULAR, blue_specular);
-    glMaterialf(GL_FRONT, GL_SHININESS, 45.0);
-    glEndList();
-
-    glLightfv(GL_LIGHT0, GL_POSITION, position_one);
-
-    glEnable(GL_LIGHT0);
-    glEnable(GL_LIGHTING);
-    glDepthFunc(GL_LESS);
-    glEnable(GL_DEPTH_TEST);
-
-    glClearStencil(0x0);
-    glEnable(GL_STENCIL_TEST);
-
-    glClear(GL_STENCIL_BUFFER_BIT);
-
-/* create a diamond shaped stencil area */
-    glMatrixMode(GL_PROJECTION);
-    glLoadIdentity();
-    glOrtho(-3.0, 3.0, -3.0, 3.0, -1.0, 1.0);
-    glMatrixMode(GL_MODELVIEW);
-    glLoadIdentity();
-
-    glStencilFunc (GL_ALWAYS, 0x1, 0x1);
-    glStencilOp (GL_REPLACE, GL_REPLACE, GL_REPLACE);
-    glBegin(GL_QUADS);
-       glVertex3f (-1.0, 0.0, 0.0);
-       glVertex3f (0.0, 1.0, 0.0);
-       glVertex3f (1.0, 0.0, 0.0);
-       glVertex3f (0.0, -1.0, 0.0);
-    glEnd();
-
-    glMatrixMode(GL_PROJECTION);
-    glLoadIdentity();
-    gluPerspective(45.0, (GLfloat) w/(GLfloat) h, 3.0, 7.0);
-    glMatrixMode(GL_MODELVIEW);
-    glLoadIdentity();
-    glTranslatef(0.0, 0.0, -5.0);
-    }
-
-/*  Draw a sphere in a diamond-shaped section in the
- *  middle of a window with 2 tori.
- */
-UGL_LOCAL void drawGL(void)
-    {
-    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
-    glStencilOp (GL_KEEP, GL_KEEP, GL_KEEP);
-
-/* draw blue sphere where the stencil is 1 */
-    glStencilFunc (GL_EQUAL, 0x1, 0x1);
-    glCallList (BLUEMAT);
-    glutSolidSphere (0.5, 15, 15);
-/* draw the tori where the stencil is not 1 */
-    glStencilFunc (GL_NOTEQUAL, 0x1, 0x1);
-    glPushMatrix();
-       glRotatef (45.0, 0.0, 0.0, 1.0);
-       glRotatef (45.0, 0.0, 1.0, 0.0);
-       glCallList (YELLOWMAT);
-       glutSolidTorus (0.275, 0.85, 15, 15);
-       glPushMatrix();
-          glRotatef (90.0, 1.0, 0.0, 0.0);
-         glutSolidTorus (0.275, 0.85, 15, 15);
-       glPopMatrix();
-    glPopMatrix();
-
-    glFlush();
-
-    uglMesaSwapBuffers();
-    }
-
-UGL_LOCAL int getEvent(void)
-    {
-    UGL_EVENT event;
-    UGL_STATUS status;
-    int retVal = 0;
-
-    status = uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT);
-
-    while (status != UGL_STATUS_Q_EMPTY)
-        {
-       UGL_INPUT_EVENT * pInputEvent = (UGL_INPUT_EVENT *)&event;
-       
-       if (pInputEvent->modifiers & UGL_KEYBOARD_KEYDOWN)
-           retVal = 1;
-
-       status = uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT);
-        }
-    return(retVal);
-    }
-
-void windMLStencil (UGL_BOOL windMLMode);
-
-void uglstencil (void)
-    {
-    taskSpawn("tStencil", 210, VX_FP_TASK, 100000,
-             (FUNCPTR)windMLStencil,UGL_FALSE,1,2,3,4,5,6,7,8,9);
-    }
-
-void windMLStencil(UGL_BOOL windMLMode)
-    {
-    UGL_INPUT_DEVICE_ID keyboardDevId;
-    GLsizei width, height;
-    
-    uglInitialize();
-    
-    uglDriverFind (UGL_KEYBOARD_TYPE, 0, (UGL_UINT32 *)&keyboardDevId);
-    
-    uglDriverFind (UGL_EVENT_SERVICE_TYPE, 0, (UGL_UINT32 *)&eventServiceId);
-           
-    qId = uglEventQCreate (eventServiceId, 100);
-
-    if (windMLMode)
-       umc = uglMesaCreateNewContextExt(UGL_MESA_SINGLE
-                                       | UGL_MESA_WINDML_EXCLUSIVE,
-                                       16,
-                                       8,
-                                       0,0,0,0,
-                                       NULL);
-    else
-       umc = uglMesaCreateNewContextExt(UGL_MESA_SINGLE,
-                                       16,
-                                       8,
-                                       0,0,0,0,
-                                       NULL);
-
-    if (umc == NULL)
-       {
-       uglDeinitialize();
-       return;
-       }
-
-    /* Fullscreen */
-
-    uglMesaMakeCurrentContext(umc, 0, 0, UGL_MESA_FULLSCREEN_WIDTH,
-                             UGL_MESA_FULLSCREEN_HEIGHT);
-    
-    uglMesaGetIntegerv(UGL_MESA_WIDTH, &width);
-    uglMesaGetIntegerv(UGL_MESA_HEIGHT, &height);
-    
-    initGL(width, height);
-
-    drawGL();
-           
-    while (!getEvent());
-           
-    uglEventQDestroy (eventServiceId, qId);
-    
-    uglMesaDestroyContext();
-    uglDeinitialize();
-    
-    return;
-    }
-
diff --git a/progs/windml/uglteapot.c b/progs/windml/uglteapot.c
deleted file mode 100644 (file)
index 651fe09..0000000
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version:  3.5
- *
- * The MIT License
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-/*
- * Linux Magazine July 2001
- * Conversion to UGL/Mesa from GLUT by Stephane Raimbault, 2001
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <math.h>
-
-#include <ugl/ugl.h>
-#include <ugl/uglevent.h>
-#include <ugl/uglinput.h>
-#include <ugl/uglucode.h>
-
-#include <GL/uglmesa.h>
-#include <GL/glu.h>
-
-/* Need GLUT_SHAPES */
-
-#include <GL/uglglutshapes.h>
-
-#ifndef PI
-#define PI 3.14159265
-#endif
-
-UGL_LOCAL UGL_EVENT_SERVICE_ID eventServiceId;
-UGL_LOCAL UGL_EVENT_Q_ID qId;
-UGL_LOCAL UGL_MESA_CONTEXT umc;
-UGL_LOCAL volatile UGL_BOOL stopWex;
-
-UGL_LOCAL GLint angle;
-UGL_LOCAL GLfloat Sin[360], Cos[360];
-UGL_LOCAL GLfloat L0pos[]={0.0, 2.0, -1.0};
-UGL_LOCAL GLfloat L0dif[]={0.3, 0.3, 0.8};
-UGL_LOCAL GLfloat L1pos[]={2.0, 2.0, 2.0};
-UGL_LOCAL GLfloat L1dif[]={0.5, 0.5, 0.5};
-UGL_LOCAL GLfloat Mspec[3];
-UGL_LOCAL GLfloat Mshiny;
-UGL_LOCAL GLuint theTeapot;
-
-UGL_LOCAL void calcTableCosSin()
-{
-       int i;
-       for(i=0;i<360;i++) {
-               Cos[i] = cos(((float)i)/180.0*PI);
-               Sin[i] = sin(((float)i)/180.0*PI);
-       }
-}
-
-UGL_LOCAL void initGL(void)
-    {
-    glClearColor(0.0, 0.0, 0.0, 0.0);
-    glColor3f(1.0, 0.0, 0.0);
-    glEnable(GL_DEPTH_TEST);
-    
-    glShadeModel(GL_SMOOTH);
-    glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, GL_TRUE);
-    glEnable(GL_LIGHTING);
-    glEnable(GL_LIGHT0);
-    glEnable(GL_LIGHT1);
-    glLightfv(GL_LIGHT0, GL_DIFFUSE, L0dif);
-    glLightfv(GL_LIGHT0, GL_SPECULAR, L0dif);
-    glLightfv(GL_LIGHT1, GL_DIFFUSE, L1dif);
-    glLightfv(GL_LIGHT1, GL_SPECULAR, L1dif);
-    
-    glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, Mspec);
-    glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, Mshiny);
-    
-    glMatrixMode(GL_PROJECTION);
-    glLoadIdentity();
-    gluPerspective(45.0, 1.0, 0.1, 10.0);
-    glMatrixMode(GL_MODELVIEW);
-
-    theTeapot = glGenLists(1);
-    glNewList(theTeapot, GL_COMPILE);
-    glutSolidTeapot(1.0);
-    glEndList();
-
-    }
-
-UGL_LOCAL void drawGL()
-    {
-    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-    
-    glLoadIdentity();
-    
-    gluLookAt(4.5*Cos[angle], 2.0,4.5*Sin[angle],0.0,0.0,0.0,0.0,
-             1.0,0.0);
-    glLightfv(GL_LIGHT0, GL_POSITION, L0pos);
-    glLightfv(GL_LIGHT1, GL_POSITION, L1pos);
-
-    glCallList(theTeapot);
-
-    glFlush();
-    
-    uglMesaSwapBuffers();
-    }
-
-UGL_LOCAL void echoUse(void)
-    {
-    printf("tTeapot keys:\n");
-    printf("        Left  Counter clockwise rotation (y-axis)\n");
-    printf("       Right  Clockwise rotation (y-axis)\n");
-    printf("           j  Enable/disable Light0\n");
-    printf("           k  Enable/disable Light1\n");
-    printf("           m  Add specular\n");
-    printf("           l  Remove specular\n");
-    printf("           o  Add shininess\n");
-    printf("           p  Remove shininess\n");
-    printf("         ESC  Exit\n");
-    }
-
-
-UGL_LOCAL void readKey (UGL_WCHAR key)
-    {
-    switch(key)
-       {
-       case UGL_UNI_RIGHT_ARROW:
-           angle +=2;
-           if (angle>= 360)
-               angle-=360;
-           break;
-       case UGL_UNI_LEFT_ARROW:
-           angle -=2;
-           if (angle<0)
-               angle+=360;
-           break;
-       case 'j':
-           glIsEnabled(GL_LIGHT0) ?
-               glDisable(GL_LIGHT0) : glEnable(GL_LIGHT0);
-           break;
-       case 'k':
-           glIsEnabled(GL_LIGHT1) ?
-               glDisable(GL_LIGHT1) : glEnable(GL_LIGHT1);
-           break;
-       case 'm':
-           Mspec[0]+=0.1;
-           if(Mspec[0]>1)
-               Mspec[0]=1;
-           Mspec[1]+=0.1;
-           if(Mspec[1]>1)
-               Mspec[1]=1;
-           Mspec[2]+=0.1;
-           if(Mspec[2]>1)
-               Mspec[2]=1;
-           glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, Mspec);
-           break;
-       case 'l':
-           Mspec[0]-=0.1;
-           if(Mspec[0]>1)
-               Mspec[0]=1;
-           Mspec[1]-=0.1;
-           if(Mspec[1]>1)
-               Mspec[1]=1;
-           Mspec[2]-=0.1;
-           if(Mspec[2]>1)
-               Mspec[2]=1;
-           glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, Mspec);
-           break;
-       case 'o':
-           Mshiny -= 1;
-           if (Mshiny<0)
-               Mshiny=0;
-           glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, Mshiny);
-           break;
-       case 'p':
-           Mshiny += 1;
-           if (Mshiny>128)
-               Mshiny=128;
-           glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, Mshiny);
-           break;
-       case UGL_UNI_ESCAPE:
-           stopWex = UGL_TRUE;
-           break;
-       }
-    }
-
-UGL_LOCAL void loopEvent(void)
-    {
-    UGL_EVENT event;
-    UGL_INPUT_EVENT * pInputEvent;
-    UGL_FOREVER
-       {
-       if (uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT)
-           != UGL_STATUS_Q_EMPTY)
-            {
-           pInputEvent = (UGL_INPUT_EVENT *)&event;
-           
-           if (pInputEvent->header.type == UGL_EVENT_TYPE_KEYBOARD &&
-               pInputEvent->modifiers & UGL_KEYBOARD_KEYDOWN)
-               readKey(pInputEvent->type.keyboard.key);
-           }
-
-       drawGL();
-       if (stopWex)
-            break;
-       }
-    }
-
-void windMLTeapot (UGL_BOOL windMLMode);
-
-void uglteapot (void)
-    {
-    taskSpawn ("tTeapot", 210, VX_FP_TASK, 100000, (FUNCPTR)windMLTeapot,
-              UGL_FALSE,1,2,3,4,5,6,7,8,9);
-    }
-
-void windMLTeapot (UGL_BOOL windMLMode)
-    {
-    UGL_INPUT_DEVICE_ID keyboardDevId;
-    GLsizei displayWidth, displayHeight;
-    GLsizei x, y, w, h;
-    
-    angle = 45;
-    Mspec[0] = 0.5;
-    Mspec[1] = 0.5;
-    Mspec[2] = 0.5;
-    Mshiny = 50;
-    
-    uglInitialize ();
-
-    uglDriverFind (UGL_KEYBOARD_TYPE, 0,
-                  (UGL_UINT32 *)&keyboardDevId);
-
-    uglDriverFind (UGL_EVENT_SERVICE_TYPE, 0, (UGL_UINT32 *)&eventServiceId);
-
-    qId = uglEventQCreate (eventServiceId, 100);
-
-    /* Double buffering */
-    if (windMLMode)
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE
-                                    | UGL_MESA_WINDML_EXCLUSIVE, NULL);
-    else
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE, NULL);
-    
-    if (umc == NULL)
-        {
-       uglDeinitialize ();
-       return;
-       }
-
-    uglMesaMakeCurrentContext (umc, 0, 0, 1, 1);
-
-    uglMesaGetIntegerv(UGL_MESA_DISPLAY_WIDTH, &displayWidth);
-    uglMesaGetIntegerv(UGL_MESA_DISPLAY_HEIGHT, &displayHeight);
-    
-    h = (displayHeight*2)/3;
-    w = h;
-    x = (displayWidth-w)/2;
-    y = (displayHeight-h)/2;
-    
-    uglMesaMoveToWindow(x, y);
-    uglMesaResizeToWindow(w, h);
-    
-    calcTableCosSin();
-    
-    initGL ();
-    
-    echoUse();
-
-    stopWex = UGL_FALSE;
-    loopEvent();
-    
-    uglEventQDestroy (eventServiceId, qId);
-    
-    uglMesaDestroyContext();
-    uglDeinitialize ();
-
-    return;
-    }
diff --git a/progs/windml/ugltexcube.c b/progs/windml/ugltexcube.c
deleted file mode 100644 (file)
index 62b0306..0000000
+++ /dev/null
@@ -1,379 +0,0 @@
-
-/* ugltexcube.c - WindML/Mesa example program */
-
-/* Copyright (C) 2001 by Wind River Systems, Inc */
-
-/*
- * Mesa 3-D graphics library
- * Version:  3.5
- *
- * The MIT License
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-/*
- * Authors:
- * Stephane Raimbault <stephane.raimbault@windriver.com> 
- */
-
-/*
-DESCRIPTION
-Draw a textured cube
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-
-#include <ugl/ugl.h>
-#include <ugl/uglevent.h>
-#include <ugl/uglinput.h>
-#include <GL/uglmesa.h>
-#include <GL/glu.h>
-
-#include "../util/readtex.h"
-
-#define IMAGE_FILE "Mesa/images/wrs_logo.rgb"
-
-UGL_LOCAL UGL_EVENT_SERVICE_ID eventServiceId;
-UGL_LOCAL UGL_EVENT_Q_ID qId;
-UGL_LOCAL UGL_MESA_CONTEXT umc;
-
-UGL_LOCAL GLfloat xrot, yrot, zrot;
-UGL_LOCAL GLuint texture[1];
-UGL_LOCAL GLuint theTexCube;
-
-typedef struct {
-   GLubyte *data;
-   int width, height;
-   GLenum format;
-   } TEX_IMAGE;
-
-UGL_LOCAL void cleanUp (void);
-
-UGL_LOCAL void loadGLTexture()
-    {
-    TEX_IMAGE * texImage=NULL;
-
-    texImage = (TEX_IMAGE *) malloc(sizeof(TEX_IMAGE));
-
-    if (texImage == NULL)
-       {
-       printf("Error allocating space for image");
-       cleanUp();
-       exit(1);
-       }
-    
-    texImage->data = LoadRGBImage(IMAGE_FILE, &texImage->width,
-                                 &texImage->height, &texImage->format);
-    if (!texImage->data)
-       {
-       printf("Couldn't read %s\n", IMAGE_FILE);
-       free(texImage);
-       cleanUp();
-       exit(1);
-       }
-       
-    /* Create Texture */
-    glGenTextures(1, &texture[0]);
-    glBindTexture(GL_TEXTURE_2D, texture[0]);
-    glTexImage2D(GL_TEXTURE_2D, 0, 3,
-                texImage->width, texImage->height,
-                0, GL_RGB, GL_UNSIGNED_BYTE, texImage->data);
-
-    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-
-    free(texImage->data);
-    free(texImage);
-    }
-
-UGL_LOCAL void initGL(int width, int height)
-    {
-
-    /* Load the texture(s) */
-    loadGLTexture();
-
-    /* Enable texture mapping */
-    glEnable(GL_TEXTURE_2D);
-
-    /* Clear the background color to black */
-    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
-
-    glEnable(GL_CULL_FACE);
-    
-    /* Enables smooth color shading */
-    glShadeModel(GL_SMOOTH);
-
-/* glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); */        
-/* glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST); */
-    theTexCube = glGenLists(1);
-    glNewList(theTexCube, GL_COMPILE);
-
-    /* Choose the texture to use */
-    glBindTexture(GL_TEXTURE_2D, texture[0]);
-
-    /* Begin drawing a cube */
-    glBegin(GL_QUADS);
-        
-    /* Front face (note that the texture's corners have to match the
-       quad's corners) */
-
-    /* Bottom left of the texture and quad */
-    glTexCoord2f(0.0f, 0.0f);
-    glVertex3f(-1.0f, -1.0f, 1.0f);
-
-    /* Bottom Right Of The Texture and Quad */
-    glTexCoord2f(1.0f, 0.0f);
-    glVertex3f(1.0f, -1.0f, 1.0f);
-
-    /* Top Right Of The Texture and Quad */
-    glTexCoord2f(1.0f, 1.0f);
-    glVertex3f(1.0f, 1.0f, 1.0f);
-    /* Top Left Of The Texture and Quad        */
-    glTexCoord2f(0.0f, 1.0f);
-    glVertex3f(-1.0f, 1.0f, 1.0f);
-    
-    /* Back Face */
-
-    /* Bottom Right Of The Texture and Quad */
-    glTexCoord2f(1.0f, 0.0f);
-    glVertex3f(-1.0f, -1.0f, -1.0f);
-
-    /* Top Right Of The Texture and Quad */
-    glTexCoord2f(1.0f, 1.0f);
-    glVertex3f(-1.0f, 1.0f, -1.0f);
-
-    /* Top Left Of The Texture and Quad */
-    glTexCoord2f(0.0f, 1.0f);
-    glVertex3f(1.0f, 1.0f, -1.0f);
-
-    /* Bottom Left Of The Texture and Quad */
-    glTexCoord2f(0.0f, 0.0f);
-    glVertex3f(1.0f, -1.0f, -1.0f);
-
-    
-    /* Top Face */
-
-    /* Top Left Of The Texture and Quad */
-    glTexCoord2f(0.0f, 1.0f);
-    glVertex3f(-1.0f, 1.0f, -1.0f);
-
-    /* Bottom Left Of The Texture and Quad */
-    glTexCoord2f(0.0f, 0.0f);
-    glVertex3f(-1.0f, 1.0f, 1.0f);
-
-    /* Bottom Right Of The Texture and Quad */
-    glTexCoord2f(1.0f, 0.0f);
-    glVertex3f(1.0f, 1.0f, 1.0f);
-
-    /* Top Right Of The Texture and Quad */
-    glTexCoord2f(1.0f, 1.0f);
-    glVertex3f(1.0f, 1.0f, -1.0f);
-    
-    /* Bottom Face */
-
-    /* Top Right Of The Texture and Quad */
-    glTexCoord2f(1.0f, 1.0f);
-    glVertex3f(-1.0f, -1.0f, -1.0f);
-
-    /* Top Left Of The Texture and Quad */
-    glTexCoord2f(0.0f, 1.0f);
-    glVertex3f(1.0f, -1.0f, -1.0f);
-
-    /* Bottom Left Of The Texture and Quad */
-    glTexCoord2f(0.0f, 0.0f);
-    glVertex3f(1.0f, -1.0f, 1.0f);
-
-    /* Bottom Right Of The Texture and Quad */
-    glTexCoord2f(1.0f, 0.0f);
-    glVertex3f(-1.0f, -1.0f, 1.0f);
-       
-       
-    /* Right face */
-    /* Bottom Right Of The Texture and Quad */
-    glTexCoord2f(1.0f, 0.0f);
-    glVertex3f(1.0f, -1.0f, -1.0f);
-
-    /* Top Right Of The Texture and Quad */
-    glTexCoord2f(1.0f, 1.0f);
-    glVertex3f(1.0f, 1.0f, -1.0f);
-
-    /* Top Left Of The Texture and Quad */
-    glTexCoord2f(0.0f, 1.0f);
-    glVertex3f(1.0f, 1.0f, 1.0f);
-
-    /* Bottom Left Of The Texture and Quad */
-    glTexCoord2f(0.0f, 0.0f);
-    glVertex3f(1.0f, -1.0f, 1.0f);
-    
-       
-    /* Left Face */
-    /* Bottom Left Of The Texture and Quad */
-    glTexCoord2f(0.0f, 0.0f);
-    glVertex3f(-1.0f, -1.0f, -1.0f);
-
-    /* Bottom Right Of The Texture and Quad */
-    glTexCoord2f(1.0f, 0.0f);
-    glVertex3f(-1.0f, -1.0f, 1.0f);
-
-    /* Top Right Of The Texture and Quad */
-    glTexCoord2f(1.0f, 1.0f);
-    glVertex3f(-1.0f, 1.0f, 1.0f);
-
-    /* Top Left Of The Texture and Quad */
-    glTexCoord2f(0.0f, 1.0f);
-    glVertex3f(-1.0f, 1.0f, -1.0f);
-                                                  
-    glEnd();           /* done with the polygon */
-    glEndList();
-
-    glDisable(GL_DITHER);
-    glMatrixMode(GL_PROJECTION);
-    /* Reset the projection matrix */
-    glLoadIdentity();
-    /* Calculate the aspect ratio of the window */
-    gluPerspective(45.0f, (GLfloat) width / (GLfloat) height, 0.1f, 100.0f);
-
-    glMatrixMode(GL_MODELVIEW);
-    glLoadIdentity();
-    }
-
-UGL_LOCAL void drawGL() 
-    {
-    glClear(GL_COLOR_BUFFER_BIT);
-
-    /* Reset The View */
-    glPushMatrix();
-    
-    /* Move 8 units into the screen */
-    glTranslatef(0.0f, 0.0f, -8.0f);
-
-    /* Rotate on the X axis */
-    glRotatef(xrot, 1.0f, 0.0f, 0.0f);
-    
-    /* Rotate on the Y axis */
-    glRotatef(yrot, 0.0f, 1.0f, 0.0f);
-
-    /* Rotate On The Z Axis */
-    glRotatef(zrot, 0.0f, 0.0f, 1.0f);
-
-    glCallList(theTexCube);
-    
-    glFlush();
-        
-    uglMesaSwapBuffers();
-
-    glPopMatrix();
-
-    xrot += 1.6f;
-    yrot += 1.6f;
-    zrot += 1.6f;
-} 
-
-UGL_LOCAL int getEvent(void)
-    {
-    UGL_EVENT event;
-    UGL_STATUS status;
-    int retVal = 0;
-
-    status = uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT);
-
-    while (status != UGL_STATUS_Q_EMPTY)
-        {
-       UGL_INPUT_EVENT * pInputEvent = (UGL_INPUT_EVENT *)&event;
-       
-       if (pInputEvent->modifiers & UGL_KEYBOARD_KEYDOWN)
-           retVal = 1;
-
-       status = uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT);
-        }
-    return(retVal);
-    }
-
-UGL_LOCAL void cleanUp (void)
-    {
-    if (eventServiceId != UGL_NULL)
-       uglEventQDestroy (eventServiceId, qId);
-
-    uglMesaDestroyContext();
-    uglDeinitialize();
-    }
-
-void windMLTexCube (UGL_BOOL windMLMode);
-
-void ugltexcube (void)
-    {
-    taskSpawn("tTexCube", 210, VX_FP_TASK, 100000, (FUNCPTR)windMLTexCube,
-             UGL_FALSE,1,2,3,4,5,6,7,8,9);
-    }
-
-
-void windMLTexCube(UGL_BOOL windMLMode)
-    {
-    GLuint width, height;
-    UGL_INPUT_DEVICE_ID keyboardDevId;
-    
-    uglInitialize();
-
-    uglDriverFind (UGL_KEYBOARD_TYPE, 0, (UGL_UINT32 *)&keyboardDevId);
-
-    if (uglDriverFind (UGL_EVENT_SERVICE_TYPE, 0,
-                       (UGL_UINT32 *)&eventServiceId) == UGL_STATUS_OK)
-        {
-        qId = uglEventQCreate (eventServiceId, 100);
-        }
-    else 
-        {
-        eventServiceId = UGL_NULL;
-        }
-    
-    if (windMLMode)
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE
-                                    | UGL_MESA_WINDML_EXCLUSIVE, NULL);
-    else
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE, NULL);
-
-    if (umc == NULL)
-        {
-       uglDeinitialize();
-       return;
-        }
-
-    uglMesaMakeCurrentContext(umc, 0, 0,
-                             UGL_MESA_FULLSCREEN_WIDTH,
-                             UGL_MESA_FULLSCREEN_HEIGHT);
-                             
-
-    uglMesaGetIntegerv(UGL_MESA_WIDTH, &width);
-    uglMesaGetIntegerv(UGL_MESA_HEIGHT, &height);
-
-    initGL(width, height);
-
-    while(!getEvent())
-       drawGL();
-        
-    cleanUp();
-
-    return;
-    }
-
-
diff --git a/progs/windml/ugltexcyl.c b/progs/windml/ugltexcyl.c
deleted file mode 100644 (file)
index db66d1f..0000000
+++ /dev/null
@@ -1,406 +0,0 @@
-/*
- * Textured cylinder demo: lighting, texturing, reflection mapping.
- *
- * Brian Paul  May 1997  This program is in the public domain.
- *
- * Conversion to UGL/Mesa by Stephane Raimbault
- */
-
-/*
- * Revision 1.2  2001/09/10 19:21:13  brianp
- * WindML updates (Stephane Raimbault)
- *
- * Revision 1.1  2001/08/20 16:07:11  brianp
- * WindML driver (Stephane Raimbault)
- *
- * Revision 1.5  2001/03/27 17:35:26  brianp
- * set initial window pos
- *
- * Revision 1.4  2000/12/24 22:53:54  pesco
- * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
- * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
- * Essentially the same.
- * Program files updated to include "readtex.c", not "../util/readtex.c".
- * * demos/reflect.c: Likewise for "showbuffer.c".
- *
- *
- * * Makefile.am (EXTRA_DIST): Added top-level regular files.
- *
- * * include/GL/Makefile.am (INC_X11): Added glxext.h.
- *
- *
- * * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
- * Mesa GGI headers in dist even if HAVE_GGI is not given.
- *
- * * configure.in: Look for GLUT and demo source dirs in $srcdir.
- *
- * * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
- * More source list updates in various Makefile.am's.
- *
- * * Makefile.am (dist-hook): Remove CVS directory from distribution.
- * (DIST_SUBDIRS): List all possible subdirs here.
- * (SUBDIRS): Only list subdirs selected for build again.
- * The above two applied to all subdir Makefile.am's also.
- *
- * Revision 1.3  2000/09/29 23:09:39  brianp
- * added fps output
- *
- * Revision 1.2  1999/10/21 16:39:06  brianp
- * added -info command line option
- *
- * Revision 1.1.1.1  1999/08/19 00:55:40  jtg
- * Imported sources
- *
- * Revision 3.3  1999/03/28 18:24:37  brianp
- * minor clean-up
- *
- * Revision 3.2  1998/11/05 04:34:04  brianp
- * moved image files to ../images/ directory
- *
- * Revision 3.1  1998/06/23 03:16:51  brianp
- * added Point/Linear sampling menu items
- *
- * Revision 3.0  1998/02/14 18:42:29  brianp
- * initial rev
- *
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <tickLib.h>
-
-#include <ugl/ugl.h>
-#include <ugl/uglucode.h>
-#include <ugl/uglevent.h>
-#include <ugl/uglinput.h>
-
-#include <GL/uglmesa.h>
-#include <GL/glu.h>
-
-#include "../util/readtex.h"
-
-#define TEXTURE_FILE "Mesa/images/reflect.rgb"
-
-#define LIT 1
-#define TEXTURED 2
-#define REFLECT 3
-#define ANIMATE 10
-#define POINT_FILTER 20
-#define LINEAR_FILTER 21
-#define QUIT 100
-#define COUNT_FRAMES
-
-UGL_LOCAL UGL_EVENT_SERVICE_ID eventServiceId;
-UGL_LOCAL UGL_EVENT_Q_ID qId;
-UGL_LOCAL volatile UGL_BOOL stopWex;
-UGL_LOCAL UGL_MESA_CONTEXT umc;
-
-UGL_LOCAL GLuint CylinderObj;
-UGL_LOCAL GLboolean Animate;
-UGL_LOCAL GLboolean linearFilter;
-
-UGL_LOCAL GLfloat Xrot, Yrot, Zrot;
-UGL_LOCAL GLfloat DXrot, DYrot;
-
-UGL_LOCAL GLuint limit;
-UGL_LOCAL GLuint count;
-UGL_LOCAL GLuint tickStart, tickStop, tickBySec;
-
-UGL_LOCAL void cleanUp (void);
-
-UGL_LOCAL void drawGL(void)
-    {
-#ifdef COUNT_FRAMES
-    int time;
-#endif
-
-    glClear( GL_COLOR_BUFFER_BIT );
-    
-    glPushMatrix();
-    glRotatef(Xrot, 1.0, 0.0, 0.0);
-    glRotatef(Yrot, 0.0, 1.0, 0.0);
-    glRotatef(Zrot, 0.0, 0.0, 1.0);
-    glScalef(5.0, 5.0, 5.0);
-    glCallList(CylinderObj);
-    
-    glPopMatrix();
-    
-    uglMesaSwapBuffers();
-    
-    if (Animate)
-       {
-       Xrot += DXrot;
-       Yrot += DYrot;
-       }
-
-#ifdef COUNT_FRAMES
-    if (count > limit)
-        {
-       tickStop = tickGet ();
-       time = (tickStop-tickStart)/tickBySec;
-       printf (" %i fps\n", count/time);
-       tickStart = tickStop;
-       count = 0;
-        }
-    else 
-       count++;
-#endif
-
-    }
-
-UGL_LOCAL void echoUse(void)
-    {
-    printf("Keys:\n");
-    printf("     Up/Down  Rotate on Y\n");
-    printf("  Left/Right  Rotate on X\n");
-    printf("           a  Toggle animation\n");
-    printf("           f  Toggle point/linear filtered\n");
-    printf("           l  Lit\n");
-    printf("           t  Textured\n");
-    printf("           r  Reflect\n"); 
-    printf("         ESC  Exit\n");
-    }
-
-UGL_LOCAL void readKey(UGL_WCHAR key)
-    {
-    float step = 3.0;
-    switch (key)
-       {
-       case 'a':
-           Animate = !Animate;
-           break;
-       case 'f':
-           if(linearFilter)
-               {
-               glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
-                               GL_NEAREST);
-               glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,
-                               GL_NEAREST);
-               }
-           else
-               {
-               glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
-                               GL_LINEAR);
-               glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,
-                               GL_LINEAR);
-               }
-           linearFilter = !linearFilter;
-           break;
-       case 'l':
-           glEnable(GL_LIGHTING);
-           glDisable(GL_TEXTURE_2D);
-           glDisable(GL_TEXTURE_GEN_S);
-           glDisable(GL_TEXTURE_GEN_T);
-           break;
-       case 't':
-           glDisable(GL_LIGHTING);
-           glEnable(GL_TEXTURE_2D);
-           glDisable(GL_TEXTURE_GEN_S);
-           glDisable(GL_TEXTURE_GEN_T);
-           break;
-       case 'r':
-           glDisable(GL_LIGHTING);
-           glEnable(GL_TEXTURE_2D);
-           glEnable(GL_TEXTURE_GEN_S);
-           glEnable(GL_TEXTURE_GEN_T);
-           break;
-       case UGL_UNI_UP_ARROW:
-           Xrot += step;
-           break;
-       case UGL_UNI_DOWN_ARROW:
-           Xrot -= step;
-           break;
-       case UGL_UNI_LEFT_ARROW:
-           Yrot += step;
-           break;
-       case UGL_UNI_RIGHT_ARROW:
-           Yrot -= step;
-           break;
-       case UGL_UNI_ESCAPE:
-           stopWex = UGL_TRUE;
-           break;
-       }
-    }
-
-UGL_LOCAL void loopEvent(void)
-    {
-    UGL_EVENT event;
-    UGL_INPUT_EVENT * pInputEvent;
-    UGL_FOREVER
-       {
-       if (uglEventGet (qId, &event, sizeof (event), UGL_NO_WAIT)
-           != UGL_STATUS_Q_EMPTY)
-            {
-           pInputEvent = (UGL_INPUT_EVENT *)&event;
-           
-           if (pInputEvent->header.type == UGL_EVENT_TYPE_KEYBOARD &&
-               pInputEvent->modifiers & UGL_KEYBOARD_KEYDOWN)
-               readKey(pInputEvent->type.keyboard.key);
-           }
-       
-       drawGL();
-       if (stopWex)
-            break;
-       }
-    }
-
-UGL_LOCAL void initGL(void)
-    {
-    GLUquadricObj *q = gluNewQuadric();
-    CylinderObj = glGenLists(1);
-    glNewList(CylinderObj, GL_COMPILE);
-
-    glTranslatef(0.0, 0.0, -1.0);
-
-    /* cylinder */
-    gluQuadricNormals(q, GL_SMOOTH);
-    gluQuadricTexture(q, GL_TRUE);
-    gluCylinder(q, 0.6, 0.6, 2.0, 24, 1);
-
-    /* end cap */
-    glTranslatef(0.0, 0.0, 2.0);
-    gluDisk(q, 0.0, 0.6, 24, 1);
-
-    /* other end cap */
-    glTranslatef(0.0, 0.0, -2.0);
-    gluQuadricOrientation(q, GLU_INSIDE);
-    gluDisk(q, 0.0, 0.6, 24, 1);
-
-    glEndList();
-    gluDeleteQuadric(q);
-
-    /* lighting */
-    glEnable(GL_LIGHTING);
-    {
-    GLfloat gray[4] = {0.2, 0.2, 0.2, 1.0};
-    GLfloat white[4] = {1.0, 1.0, 1.0, 1.0};
-    GLfloat teal[4] = { 0.0, 1.0, 0.8, 1.0 };
-    glMaterialfv(GL_FRONT, GL_DIFFUSE, teal);
-    glLightfv(GL_LIGHT0, GL_AMBIENT, gray);
-    glLightfv(GL_LIGHT0, GL_DIFFUSE, white);
-    glEnable(GL_LIGHT0);
-    }
-
-    /* fitering = nearest, initially */
-    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
-    glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
-    glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST);
-
-    glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
-    glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
-
-    if (!LoadRGBMipmaps(TEXTURE_FILE, GL_RGB))
-       {
-       printf("Error: couldn't load texture image\n");
-       cleanUp();
-       exit(1);
-       }
-    
-    glEnable(GL_CULL_FACE);  /* don't need Z testing for convex objects */
-
-    glEnable(GL_LIGHTING);
-
-    glMatrixMode( GL_PROJECTION );
-    glLoadIdentity();
-    glFrustum( -1.0, 1.0, -1.0, 1.0, 10.0, 100.0 );
-    glMatrixMode( GL_MODELVIEW );
-    glLoadIdentity();
-    glTranslatef( 0.0, 0.0, -70.0 );
-
-    printf("GL_RENDERER   = %s\n", (char *) glGetString(GL_RENDERER));
-    printf("GL_VERSION    = %s\n", (char *) glGetString(GL_VERSION));
-    printf("GL_VENDOR     = %s\n", (char *) glGetString(GL_VENDOR));
-    printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
-
-#ifdef COUNT_FRAMES
-    tickStart = tickGet ();
-    tickBySec = sysClkRateGet ();
-#endif
-
-    }
-
-UGL_LOCAL void cleanUp (void)
-    {
-    uglEventQDestroy (eventServiceId, qId);
-    
-    uglMesaDestroyContext();
-    uglDeinitialize ();
-    }
-
-void windMLTexCyl (UGL_BOOL windMLMode);
-
-void ugltexcyl (void)
-    {
-    taskSpawn ("tTexCyl", 210, VX_FP_TASK, 100000, (FUNCPTR)windMLTexCyl,
-              UGL_FALSE,1,2,3,4,5,6,7,8,9);
-    }
-
-void windMLTexCyl (UGL_BOOL windMLMode)
-    {
-    UGL_INPUT_DEVICE_ID keyboardDevId;
-    GLsizei displayWidth, displayHeight;
-    GLsizei x, y, w, h;
-
-    CylinderObj = 0;
-    Animate = GL_TRUE;
-    linearFilter = GL_FALSE;
-    Xrot = 0.0;
-    Yrot = 0.0;
-    Zrot = 0.0;
-    DXrot = 1.0;
-    DYrot = 2.5;
-    limit = 100;
-    count = 1;
-    
-    uglInitialize ();
-
-    uglDriverFind (UGL_KEYBOARD_TYPE, 0,
-                  (UGL_UINT32 *)&keyboardDevId);
-
-    uglDriverFind (UGL_EVENT_SERVICE_TYPE, 0, (UGL_UINT32 *)&eventServiceId);
-
-    qId = uglEventQCreate (eventServiceId, 100);
-    
-    /* Double buffering */
-    if (windMLMode)
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE
-                                    | UGL_MESA_WINDML_EXCLUSIVE, NULL);
-    else
-       umc = uglMesaCreateNewContext(UGL_MESA_DOUBLE, NULL);
-    
-    if (umc == NULL)
-        {
-       uglDeinitialize ();
-       return;
-       }
-
-    uglMesaMakeCurrentContext (umc, 0, 0, 1, 1);
-
-    uglMesaGetIntegerv(UGL_MESA_DISPLAY_WIDTH, &displayWidth);
-    uglMesaGetIntegerv(UGL_MESA_DISPLAY_HEIGHT, &displayHeight);
-    
-    h = (displayHeight*3)/4;
-    w = h;
-    x = (displayWidth-w)/2;
-    y = (displayHeight-h)/2;
-    
-    uglMesaMoveToWindow(x, y);
-    uglMesaResizeToWindow(w, h);
-
-    initGL ();
-    
-    echoUse();
-
-    stopWex = UGL_FALSE;
-    loopEvent();
-
-    cleanUp();
-    
-    return;
-    }
-
diff --git a/progs/windml/wrs_logo.bmp b/progs/windml/wrs_logo.bmp
deleted file mode 100644 (file)
index 9a9f042..0000000
Binary files a/progs/windml/wrs_logo.bmp and /dev/null differ