Updated tests, changed model encoders to output content to a stream
This commit is contained in:
@@ -24,8 +24,8 @@ namespace OpenVulkano::Scene
|
||||
if (!file.is_open())
|
||||
throw std::runtime_error("Failed to open file '" + filePath + "' for writing!");
|
||||
|
||||
auto [objContents, mtlContents] = GetObjContents(geometry, "");
|
||||
file << objContents;
|
||||
std::stringstream dummy;
|
||||
WriteObjContents(geometry, "", file, dummy);
|
||||
file.close();
|
||||
}
|
||||
|
||||
@@ -34,8 +34,7 @@ namespace OpenVulkano::Scene
|
||||
std::ofstream file(filePath);
|
||||
if (!file.is_open())
|
||||
throw std::runtime_error("Failed to open file '" + filePath + "' for writing!");
|
||||
std::string scene = GetUsdContents(geometry);
|
||||
file << scene << "\n";
|
||||
WriteUsdContents(file, geometry);
|
||||
file.close();
|
||||
}
|
||||
|
||||
@@ -43,13 +42,14 @@ namespace OpenVulkano::Scene
|
||||
{
|
||||
OpenVulkano::ArchiveWriter zipWriter(zipPath.c_str());
|
||||
|
||||
auto [objContents, mtlContents] = GetObjContents(geometry, texturePath);
|
||||
std::stringstream objContents, mtlContents;
|
||||
WriteObjContents(geometry, texturePath, objContents, mtlContents);
|
||||
|
||||
auto objDesc = OpenVulkano::FileDescription::MakeDescriptionForFile("model.obj", objContents.size());
|
||||
zipWriter.AddFile(objDesc, objContents.data());
|
||||
auto objDesc = OpenVulkano::FileDescription::MakeDescriptionForFile("model.obj", objContents.str().size());
|
||||
zipWriter.AddFile(objDesc, objContents.str().data());
|
||||
|
||||
auto mtlDesc = OpenVulkano::FileDescription::MakeDescriptionForFile("material.mtl", mtlContents.size());
|
||||
zipWriter.AddFile(mtlDesc, mtlContents.data());
|
||||
auto mtlDesc = OpenVulkano::FileDescription::MakeDescriptionForFile("material.mtl", mtlContents.str().size());
|
||||
zipWriter.AddFile(mtlDesc, mtlContents.str().data());
|
||||
|
||||
if (!texturePath.empty() && std::filesystem::exists(texturePath))
|
||||
{
|
||||
@@ -63,9 +63,10 @@ namespace OpenVulkano::Scene
|
||||
{
|
||||
OpenVulkano::ZipWriter zipWriter(usdzPath);
|
||||
|
||||
std::string usd = GetUsdContents(geometry, texturePath);
|
||||
auto usdDesc = OpenVulkano::FileDescription::MakeDescriptionForFile("geometry.usda", usd.size());
|
||||
zipWriter.AddFile(usdDesc, usd.data());
|
||||
std::stringstream usdFile;
|
||||
WriteUsdContents(usdFile, geometry);
|
||||
auto usdDesc = OpenVulkano::FileDescription::MakeDescriptionForFile("geometry.usda", usdFile.str().size());
|
||||
zipWriter.AddFile(usdDesc, usdFile.str().data());
|
||||
|
||||
if (!texturePath.empty() && std::filesystem::exists(texturePath))
|
||||
{
|
||||
@@ -73,7 +74,5 @@ namespace OpenVulkano::Scene
|
||||
auto texDesc = OpenVulkano::FileDescription::MakeDescriptionForFile("texture.png", textureFile.Size());
|
||||
zipWriter.AddFile(texDesc, textureFile.Data());
|
||||
}
|
||||
|
||||
zipWriter.Close();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user