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

  1.                                                // Example: 054 from Library Reference
  2. #include "..\3D-Ware\dddware.h"
  3. #include  <stdio.h>
  4. short    Xpos=0, Ypos=0, Zpos=300;
  5. short    Xangle=0, Yangle=0, Zangle=0;
  6. short    VXangle=0, VYangle=0, VZangle=0;
  7. short    ShapeHandle;
  8. char     Semaphores;
  9. char     buffer[80];
  10. short  main(void)
  11. {
  12.   dddInitAll();
  13.   ShapeHandle = (dddShapeLoad("EXAMPLE.3D"));  // Load the .3D data file.
  14.   VXangle = VYangle = VZangle = 0;             // Set viewers angles to 0,0,0
  15.   dddSetViewPos16(0,0,0);                      // Set the viewers angles in the 3D engine.
  16.   while  (dddkeycode!=_ESC)                    // Loop  until Escape key is pressed.
  17.   {
  18.     if  (dddkeypressed[_LF_ARROW])
  19.     {
  20.       VYangle += 0x80;                         // Rotate the viewer in the Y plane.
  21.     }
  22.     if  (dddkeypressed[_RT_ARROW])
  23.     {
  24.       VYangle -= 0x80;                         // Rotate the viewer in the Y plane.
  25.     }
  26.     if  (dddkeypressed[_UP_ARROW])
  27.     {
  28.       Zpos += 0x80;                            // Move in the Z direction.
  29.     }
  30.     if  (dddkeypressed[_DN_ARROW])
  31.     {
  32.       Zpos -= 0x80;                            // Move in the Z direction.
  33.     }
  34.     dddHorizon(0,0);                           // Clear the graphics screen.
  35.     dddDotGrid();
  36.     dddClearObjects();  
  37.     dddSetViewAngles(VXangle,VYangle,VZangle); // Set the viewers angles.
  38.     dddInsertObject16(DRW_MOBILE,ShapeHandle,Semaphores,Xpos,Ypos,Zpos,Xangle,Yangle,Zangle);
  39.                                                // Insert an object to be rendered.
  40.     dddGetRelXYZ(Xpos,Ypos,Zpos);              // Get relative position of object to viewpoint.
  41.     sprintf(buffer,"THE RELATIVE X CO-ORD IS :- %d",dddUserXpos);
  42.     dddPrint7(1,0,0,buffer);
  43.     sprintf(buffer,"THE RELATIVE Z CO-ORD IS :- %d",dddUserZpos);
  44.     dddPrint7(1,0,10,buffer);
  45.     dddDrawObjects();                          // Render all 3D objects we have inserted.
  46.     dddScreenSwap();                           // Flip the real screen and the dummy screen.
  47.   }
  48.   dddRestoreAll();
  49.   return 0;                                    // Bye.
  50. }
  51.