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

  1.                                                // Example: 112 from Library Reference
  2. #include    "..\3d-ware\dddware.h"
  3. #include    <stdio.h>
  4.  
  5. char    buffer[128];
  6. short      refx,refy,refz;
  7. short   VXpos=0, VYpos=-20, VZpos=0, VXangle=0, VYangle=0, VZangle=0;
  8. short   Xpos=0, Ypos=0, Zpos=900, Xangle=0, Yangle=0, Zangle=0;
  9. short   ShapeHandle;
  10. char    Semaphores;
  11. struct  dddTrackerStructure tracker;
  12. short  main(void)
  13. {
  14.   dddInitAll();
  15.   dddSelectTracker(dddCYBERMAXX);              // Select the CyberMaxx tracker.
  16.   dddResetTracker();
  17.   ShapeHandle = (dddShapeLoad("EXAMPLE.3D"));  // Load the .3D data file.
  18.  
  19.   while  (dddkeycode!=_ESC)
  20.   {
  21.     if  (dddkeypressed[_SPACE])
  22.     {
  23.         dddReadTracker(&tracker);                // Read the selected tracker.
  24.         refx = tracker.Xangle;
  25.         refy = tracker.Yangle;
  26.         refz = tracker.Zangle;
  27.     }
  28.     dddSetViewPos16(VXpos,VYpos,VZpos);        // Set the viewers angles in the 3D world.
  29.     dddReadTracker(&tracker);                  // Read the tracker.
  30.     dddSetViewAngles(tracker.Xangle-refx,tracker.Yangle-refy,tracker.Zangle-refz);
  31.     dddHoriFade(tracker.Xangle-refx,tracker.Zangle-refz);
  32.     dddClearObjects();                         // Clear the viewing table.
  33.     Zangle += 0x100;
  34.     dddInsertObject16(DRW_MOBILE,ShapeHandle,Semaphores,Xpos,Ypos,Zpos,Xangle,Yangle,Zangle);
  35.                                                // Insert an object to be rendered.
  36.     sprintf(buffer,"%X\t\t %X\t\t%X",tracker.Xangle,tracker.Yangle,tracker.Zangle);
  37.     dddMedPrintC(0,20,buffer);
  38.     dddDrawObjects();                          // Render all 3D objects we have inserted.
  39.     dddScreenSwap();                           // Flip the real screen and the dummy screen.
  40.   }
  41.   dddRestoreAll();
  42.   return 0;                                    // Bye.
  43. }
  44.