assimp
でメッシュをエクスポートすると、次のようにコードが出力されますが、精度が非常に限られています。輸出の精度を高めるためにはassimp
に方法がありますか? (何もドキュメントにこれをヒントません。).obj
ファイルに高精度出力ファイルをASSIMPからエクスポートするにはどうすればよいですか?
void export(aiScene* scene, const std::string & outputFile)
{
Assimp::Exporter exporter;
// exporter.mOutput.precision(16); ???
exporter.Export(scene, "obj", outputFile);
}
出力値あたりせいぜい6桁が含まれていません:
v 557760 4.07449e+06 -49.1995
v 557760 4.07449e+06 -49.095
v 557760 4.0745e+06 -49.0082
v 557760 4.0745e+06 -49.1127
実際の輸出のクラスを見て(ObjExporter.cpp
)すべてのデータは公開されていますstringstream
:
public:
std::ostringstream mOutput, mOutputMat;
[...]
mOutput << "# " << vp.size() << " vertex positions" << endl;
for(const aiVector3D& v : vp) {
mOutput << "v " << v.x << " " << v.y << " " << v.z << endl;
}
mOutput << endl;
assimp
ソースを変更せずにstringstream
精度(http://www.cplusplus.com/reference/ios/ios_base/precision/)を増やす方法はありますか?詳細に異なる輸出クラスを見て、それは(世界的に)これを定義したり、外部から渡すための何の方法はそれらのいくつかは、実際に内部stringstream
ため高い精度を設定していないが、があることが明らかになっ
6は、ストリームのデフォルトの精度で、あなたはSTDを使用してみました::てSetPrecisionます(http:// EN .cppreference.com/w/cpp/io/manip/setprecision)? – kfsone
いいえ私はそれを試していませんでしたが、私は自分のコード(assimpと静的にリンクしています)でそれを行うことができますか? (明らかに - 私は 'assimp'でコードを変更せずに解決策を探していましたが、これは現実的ではないかもしれません) – Chris
フォーマットで精度が上がらないのでしょうか? – Mikhail