图形学编程学习日志01

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把整个模型文件描绘出来。


你可能感兴趣的:(学习日志)