Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //vertex_buffer_d3d_model(vertex_index,file_name);
- /*
- NOTE
- This will only load models that use primitive type 4 (pr_trianglelist)
- and use all x,y,z,normal_x,normal_y,normal_z,texture_u,texture_v,color,alpha
- */
- ind = argument0; //Get vertex buffer input from user
- file_name=file_text_open_read(argument1); //Get GM model file name from user
- //Start reading from file
- //Read first line of header, version number
- version = file_text_read_real(file_name);
- if file_text_eoln(file_name){file_text_readln(file_name);}
- //Read second line of header, number of lines in file
- num_lines = file_text_read_real(file_name);
- if file_text_eoln(file_name){file_text_readln(file_name);}
- //while (!file_text_eof(file_name)){
- for (i=0; i<num_lines; i++)
- {
- text_real = file_text_read_real(file_name);
- if (text_real == 0)
- {
- //Do nothing, this is d3d_model_primitive_begin()
- }
- if (text_real == 1)
- {
- //Do nothing, this is d3d_model_primitive_end()
- }
- //x, y, z, d3d_model_vertex()
- if (text_real == 2)
- {
- _x = file_text_read_real(file_name);
- _y = file_text_read_real(file_name);
- _z = file_text_read_real(file_name);
- _nx = 0;
- _ny = 0;
- _nz = 0;
- _tu = 0;
- _tv = 0;
- _col = c_white;
- _alp = 1;
- vertex_position_3d(ind, _x, _y, _z);
- vertex_normal(ind, _nx, _ny, _nz);
- vertex_texcoord(ind, _tu, _tv);
- vertex_colour(ind, _col, _alp);
- }
- //x, y, z, color, alpha = d3d_model_vertex_color()
- if (text_real == 3)
- {
- _x = file_text_read_real(file_name);
- _y = file_text_read_real(file_name);
- _z = file_text_read_real(file_name);
- _nx = 0;
- _ny = 0;
- _nz = 0;
- _tu = 0;
- _tv = 0;
- _col = file_text_read_real(file_name);
- _alp = file_text_read_real(file_name);
- vertex_position_3d(ind, _x, _y, _z);
- vertex_normal(ind, _nx, _ny, _nz);
- vertex_texcoord(ind, _tu, _tv);
- vertex_colour(ind, _col, _alp);
- }
- //x, y, z, U, V = d3d_model_vertex_texture()
- if (text_real == 4)
- {
- _x = file_text_read_real(file_name);
- _y = file_text_read_real(file_name);
- _z = file_text_read_real(file_name);
- _nx = 0;
- _ny = 0;
- _nz = 0;
- _tu = file_text_read_real(file_name);
- _tv = file_text_read_real(file_name);
- _col = c_white;
- _alp = 1;
- vertex_position_3d(ind, _x, _y, _z);
- vertex_normal(ind, _nx, _ny, _nz);
- vertex_texcoord(ind, _tu, _tv);
- vertex_colour(ind, _col, _alp);
- }
- //x, y, z, U, V, color, alpha = d3d_model_vertex_texture_color()
- if (text_real == 5)
- {
- _x = file_text_read_real(file_name);
- _y = file_text_read_real(file_name);
- _z = file_text_read_real(file_name);
- _nx = 0;
- _ny = 0;
- _nz = 0;
- _tu = file_text_read_real(file_name);
- _tv = file_text_read_real(file_name);
- _col = file_text_read_real(file_name);
- _alp = 1;
- vertex_position_3d(ind, _x, _y, _z);
- vertex_normal(ind, _nx, _ny, _nz);
- vertex_texcoord(ind, _tu, _tv);
- vertex_colour(ind, _col, _alp);
- }
- //x, y, z, nx, ny, nz = d3d_model_vertex_normal()
- if (text_real == 6)
- {
- _x = file_text_read_real(file_name);
- _y = file_text_read_real(file_name);
- _z = file_text_read_real(file_name);
- _nx = file_text_read_real(file_name);
- _ny = file_text_read_real(file_name);
- _nz = file_text_read_real(file_name);
- _tu = 0;
- _tv = 0;
- _col = 0;
- _alp = 1;
- vertex_position_3d(ind, _x, _y, _z);
- vertex_normal(ind, _nx, _ny, _nz);
- vertex_texcoord(ind, _tu, _tv);
- vertex_colour(ind, _col, _alp);
- }
- //x, y, z, nx, ny, nz, color, alpha = d3d_model_vertex_normal_color()
- if (text_real == 7)
- {
- _x = file_text_read_real(file_name);
- _y = file_text_read_real(file_name);
- _z = file_text_read_real(file_name);
- _nx = file_text_read_real(file_name);
- _ny = file_text_read_real(file_name);
- _nz = file_text_read_real(file_name);
- _tu = 0;
- _tv = 0;
- _col = file_text_read_real(file_name);
- _alp = file_text_read_real(file_name);
- vertex_position_3d(ind, _x, _y, _z);
- vertex_normal(ind, _nx, _ny, _nz);
- vertex_texcoord(ind, _tu, _tv);
- vertex_colour(ind, _col, _alp);
- }
- //x, y, z, nx, ny, nz, U, V = d3d_model_vertex_normal_texture()
- if (text_real == 8)
- {
- _x = file_text_read_real(file_name);
- _y = file_text_read_real(file_name);
- _z = file_text_read_real(file_name);
- _nx = file_text_read_real(file_name);
- _ny = file_text_read_real(file_name);
- _nz = file_text_read_real(file_name);
- _tu = file_text_read_real(file_name);
- _tv = file_text_read_real(file_name);
- _col = c_white;
- _alp = 1;
- vertex_position_3d(ind, _x, _y, _z);
- vertex_normal(ind, _nx, _ny, _nz);
- vertex_texcoord(ind, _tu, _tv);
- vertex_colour(ind, _col, _alp);
- }
- //x, y, z, norm x, norm y, U, V, color, alpha
- if (text_real == 9)
- {
- _x = file_text_read_real(file_name);
- _y = file_text_read_real(file_name);
- _z = file_text_read_real(file_name);
- _nx = file_text_read_real(file_name);
- _ny = file_text_read_real(file_name);
- _nz = file_text_read_real(file_name);
- _tu = file_text_read_real(file_name);
- _tv = file_text_read_real(file_name);
- _col = file_text_read_real(file_name);
- _alp = file_text_read_real(file_name);
- vertex_position_3d(ind, _x, _y, _z);
- vertex_normal(ind, _nx, _ny, _nz);
- vertex_texcoord(ind, _tu, _tv);
- vertex_colour(ind, _col, _alp);
- }
- file_text_readln(file_name);
- }
- //}
- file_text_close(file_name);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement