home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 July & August / PCWorld_2006-07-08_cd.bin / temacd / planearcade / planearcade.exe / Tank3.bmp / debug.cpp < prev    next >
C/C++ Source or Header  |  2004-06-14  |  2KB  |  109 lines

  1. #include "main.h"
  2.  
  3.  
  4.  
  5. //------------------------------------------------------------------
  6. // Name: DebugDrawBox()
  7. // Desc: Nakresli krabicu
  8. //------------------------------------------------------------------
  9. void DebugDrawBox(VECTOR3D Min,VECTOR3D Max)
  10. {
  11.  
  12.     VECTOR3D P[8];
  13.  
  14.     //spodna plocha
  15.     P[0].X = Min.X;
  16.     P[0].Y = Min.Y;
  17.     P[0].Z = Min.Z;
  18.  
  19.     P[1].X = Max.X;
  20.     P[1].Y = Min.Y;
  21.     P[1].Z = Min.Z;
  22.  
  23.     P[2].X = Max.X;
  24.     P[2].Y = Min.Y;
  25.     P[2].Z = Max.Z;
  26.  
  27.     P[3].X = Min.X;
  28.     P[3].Y = Min.Y;
  29.     P[3].Z = Max.Z;
  30.  
  31.     //vrchna plocha
  32.     P[4].X = Min.X;
  33.     P[4].Y = Max.Y;
  34.     P[4].Z = Min.Z;
  35.  
  36.     P[5].X = Max.X;
  37.     P[5].Y = Max.Y;
  38.     P[5].Z = Min.Z;
  39.  
  40.     P[6].X = Max.X;
  41.     P[6].Y = Max.Y;
  42.     P[6].Z = Max.Z;
  43.  
  44.     P[7].X = Min.X;
  45.     P[7].Y = Max.Y;
  46.     P[7].Z = Max.Z;
  47.  
  48.     DebugDrawLine(P[0],P[1]);
  49.     DebugDrawLine(P[1],P[2]);
  50.     DebugDrawLine(P[2],P[3]);
  51.     DebugDrawLine(P[3],P[0]);
  52.  
  53.     DebugDrawLine(P[0],P[4]);
  54.     DebugDrawLine(P[1],P[5]);
  55.     DebugDrawLine(P[2],P[6]);
  56.     DebugDrawLine(P[3],P[7]);
  57.  
  58.     DebugDrawLine(P[4],P[5]);
  59.     DebugDrawLine(P[5],P[6]);
  60.     DebugDrawLine(P[6],P[7]);
  61.     DebugDrawLine(P[7],P[4]);
  62.  
  63.  
  64. }
  65.  
  66.  
  67. //------------------------------------------------------------------
  68. // Name: DebugDrawLine()
  69. // Desc: Nakresli Ciaru
  70. //------------------------------------------------------------------
  71. void DebugDrawLine(VECTOR3D Point1, VECTOR3D Point2)
  72. {
  73.  
  74.     //vertexi z ktorych sa bude vykreslova¥
  75.     CUSTOMVERTEXDEBUG *Vertex;
  76.     Vertex = new CUSTOMVERTEXDEBUG[2];
  77.  
  78.     //nastavi na default
  79.     Engine.ResetToDefault();
  80.     g_pd3dDevice->SetTexture(0,NULL);
  81.  
  82.     //vynuluje world maticu
  83.     D3DXMATRIXA16 NullMatrix;        
  84.     D3DXMatrixIdentity(&NullMatrix);
  85.     g_pd3dDevice->SetTransform( D3DTS_WORLD, &NullMatrix);
  86.  
  87.         Vertex[0].pos.x = Point1.X;
  88.         Vertex[0].pos.y = Point1.Y;
  89.         Vertex[0].pos.z = Point1.Z;
  90.         Vertex[0].color = 0xffffffff;
  91.  
  92.         Vertex[1].pos.x = Point2.X;
  93.         Vertex[1].pos.y = Point2.Y;
  94.         Vertex[1].pos.z = Point2.Z;
  95.         Vertex[0].color = 0xffffffff;
  96.  
  97.         g_pd3dDevice->SetFVF( D3DFVF_CUSTOMVERTEXDEBUG );
  98.         g_pd3dDevice->DrawPrimitiveUP( D3DPT_LINELIST,1,(BYTE**)&Vertex[0], sizeof(CUSTOMVERTEXDEBUG));
  99.  
  100.  
  101.     if (Vertex != NULL)
  102.         delete [] Vertex;
  103.  
  104.     //nastavi na default
  105.     Engine.ResetToDefault();
  106. }
  107.  
  108.  
  109.