通过回调获取Assimp导入信息

时间:2017-10-14 01:52:25

标签: c++ visual-studio-2017 assimp

我正在使用Assimp将.fbx文件导入我的引擎。每次导入文件时,都会创建有关文件内容的信息。

我已设置aiLogStream来获取信息。

struct aiLogStream stream;
stream = aiGetPredefinedLogStream(aiDefaultLogStream_DEBUGGER, nullptr);
aiAttachLogStream(&stream);

这将信息提供给visual studio中的输出窗口。

aiLogStream结构有一个aiLogStreamCallback来获取信息,但我不知道如何实现回调。

任何人都知道怎么做?

1 个答案:

答案 0 :(得分:0)

回调用于将传入的日志消息传递给您的应用程序。因此,您可以将此消息打印到特殊的日志窗口或例如特殊文件中。要实现这一点,只需使用回调的已定义签名定义一个函数,如:

// Implementation for your own log stream callback
void myCallback( const char *msg, char *userData) {
  printToMyWindows( msg );
  printIntoMyFile( msg );
}

// Register it
struct aiLogStream stream;
stream.callback = myCallback;
aiAttachLogStream(&stream);

现在只要在Asset-Importer-Lib中的某处写入日志消息,就会调用自己的回调。

希望有所帮助。对于迟到的回应感到抱歉,今天发现了这个问题。