home *** CD-ROM | disk | FTP | other *** search
/ Virtual Reality Madness / VRMAD96_ONE.ISO / virtek / libex / libex136.c < prev    next >
C/C++ Source or Header  |  1995-08-24  |  2KB  |  64 lines

  1.                                                // Example: 136 from Library Reference
  2. #include "..\3D-Ware\dddware.h"
  3. short    Xpos=0, Ypos=0, Zpos=400;
  4. short    Xangle=0, Yangle=0, Zangle=0;
  5. short    VXpos=0, VYpos=0, VZpos=0;
  6. short    VXangle=-0x900, VYangle=0, VZangle=0;
  7. short    clipx=160, clipy=100;
  8. short  main(void)
  9. {
  10.   dddInitAll();
  11.   dddSetViewPos16(VXpos,VYpos,VZpos);          // Set the viewers angles in the 3D world.
  12.  
  13.   while  (dddkeycode!=_ESC)
  14.   {
  15.     dddCls();
  16.  
  17.     if (dddkeypressed[ _DN_ARROW ])
  18.     {
  19.       if (clipy<100)
  20.       {
  21.         clipy++;
  22.       }
  23.     }
  24.     if (dddkeypressed[ _UP_ARROW ])
  25.     {
  26.       if (clipy>2)
  27.       {
  28.         clipy--;
  29.       }
  30.     }
  31.          if (dddkeypressed[ _RT_ARROW ])
  32.     {
  33.       if (clipx<160)
  34.       {
  35.         clipx++;
  36.       }
  37.     }
  38.     if (dddkeypressed[ _LF_ARROW ])
  39.     {
  40.       if (clipx>2)
  41.       {
  42.         clipx--;
  43.       }
  44.     }
  45.     dddSetClipArea(160-clipx,159+clipx,100-clipy,99+clipy);
  46.                                                // Set up clipping boundaries.
  47.  
  48.     dddSetDotGrid(159,99,clipx,clipy);         // Set up the dot grid parameters.
  49.  
  50.  
  51.     dddHoriFade(VXangle,VZangle);              // Clear the graphics screen.
  52.     dddPrint6(1,0,0,"PRESS ESCAPE KEY TO EXIT");
  53.     VYangle += 0x80;                           // Rotate the shape in the Y plane.
  54.     VYangle = VYangle & 0xFFC0;
  55.                                                // Set up the viewers position in 3D space.
  56.     dddLookAt16(Xpos, Ypos, Zpos, VXangle, VYangle, Zangle, 1000);
  57.     dddSetViewAngles(VXangle,VYangle,VZangle); // Set the viewers angles in the 3D world.
  58.     dddDotGrid();
  59.     dddScreenSwap();                           // Flip the real screen and the dummy screen.
  60.   }
  61.   dddRestoreAll();
  62.   return 0;                                    // Bye.
  63. }
  64.