diff --git a/include/Cubed/tools/system_info.hpp b/include/Cubed/tools/system_info.hpp index d761d7c..a6dc5c9 100644 --- a/include/Cubed/tools/system_info.hpp +++ b/include/Cubed/tools/system_info.hpp @@ -87,4 +87,34 @@ inline size_t get_current_rss() { #endif } +inline std::string get_cpu_info() { +#ifdef _WIN32 + +#elif defined (__linux__) + std::ifstream file("/proc/cpuinfo"); + if (!file.is_open()) { + return std::string{"Unkown"}; + } + std::string line; + while (std::getline(file, line)) { + size_t pos = line.find(":"); + if (pos == std::string::npos) { + continue; + } + std::string key = line.substr(0, pos - 1); + key = key.erase(key.find_last_not_of(" \t\n") + 1); + if (key != "model name") { + continue; + } + return line.substr(pos + 2); + } + return std::string{"Unkown"}; +#else + return std::string{"Unkown"}; +#endif } + + +} + + diff --git a/include/Cubed/ui/text.hpp b/include/Cubed/ui/text.hpp index e65a293..5911220 100644 --- a/include/Cubed/ui/text.hpp +++ b/include/Cubed/ui/text.hpp @@ -21,7 +21,6 @@ public: Text& operator=(Text&&) noexcept = delete; Text& color(Color color); //Text& color(const glm::vec4& color, int pos); - Text& name(std::string_view name); Text& position(float x, float y); Text& scale(float s); Text& text(std::string_view str); diff --git a/src/debug_collector.cpp b/src/debug_collector.cpp index a955f76..0c4dee4 100644 --- a/src/debug_collector.cpp +++ b/src/debug_collector.cpp @@ -18,6 +18,9 @@ void DebugCollector::init_text() { Text player_pos_text("player_pos"); Text rendered_chunk_text("rendered_chunk"); Text rss_text("rss"); + Text cpu_text("cpu"); + Text gpu_text("gpu"); + Text opengl_version_text("opengl_version"); version_text .position(0.0f, 100.0f) .scale(0.8f) @@ -53,12 +56,27 @@ void DebugCollector::init_text() { .text("OS: Unknown"); } + cpu_text + .text("CPU: " + Tools::get_cpu_info()) + .scale(0.7f) + .position(0.0f, 350.0f); + gpu_text + .text(std::string{"GPU: "} + reinterpret_cast(glGetString(GL_RENDERER))) + .scale(0.7f) + .position(0.0f, 400.0f); + opengl_version_text + .text("OpenGL: " + std::to_string(GLVersion.major) + "." + std::to_string(GLVersion.minor)) + .scale(0.7f) + .position(0.0f, 450.0f); m_texts.insert({version_text.uuid(), std::move(version_text)}); m_texts.insert({fps_text.uuid(), std::move(fps_text)}); m_texts.insert({player_pos_text.uuid(), std::move(player_pos_text)}); m_texts.insert({rendered_chunk_text.uuid(), std::move(rendered_chunk_text)}); m_texts.insert({os_text.uuid(), std::move(os_text)}); m_texts.insert({rss_text.uuid(), std::move(rss_text)}); + m_texts.insert({cpu_text.uuid(), std::move(cpu_text)}); + m_texts.insert({gpu_text.uuid(), std::move(gpu_text)}); + m_texts.insert({opengl_version_text.uuid(), std::move(opengl_version_text)}); } std::unordered_map& DebugCollector::all_texts() {