写一个函数用来读取OpenGL纹理贴图坐标txt文件
时间: 2023-07-18 11:43:35 浏览: 197
基于OpenGL的纹理贴图技术
以下是一个简单的函数,用于读取OpenGL纹理贴图坐标txt文件,并返回一个 vector,其中存储了所有纹理坐标数据。
```c++
#include <fstream>
#include <sstream>
#include <vector>
std::vector<float> readTextureCoordsFromFile(const char *filename)
{
std::vector<float> textureCoords;
std::ifstream file(filename);
std::string line;
while (std::getline(file, line))
{
std::istringstream iss(line);
float u, v;
if (!(iss >> u >> v)) { break; } // error
textureCoords.push_back(u);
textureCoords.push_back(v);
}
return textureCoords;
}
```
该函数使用了 STL 中的 ifstream 和 stringstream 类,将文件中的每行数据读取到一个字符串中,再使用 stringstream 将其转换为 float 类型,并存储到 vector 中。需要注意的是,该函数只能够读取每行只包含两个浮点数的 txt 文件,如果需要读取其他格式的文件,需要根据具体情况进行修改。
阅读全文