home *** CD-ROM | disk | FTP | other *** search
- // Example: 003 from Library Reference
- #include "..\3D-Ware\dddware.h"
- #include <stdio.h>
- short Xpos=0, Ypos=0, Zpos=600, Xangle=0, Yangle=0, Zangle=0;
- short VXpos=0, VYpos=0, VZpos=0, VXangle=0, VYangle=0, VZangle=0;
- short ShapeHandle, inverse_tangent;
- char Semaphores;
- char string[80];
- short main(void)
- {
- dddInitAll();
- ShapeHandle = (dddShapeLoad("EXAMPLE.3D")); // Load the .3D data file.
- dddSetViewPos16(VXpos,VYpos,VZpos); // Set the viewers angles in the 3D engine.
- dddSetViewAngles(VXangle,VYangle,VZangle); // Set the viewers position in the 3D engine.
- while (dddkeycode!=_ESC)
- {
- if (dddkeypressed[_LF_ARROW])
- {
- VYangle-=0x40;
- }
- if (dddkeypressed[_RT_ARROW])
- {
- VYangle+=0x40;
- }
- dddHoriFade(0,0);
- dddDotGrid();
- dddSetViewAngles(VXangle,VYangle,VZangle); // Set the viewers angles.
- dddClearObjects(); // Clear the viewing table.
- dddInsertObject16(DRW_MOBILE,ShapeHandle,Semaphores,Xpos,Ypos,Zpos,Xangle,Yangle,Zangle);
- // Insert an object to be rendered.
- dddDrawObjects(); // Render all 3D objects we have inserted.
- dddGetRelXYZ(Xpos,Ypos,Zpos);
- // Calculate the inverse tangent.
- inverse_tangent = dddAtan(dddUserXpos-VXpos, dddUserZpos-VZpos);
- sprintf(string,"THE ARC-TAN IS : %d",inverse_tangent);
- dddPrint7(0,0,0,string);
- dddScreenSwap(); // Flip the real screen and the dummy screen.
- }
- dddRestoreAll();
- return 0; // Bye.
- }
-