• 大小: 3.05MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-17
  • 语言: 其他
  • 标签: 添加纹理  

资源简介

opengl导入obj文件后,对模型贴纹理,进行魔心变换等基本操作,可用鼠标键盘进行旋转缩放

资源截图

代码片段和文件信息

#include “fileRead.h“


fileRead::fileRead()
{
}


fileRead::~fileRead()
{
}



//Obj文件读取
void fileRead::obj_reader(string filename)
{
string line;
ifstream in(filename);
if (!in)
{
cout << “Invalid file name.“ << endl;
cout << “Can‘t read obj file.“ << endl;
exit(0);
}
else

cout << “read obj file success.“ << endl;
cout << “玩命运算中,请稍后... ...“ << endl;


while (getline(in line))
{
//去除每行首尾的空格回车等
line.erase(line.find_last_not_of(“ \n\r\t“) + 1);
switch (line.find_first_not_of(“ \n\r\t“))
{

case 0:
break;
// line=line.substr(line.find_first_not_of(“ \n\r\t“));
default:
if (line.find_first_not_of(“ \n\r\t“)>10){
break;
line = line.substr(line.find_first_not_of(“ \n\r\t“));
break;
}
}

//获取顶点坐标
if (line.compare(0 2 “v “) == 0)
{
line = line.substr(line.find_first_of(“v“) + 1);
istringstream s(line);
mesh::vertex v;
s >> v.vx >> v.vy >> v.vz;
vertexs.push_back(v);

}

//获取纹理坐标
if (line.compare(0 2 “vt“) == 0)
{
line = line.substr(line.find_first_of(“vt“) + 2);
istringstream s(line);
mesh::texture vt;
s >> vt.vtx >> vt.vty;
textures.push_back(vt);
}

//获取顶点法向量坐标
if (line.compare(0 2 “vn“) == 0)
{
line = line.substr(line.find_first_of(“vn“) + 2);
istringstream s(line);
mesh::normal vn;
s >> vn.vnx >> vn.vny >> vn.vnz;
normals.push_back(vn);
}


//获取面索引
if (line.compare(0 2 “f “) == 0)
{
string temp f_data;
line = line.substr(line.find_first_of(“f“) + 1);
//cout< if (line.compare(1 10 “//“)>0)
{
line = replace_all_distinct(line “/“ “ “);
istringstream s(line);
mesh::face f;
s >> f.vfx >> f.vnfx;
s >> f.vfy >> f.vnfy;
s >> f.vfz >> f.vnfz;
faces.push_back(f);
}
else
{
line = replace_all_distinct(line “/“ “ “);
istringstream s(line);
mesh::face f;
s >> f.vfx >> f.vtfx >> f.vnfx;
s >> f.vfy >> f.vtfy >> f.vnfy;
s >> f.vfz >> f.vtfz >> f.vnfz;
faces.push_back(f);
}

}

}
cout< cout< cout< cout<}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-11-21 11:21  第二次实验\
     目录           0  2018-11-16 15:46  第二次实验\Debug\
     文件      924815  2018-11-14 00:26  第二次实验\Debug\fileRead.obj
     文件      460238  2018-11-12 16:33  第二次实验\Debug\glad.obj
     文件        1608  2018-11-12 16:33  第二次实验\Debug\learn_triangle.Build.CppClean.log
     文件      297044  2018-11-16 15:46  第二次实验\Debug\learn_triangle.log
     目录           0  2018-11-16 15:46  第二次实验\Debug\learn_triangle.tlog\
     文件        2822  2018-11-16 15:46  第二次实验\Debug\learn_triangle.tlog\CL.command.1.tlog
     文件      130620  2018-11-16 15:46  第二次实验\Debug\learn_triangle.tlog\CL.read.1.tlog
     文件        4422  2018-11-16 15:46  第二次实验\Debug\learn_triangle.tlog\CL.write.1.tlog
     文件         205  2018-11-16 15:46  第二次实验\Debug\learn_triangle.tlog\learn_triangle.lastbuildstate
     文件        2444  2018-11-16 15:46  第二次实验\Debug\learn_triangle.tlog\link.command.1.tlog
     文件        5378  2018-11-16 15:46  第二次实验\Debug\learn_triangle.tlog\link.read.1.tlog
     文件        1352  2018-11-16 15:46  第二次实验\Debug\learn_triangle.tlog\link.write.1.tlog
     文件      350020  2018-11-12 16:33  第二次实验\Debug\std_image.obj
     文件     1112959  2018-11-16 15:46  第二次实验\Debug\triangle.obj
     文件     1625088  2018-11-16 15:46  第二次实验\Debug\vc140.idb
     文件     1421312  2018-11-16 15:46  第二次实验\Debug\vc140.pdb
     文件       44004  2018-09-20 19:37  第二次实验\awesomeface.jpg
     文件      122294  2018-09-20 19:37  第二次实验\container.jpg
     文件        1193  2018-06-04 17:24  第二次实验\cube.obj
     文件         977  2018-11-14 08:59  第二次实验\cubic4.obj
     文件        2339  2018-06-04 11:03  第二次实验\fileRead.cpp
     文件        1464  2018-06-04 11:00  第二次实验\fileRead.h
     文件         179  2018-11-16 00:54  第二次实验\frag.fs
     文件      147434  2018-11-03 14:35  第二次实验\glad.c
     文件        7134  2018-11-14 13:01  第二次实验\learn_triangle.vcxproj
     文件        1861  2018-11-14 13:01  第二次实验\learn_triangle.vcxproj.filters
     文件      243280  2018-11-04 00:26  第二次实验\stb_image.h
     文件          56  2018-11-04 00:22  第二次实验\std_image.cpp
     文件        5466  2018-11-16 15:46  第二次实验\triangle.cpp
............此处省略24个文件信息

评论

共有 条评论