home *** CD-ROM | disk | FTP | other *** search
/ Virtual Reality Zone / VRZONE.ISO / mac / ZIP / MISC3D / AVRIL11.ZIP / EXAMPLE3.C < prev    next >
C/C++ Source or Header  |  1994-08-09  |  1KB  |  55 lines

  1. /* EXAMPLE3 -- surface maps */
  2.  
  3. /* Written by Bernie Roehl, April 1994 */
  4.  
  5. #include <stdlib.h>  /* needed for rand() */
  6.  
  7. #include "avril.h"
  8.  
  9. void main()
  10.     {
  11.     FILE *infile;
  12.     vrl_Light *light;
  13.     vrl_Camera *camera;
  14.     vrl_Shape *colorthing = NULL;
  15.     vrl_Surfacemap *map1, *map2;
  16.     int i;
  17.  
  18.     vrl_SystemStartup();
  19.     
  20.     map1 = vrl_SurfacemapCreate(6);
  21.     map2 = vrl_SurfacemapCreate(6);
  22.     for (i = 0; i < 6; ++i)
  23.         {
  24.         vrl_SurfacemapSetSurface(map1, i, vrl_SurfaceCreate(i + 1));
  25.         vrl_SurfacemapSetSurface(map2, i, vrl_SurfaceCreate(7 + i));
  26.         }
  27.  
  28.     infile = fopen("colorful.plg", "r");
  29.     if (infile)
  30.         {
  31.         colorthing = vrl_ReadPLG(infile);
  32.         fclose(infile);
  33.         }
  34.  
  35.     light = vrl_LightCreate();
  36.     vrl_LightRotY(light, float2angle(45));
  37.     vrl_LightRotX(light, float2angle(45));
  38.  
  39.     camera = vrl_CameraCreate();
  40.     vrl_CameraMove(camera, 0, 100, -50);
  41.  
  42.     for (i = 0; i < 10; ++i)
  43.         {
  44.         vrl_Object *obj = vrl_ObjectCreate(colorthing);
  45.         if (i & 1)
  46.             vrl_ObjectSetSurfacemap(obj, map1);
  47.         else
  48.             vrl_ObjectSetSurfacemap(obj, map2);
  49.         vrl_ObjectMove(obj, rand() % 1000, rand() % 1000, rand() % 1000);
  50.         }
  51.  
  52.     vrl_SystemRun();
  53.     }
  54.  
  55.