home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Virtual Reality Madness
/
VRMAD96_ONE.ISO
/
virtek
/
libex
/
libex003.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-08-24
|
2KB
|
42 lines
// 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.
}