编辑: 笔墨随风 2013-01-08

/ /顶点索引 ・

4 8 ・ 物探化探计算技术 29卷int facets[

90 ];

/ /存面片数组 int facetsNum;

/ /面片数 int edges[

60 ];

/ /存顶点数组 int edgesNum;

/ /顶点数 };

/ /颜色结构体定义 struct ColorStruct { int index;

/ /颜色索引 GLfloat ra, ga, ba;

/ /环境光的各分量 GLfloat rd, gd, bd, ad;

/ /漫反射光的各分量 GLfloat rs, gs, bs;

/ /镜面反射光的各分量 GLfloat spec;

/ /镜面反射光的强度 };

/ /材质描述结构体 structMaterialColor { char name[

100 ];

GLfloat ra, ga, ba;

/ /环境光的各分量 GLfloat rd, gd, bd, ad;

/ /漫反射光的各分量 GLfloat rs, gs, bs;

/ /镜面反射光的各分量 GLfloat spec;

/ /镜面反射光的强度 };

/ /模型描述结构体 structModelContext { int facetCount;

/ /面的数量 int triangleFlag;

/ /三角形标注 Vertex vertexL ist[VERTEX_MAX ];

/ /模型中的顶点列表 int vertexCount;

/ /顶点数量 Vertex lineL ist[L I NE_MAX ];

/ /线中的顶点数组 int lineCount;

/ /顶点数量 Vertex lineStripL ist[L I NE_STR IP_MAX ];

int lineStripCount;

int edgeList[ EDGE_MAX ] [

2 ];

/ /边界列表 int edgeCount;

/ /边界数 Vertex objVertexList[OBJ_VERTEX_MAX ];

/ /OBJ文件中的顶点 int ovCount;

/ /顶点序数 int onCount;

/ /法向量序数 ColorStruct colorList[ COLOR_MAX ];

/ /模型中的颜色列表 int colorCount;

/ /颜色数 …… };

程序中定义了一个全局变量 : ModelContext3 model.又实现了一个类 ,将OBJ文件的内容读入 到全局变量中.在该类中定义了一些读入函数 void readL ineData (char

3 FileName) ;

/ /读入线数据 void readObjData ( char

3 FileName) ;

/ /读其它对象数据 FI LE

3 fileOpen ( const char

3 filename, const char

3 mode) ;

/ /打开文件 MaterialColor

3 readMaterials( char

3 FileName) ;

/ /读材质 获取了全局变量后 ,就可以在视图类中绘制所 得到的对象模型 ,然后对模型进行操作和交互式处 理.图 1是读入一个 OBJ文件的效果图. 图1读入 OBJ文件后的效果图 Fig .

1 Effect map after reading OJB files ・

5 8 ・ 1期 黎华等 : 几种三维模型文件在 OpenGL中的输入与处理

3 其它三维格式文件的输入和处理 这里介绍一种网络上比较流行的三维数据格 式WRL文件在 OpenGL 中的输入与处理.WRL 文件资源非常........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题