home *** CD-ROM | disk | FTP | other *** search
- // Example: 112 from Library Reference
- #include "..\3d-ware\dddware.h"
- #include <stdio.h>
-
- char buffer[128];
- short refx,refy,refz;
- short VXpos=0, VYpos=-20, VZpos=0, VXangle=0, VYangle=0, VZangle=0;
- short Xpos=0, Ypos=0, Zpos=900, Xangle=0, Yangle=0, Zangle=0;
- short ShapeHandle;
- char Semaphores;
- struct dddTrackerStructure tracker;
- short main(void)
- {
- dddInitAll();
- dddSelectTracker(dddCYBERMAXX); // Select the CyberMaxx tracker.
- dddResetTracker();
- ShapeHandle = (dddShapeLoad("EXAMPLE.3D")); // Load the .3D data file.
-
- while (dddkeycode!=_ESC)
- {
- if (dddkeypressed[_SPACE])
- {
- dddReadTracker(&tracker); // Read the selected tracker.
- refx = tracker.Xangle;
- refy = tracker.Yangle;
- refz = tracker.Zangle;
- }
- dddSetViewPos16(VXpos,VYpos,VZpos); // Set the viewers angles in the 3D world.
- dddReadTracker(&tracker); // Read the tracker.
- dddSetViewAngles(tracker.Xangle-refx,tracker.Yangle-refy,tracker.Zangle-refz);
- dddHoriFade(tracker.Xangle-refx,tracker.Zangle-refz);
- dddClearObjects(); // Clear the viewing table.
- Zangle += 0x100;
- dddInsertObject16(DRW_MOBILE,ShapeHandle,Semaphores,Xpos,Ypos,Zpos,Xangle,Yangle,Zangle);
- // Insert an object to be rendered.
- sprintf(buffer,"%X\t\t %X\t\t%X",tracker.Xangle,tracker.Yangle,tracker.Zangle);
- dddMedPrintC(0,20,buffer);
- dddDrawObjects(); // Render all 3D objects we have inserted.
- dddScreenSwap(); // Flip the real screen and the dummy screen.
- }
- dddRestoreAll();
- return 0; // Bye.
- }
-