Advertisement
Guest User

Untitled

a guest
Nov 29th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //vertex_buffer_d3d_model(vertex_index,file_name);
  2. /*
  3. NOTE
  4.  This will only load models that use primitive type 4 (pr_trianglelist)
  5.  and use all x,y,z,normal_x,normal_y,normal_z,texture_u,texture_v,color,alpha
  6. */
  7.  
  8. ind = argument0; //Get vertex buffer input from user
  9. file_name=file_text_open_read(argument1); //Get GM model file name from user
  10.  
  11. //Start reading from file
  12.  
  13. //Read first line of header, version number
  14. version = file_text_read_real(file_name);
  15. if file_text_eoln(file_name){file_text_readln(file_name);}
  16.  
  17. //Read second line of header, number of lines in file
  18. num_lines = file_text_read_real(file_name);
  19. if file_text_eoln(file_name){file_text_readln(file_name);}
  20.  
  21. //while (!file_text_eof(file_name)){
  22.  
  23. for (i=0; i<num_lines; i++)
  24.     {
  25.         text_real = file_text_read_real(file_name);
  26.  
  27.        
  28.          if (text_real == 0)
  29.          {
  30.             //Do nothing, this is d3d_model_primitive_begin()
  31.          }
  32.          
  33.          if (text_real == 1)
  34.          {
  35.             //Do nothing, this is d3d_model_primitive_end()
  36.          }
  37.          
  38.          //x, y, z,  d3d_model_vertex()
  39.          if (text_real == 2)
  40.          {
  41.             _x   = file_text_read_real(file_name);
  42.             _y   = file_text_read_real(file_name);
  43.             _z   = file_text_read_real(file_name);
  44.             _nx  = 0;
  45.             _ny  = 0;
  46.             _nz  = 0;
  47.             _tu  = 0;
  48.             _tv  = 0;
  49.             _col = c_white;
  50.             _alp = 1;
  51.  
  52.             vertex_position_3d(ind, _x, _y, _z);
  53.             vertex_normal(ind, _nx, _ny, _nz);            
  54.             vertex_texcoord(ind, _tu, _tv);          
  55.             vertex_colour(ind, _col, _alp);
  56.          }
  57.          
  58.          //x, y, z, color, alpha = d3d_model_vertex_color()
  59.          if (text_real == 3)
  60.          {
  61.             _x   = file_text_read_real(file_name);
  62.             _y   = file_text_read_real(file_name);
  63.             _z   = file_text_read_real(file_name);
  64.             _nx  = 0;
  65.             _ny  = 0;
  66.             _nz  = 0;
  67.             _tu  = 0;
  68.             _tv  = 0;
  69.             _col = file_text_read_real(file_name);
  70.             _alp = file_text_read_real(file_name);
  71.  
  72.             vertex_position_3d(ind, _x, _y, _z);
  73.             vertex_normal(ind, _nx, _ny, _nz);                        
  74.             vertex_texcoord(ind, _tu, _tv);
  75.             vertex_colour(ind, _col, _alp);
  76.          }
  77.  
  78.          //x, y, z, U, V = d3d_model_vertex_texture()
  79.          if (text_real == 4)
  80.          {
  81.             _x   = file_text_read_real(file_name);
  82.             _y   = file_text_read_real(file_name);
  83.             _z   = file_text_read_real(file_name);
  84.             _nx  = 0;
  85.             _ny  = 0;
  86.             _nz  = 0;
  87.             _tu  = file_text_read_real(file_name);
  88.             _tv  = file_text_read_real(file_name);
  89.             _col = c_white;
  90.             _alp = 1;
  91.  
  92.             vertex_position_3d(ind, _x, _y, _z);
  93.             vertex_normal(ind, _nx, _ny, _nz);                        
  94.             vertex_texcoord(ind, _tu, _tv);
  95.             vertex_colour(ind, _col, _alp);
  96.          }
  97.  
  98.          //x, y, z, U, V, color, alpha = d3d_model_vertex_texture_color()
  99.          if (text_real == 5)
  100.          {
  101.             _x   = file_text_read_real(file_name);
  102.             _y   = file_text_read_real(file_name);
  103.             _z   = file_text_read_real(file_name);
  104.             _nx  = 0;
  105.             _ny  = 0;
  106.             _nz  = 0;
  107.             _tu  = file_text_read_real(file_name);
  108.             _tv  = file_text_read_real(file_name);
  109.             _col = file_text_read_real(file_name);
  110.             _alp = 1;
  111.  
  112.             vertex_position_3d(ind, _x, _y, _z);
  113.             vertex_normal(ind, _nx, _ny, _nz);                        
  114.             vertex_texcoord(ind, _tu, _tv);
  115.             vertex_colour(ind, _col, _alp);          
  116.          }
  117.          
  118.          //x, y, z, nx, ny, nz = d3d_model_vertex_normal()
  119.          if (text_real == 6)
  120.          {
  121.             _x   = file_text_read_real(file_name);
  122.             _y   = file_text_read_real(file_name);
  123.             _z   = file_text_read_real(file_name);
  124.             _nx  = file_text_read_real(file_name);
  125.             _ny  = file_text_read_real(file_name);
  126.             _nz  = file_text_read_real(file_name);
  127.             _tu  = 0;
  128.             _tv  = 0;
  129.             _col = 0;
  130.             _alp = 1;
  131.  
  132.             vertex_position_3d(ind, _x, _y, _z);
  133.             vertex_normal(ind, _nx, _ny, _nz);                        
  134.             vertex_texcoord(ind, _tu, _tv);
  135.             vertex_colour(ind, _col, _alp);          
  136.          }
  137.          
  138.          //x, y, z, nx, ny, nz, color, alpha = d3d_model_vertex_normal_color()
  139.          if (text_real == 7)
  140.          {
  141.             _x   = file_text_read_real(file_name);
  142.             _y   = file_text_read_real(file_name);
  143.             _z   = file_text_read_real(file_name);
  144.             _nx  = file_text_read_real(file_name);
  145.             _ny  = file_text_read_real(file_name);
  146.             _nz  = file_text_read_real(file_name);
  147.             _tu  = 0;
  148.             _tv  = 0;
  149.             _col = file_text_read_real(file_name);
  150.             _alp = file_text_read_real(file_name);
  151.  
  152.             vertex_position_3d(ind, _x, _y, _z);
  153.             vertex_normal(ind, _nx, _ny, _nz);                        
  154.             vertex_texcoord(ind, _tu, _tv);
  155.             vertex_colour(ind, _col, _alp);        
  156.          }
  157.          
  158.          //x, y, z, nx, ny, nz, U, V = d3d_model_vertex_normal_texture()
  159.          if (text_real == 8)
  160.          {
  161.             _x   = file_text_read_real(file_name);
  162.             _y   = file_text_read_real(file_name);
  163.             _z   = file_text_read_real(file_name);
  164.             _nx  = file_text_read_real(file_name);
  165.             _ny  = file_text_read_real(file_name);
  166.             _nz  = file_text_read_real(file_name);
  167.             _tu  = file_text_read_real(file_name);
  168.             _tv  = file_text_read_real(file_name);
  169.             _col = c_white;
  170.             _alp = 1;
  171.  
  172.             vertex_position_3d(ind, _x, _y, _z);
  173.             vertex_normal(ind, _nx, _ny, _nz);                        
  174.             vertex_texcoord(ind, _tu, _tv);
  175.             vertex_colour(ind, _col, _alp);          
  176.          }
  177.          
  178.          //x, y, z, norm x, norm y, U, V, color, alpha
  179.          if (text_real == 9)
  180.          {
  181.             _x   = file_text_read_real(file_name);
  182.             _y   = file_text_read_real(file_name);
  183.             _z   = file_text_read_real(file_name);
  184.             _nx  = file_text_read_real(file_name);
  185.             _ny  = file_text_read_real(file_name);
  186.             _nz  = file_text_read_real(file_name);
  187.             _tu  = file_text_read_real(file_name);
  188.             _tv  = file_text_read_real(file_name);
  189.             _col = file_text_read_real(file_name);
  190.             _alp = file_text_read_real(file_name);
  191.  
  192.             vertex_position_3d(ind, _x, _y, _z);
  193.             vertex_normal(ind, _nx, _ny, _nz);                        
  194.             vertex_texcoord(ind, _tu, _tv);
  195.             vertex_colour(ind, _col, _alp);          
  196.          }
  197.                
  198.    
  199.     file_text_readln(file_name);  
  200. }
  201. //}
  202. file_text_close(file_name);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement