LkEngine 0.1.2
 
Loading...
Searching...
No Matches
AssimpLogStream.h
1#pragma once
2
3#include "LkEngine/Core/Log/Log.h"
4
5#include <assimp/DefaultLogger.hpp>
6#include <assimp/LogStream.hpp>
7
8
9namespace LkEngine {
10
11 struct AssimpLogStream : public Assimp::LogStream
12 {
13 static void Initialize()
14 {
15 if (Assimp::DefaultLogger::isNullLogger())
16 {
17 Assimp::DefaultLogger::create("", Assimp::Logger::VERBOSE);
18 Assimp::DefaultLogger::get()->attachStream(new AssimpLogStream,
19 Assimp::Logger::Debugging
20 | Assimp::Logger::Info
21 | Assimp::Logger::Warn
22 | Assimp::Logger::Err);
23 }
24 }
25
26 virtual void write(const char* message) override
27 {
28 std::string msg(message);
29 if (!msg.empty() && msg[msg.length() - 1] == '\n')
30 {
31 msg.erase(msg.length() - 1);
32 }
33 if (strncmp(message, "Debug", 5) == 0)
34 {
35 LK_CORE_TRACE_TAG("Assimp", msg);
36 }
37 else if (strncmp(message, "Info", 4) == 0)
38 {
39 LK_CORE_INFO_TAG("Assimp", msg);
40 }
41 else if (strncmp(message, "Warn", 4) == 0)
42 {
43 LK_CORE_WARN_TAG("Assimp", msg);
44 }
45 else
46 {
47 LK_CORE_ERROR_TAG("Assimp", msg);
48 }
49 }
50 };
51
52
53}
Definition Asset.h:11
Definition AssimpLogStream.h:12