本学期计算机图形学作业的一部分。
还是采用vrml读取为obj, 和obj写入为vrml。
只能读取最简单的点和面, 其他纹理没写。
#ifndef VRML_H_
#define VRML_H_
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int vrml_point(FILE *fp, float (*point)[3])
{
char tmp[256];
int point_count = 0;
while(!feof(fp))
{
fscanf(fp, "%s", tmp);
if (!strcmp(tmp, "["))
{
fscanf(fp, "%s", tmp);
while(strcmp(tmp, "]"))
{
point[point_count][0] = atof(tmp);
fscanf(fp, "%s", tmp);
point[point_count][1] = atof(tmp);
fscanf(fp, "%s", tmp);
point[point_count][2] = atof(tmp);
point_count++;
fscanf(fp, "%s", tmp);
}
return point_count;
}
}
}
int vrml_face(FILE *fp, int (*face)[3])
{
char tmp[256];
int face_count = 0;
while(!feof(fp))
{
fscanf(fp, "%s