Guest User

Untitled

a guest
Apr 21st, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.02 KB | None | 0 0
  1.     void vertex(double x, double y, double z)
  2.     {
  3.         list<double> nmc = list<double>();
  4.         nmc.push_back(2);
  5.         nmc.push_back(x);
  6.         nmc.push_back(y);
  7.         nmc.push_back(z);
  8.         nmc.push_back(0);
  9.         nmc.push_back(0);
  10.         nmc.push_back(0);
  11.         nmc.push_back(0);
  12.         nmc.push_back(0);
  13.         nmc.push_back(0);
  14.         nmc.push_back(0);
  15.         model_calls.push_back(nmc);
  16.     }
  17.  
  18.     void draw(double x, double y, double z, int texId)
  19.     {
  20.         bind_texture(texId);
  21.         list<list<double> >::iterator mit;
  22.         list<double>::iterator pit;
  23.         for (mit = model_calls.begin(); mit != model_calls.end(); mit++)
  24.         {
  25.             pit = (*mit).begin();
  26.             switch (int(*pit++))
  27.             {
  28.                 case 0:  d3d_primitive_begin(*pit++); break;
  29.                 case 1:  d3d_primitive_end(); break;
  30.                 case 2:  d3d_vertex(*pit++, *pit++, *pit++); break;
  31.                 case 3:  d3d_vertex_color(*pit++, *pit++, *pit++, *pit++, *pit++); break;
  32.                 case 4:  d3d_vertex_texture(*pit++, *pit++, *pit++, *pit++, *pit++); break;
  33.                 case 5:  d3d_vertex_texture_color(*pit++, *pit++, *pit++, *pit++, *pit++, *pit++, *pit++); break;
  34.                 case 10: d3d_draw_block(*pit++, *pit++, *pit++, *pit++, *pit++, *pit++, texId, *pit++, *pit++); break;
  35.                 case 11: d3d_draw_cylinder(*pit++, *pit++, *pit++, *pit++, *pit++, *pit++, texId, *pit++, *pit++, *pit++, *pit++); break;
  36.                 case 12: d3d_draw_cone(*pit++, *pit++, *pit++, *pit++, *pit++, *pit++, texId, *pit++, *pit++, *pit++, *pit++); break;
  37.                 case 13: d3d_draw_ellipsoid(*pit++, *pit++, *pit++, *pit++, *pit++, *pit++, texId, *pit++, *pit++, *pit++); break;
  38.                 case 14: d3d_draw_wall(*pit++, *pit++, *pit++, *pit++, *pit++, *pit++, texId, *pit++, *pit++); break;
  39.                 case 15: d3d_draw_floor(*pit++, *pit++, *pit++, *pit++, *pit++, *pit++, texId, *pit++, *pit++); break;
  40.             }
  41.         }
  42.     }
Add Comment
Please, Sign In to add comment