Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.52 KB | None | 0 0
  1.         void SceneBuilder()
  2.         {
  3.             Stopwatch CPUtick = new Stopwatch();
  4.             CPUtick.Start();
  5.  
  6.             while (true)
  7.             {
  8.                 Thread.Sleep(1);
  9.  
  10.                 for (UInt64 Voxel = OBJ_HEADER; Voxel <= (UInt64)VoxCube[OBJ_SIZE] * 4; Voxel += BPP)
  11.                 {
  12.                     double a, b;
  13.  
  14.                     VoxCube[Voxel + _z]++;
  15.  
  16.                     if (VoxCube[Voxel + _z] != 0)
  17.                     {
  18.                         a = (VoxCube[Voxel + _x] * 500) / -VoxCube[Voxel + _z];
  19.                         b = (VoxCube[Voxel + _y] * 500) / -VoxCube[Voxel + _z];
  20.                     }
  21.                     else
  22.                     {
  23.                         a = (VoxCube[Voxel + _x] * 500);
  24.                         b = (VoxCube[Voxel + _y] * 500);
  25.                     }
  26.  
  27.                     if ((a <= ((double)Resolution.X / 2) - 0 && a >= -((double)Resolution.X / 2)) &&
  28.                         (b <= ((double)Resolution.Y / 2) - 0 && b >= -((double)Resolution.Y / 2)) && VoxCube[Voxel + _z] >= 0)
  29.                     {
  30.                         Int64 Repere = ((Int64)Resolution.X / 2 + (Int64)Resolution.X * (Int64)Resolution.Y / 2) * 4;
  31.                         Int64 OffsetPixel = Repere - (((Int64)Resolution.X * (Int64)b) + (Int64)a) * 4;
  32.  
  33.                         if (OffsetPixel >= 0 && OffsetPixel < ((Int64)Resolution.X * (Int64)Resolution.Y * (Int64)BPP))
  34.                         {
  35.                             UInt64 byteA = ((UInt64)VoxCube[Voxel + _color] << 24) >> 24;
  36.                             UInt64 byteR = ((UInt64)VoxCube[Voxel + _color] << 16) >> 24;
  37.                             UInt64 byteG = ((UInt64)VoxCube[Voxel + _color] << 08) >> 24;
  38.                             UInt64 byteB = ((UInt64)VoxCube[Voxel + _color] << 00) >> 24;
  39.  
  40.                             Viewport[150 + OffsetPixel] = (byte)byteR;
  41.                             Viewport[151 + OffsetPixel] = (byte)byteG;
  42.                             Viewport[152 + OffsetPixel] = (byte)byteB;
  43.                             Viewport[153 + OffsetPixel] = (byte)byteA;
  44.                         }
  45.                     }
  46.                 }
  47.  
  48.                 //UploadScreen();
  49.  
  50.                 // Show FPS
  51.                 FPS[0]++;
  52.  
  53.                 if (CPUtick.ElapsedMilliseconds > FPS[1] + 1000)
  54.                 {
  55.                     textBox8.Text = FPS[0].ToString();
  56.  
  57.                     FPS[0] = 0;
  58.                     FPS[1] = CPUtick.ElapsedMilliseconds;
  59.                 }
  60.             }
  61.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement