1.obj文件的读取
#include
#include
#include
#include
#include
#include
#include
#include
#include
#pragma comment(lib, "glew32.lib")
#pragma comment(lib,"glaux.lib ")
using namespace std;
float eye[3] = {0,0,0};
float degreex=0;
float degreey=0;
float degreez=0;
string s1;
GLfloat f2,f3,f4;
int v_num=0; //记录点的数量
int vn_num=0;//记录法线的数量
int f_num=0; //记录面的数量
GLfloat **vArr; //存放点的二维数组
GLfloat **vnArr;//存放法线的二维数组
int **fvArr; //存放面顶点的二维数组
int **fnArr; //存放面法线的二维数组
//int v_num=382;
//int vn_num=382;
//int f_num=760;
//GLfloat vArr[382][3];
//GLfloat vnArr[382][3];
//
//int fvArr[760][3];
//int fnArr[760][3];
int counta(string addr)//计数函数
{
ifstream filea(addr.c_str());
cout << "读取文件"<>s1>>f2>>f3>>f4;
vnArr[ii][0]=f2;
vnArr[ii][1]=f3;
vnArr[ii][2]=f4;
ii++;
}
if(strline[1]==' ')//v
{
istringstream strin(strline);
strin>>s1>>f2>>f3>>f4;
vArr[jj][0]=f2;
vArr[jj][1]=f3;
vArr[jj][2]=f4;
jj++;
//cout<<"good";
}
}
if (strline[0]=='f') //读取面
{
istringstream in(strline);
GLfloat a;
in>>s1;//去掉前缀f
int i,k;
for(i=0;i<3;i++)
{
in>>s1;
// cout<
到这里就已经把整个文件读取成功了,下一步应该是要用opengl把整个模型文件描绘出来。