高级着色语言GLSL渲染obj文件
读取obj文件,转换为顶点数组、索引数组和颜色数组使用为各自开辟缓存空间并且绑定缓存空间,使用着色器渲染图形,glDrawElements(GL_TRIANGLES, 3 * objRead.faces.size(), GL_UNSIGNED_BYTE, 0);绘制
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-05 09:19 obj-glsl
目录 0 2018-06-04 18:45 obj-glslDebug
文件 224768 2018-06-04 17:12 obj-glslDebugglsl-test-1.exe
文件 3591228 2018-06-04 17:12 obj-glslDebugglsl-test-1.ilk
文件 4000768 2018-06-04 17:12 obj-glslDebugglsl-test-1.pdb
目录 0 2018-06-04 18:47 obj-glslRelease
文件 52224 2018-06-05 09:06 obj-glslReleaseglsl-test-1.exe
文件 2690048 2018-06-05 09:06 obj-glslReleaseglsl-test-1.pdb
目录 0 2018-06-05 09:06 obj-glslglsl-test-1
目录 0 2018-06-04 18:43 obj-glslglsl-test-1Debug
文件 853113 2018-06-04 11:03 obj-glslglsl-test-1DebugfileRead.obj
文件 7576 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.log
目录 0 2018-06-04 18:42 obj-glslglsl-test-1Debugglsl-test-1.tlog
文件 94564 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.tlogCL.read.1.tlog
文件 3214 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.tlogCL.write.1.tlog
文件 3106 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.tlogcl.command.1.tlog
文件 200 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.tlogglsl-test-1.lastbuildstate
文件 26944 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.tloglink.command.1.tlog
文件 36724 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.tloglink.read.1.tlog
文件 1122 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.tloglink.write.1.tlog
文件 448883 2018-06-04 17:12 obj-glslglsl-test-1Debugmian.obj
文件 296873 2018-06-04 10:59 obj-glslglsl-test-1Debugshader.obj
文件 1281024 2018-06-04 17:12 obj-glslglsl-test-1Debugvc120.idb
文件 1126400 2018-06-04 17:12 obj-glslglsl-test-1Debugvc120.pdb
目录 0 2018-06-05 09:06 obj-glslglsl-test-1Release
文件 2807514 2018-06-04 17:13 obj-glslglsl-test-1ReleasefileRead.obj
文件 7696 2018-06-05 09:06 obj-glslglsl-test-1Releaseglsl-test-1.log
目录 0 2018-06-05 09:06 obj-glslglsl-test-1Releaseglsl-test-1.tlog
文件 107992 2018-06-05 09:06 obj-glslglsl-test-1Releaseglsl-test-1.tlogCL.read.1.tlog
文件 2670 2018-06-05 09:06 obj-glslglsl-test-1Releaseglsl-test-1.tlogCL.write.1.tlog
文件 3216 2018-06-05 09:06 obj-glslglsl-test-1Releaseglsl-test-1.tlogcl.command.1.tlog
............此处省略23个文件信息
#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(“
“) + 1);
switch (line.find_first_not_of(“
“))
{
case 0:
break;
// line=line.substr(line.find_first_not_of(“
“));
default:
if (line.find_first_not_of(“
“)>10){
break;
line = line.substr(line.find_first_not_of(“
“));
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-06-05 09:19 obj-glsl
目录 0 2018-06-04 18:45 obj-glslDebug
文件 224768 2018-06-04 17:12 obj-glslDebugglsl-test-1.exe
文件 3591228 2018-06-04 17:12 obj-glslDebugglsl-test-1.ilk
文件 4000768 2018-06-04 17:12 obj-glslDebugglsl-test-1.pdb
目录 0 2018-06-04 18:47 obj-glslRelease
文件 52224 2018-06-05 09:06 obj-glslReleaseglsl-test-1.exe
文件 2690048 2018-06-05 09:06 obj-glslReleaseglsl-test-1.pdb
目录 0 2018-06-05 09:06 obj-glslglsl-test-1
目录 0 2018-06-04 18:43 obj-glslglsl-test-1Debug
文件 853113 2018-06-04 11:03 obj-glslglsl-test-1DebugfileRead.obj
文件 7576 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.log
目录 0 2018-06-04 18:42 obj-glslglsl-test-1Debugglsl-test-1.tlog
文件 94564 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.tlogCL.read.1.tlog
文件 3214 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.tlogCL.write.1.tlog
文件 3106 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.tlogcl.command.1.tlog
文件 200 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.tlogglsl-test-1.lastbuildstate
文件 26944 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.tlogli
文件 36724 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.tlogli
文件 1122 2018-06-04 17:12 obj-glslglsl-test-1Debugglsl-test-1.tlogli
文件 448883 2018-06-04 17:12 obj-glslglsl-test-1Debugmian.obj
文件 296873 2018-06-04 10:59 obj-glslglsl-test-1Debugshader.obj
文件 1281024 2018-06-04 17:12 obj-glslglsl-test-1Debugvc120.idb
文件 1126400 2018-06-04 17:12 obj-glslglsl-test-1Debugvc120.pdb
目录 0 2018-06-05 09:06 obj-glslglsl-test-1Release
文件 2807514 2018-06-04 17:13 obj-glslglsl-test-1ReleasefileRead.obj
文件 7696 2018-06-05 09:06 obj-glslglsl-test-1Releaseglsl-test-1.log
目录 0 2018-06-05 09:06 obj-glslglsl-test-1Releaseglsl-test-1.tlog
文件 107992 2018-06-05 09:06 obj-glslglsl-test-1Releaseglsl-test-1.tlogCL.read.1.tlog
文件 2670 2018-06-05 09:06 obj-glslglsl-test-1Releaseglsl-test-1.tlogCL.write.1.tlog
文件 3216 2018-06-05 09:06 obj-glslglsl-test-1Releaseglsl-test-1.tlogcl.command.1.tlog
............此处省略23个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)