问题标签 [imgui]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何在 Linux 的 cmake gcc 项目中使用柯南处理 ImGui-SFML 依赖项?
我想使用 conan 在 Linux 中处理项目的依赖关系,C++/cmake/gcc
并构建一个 ImGui C++ 演示,如下所示:使用 Elias Daler 的 imgui
我已经使用Boost
柯南成功地处理了依赖关系,但是使用 ImGui-SFML 我遇到了链接错误。
我conanfile.txt
有以下说明:
我将这些行添加到我CMakeLists.txt
的与柯南一起工作:
然后,在里面build/
我运行以下命令来构建库并安装依赖项:
到目前为止,柯南很好,libImGui-SFML.a
生成了(它也被复制到,build/lib
因为[imports]
我添加了link_directories()
指令,但我认为不应该需要副本)。
然后,我生成makefile
最后,当我尝试构建项目时
我收到这些链接错误:
柯南生成的库是静态的:
这篇文章看起来很相关,但不适用于 ImGui:Installing gtest with conan
程序是否在寻找共享库?
我是否conanfile.txt
在文件或文件中缺少某些配置CMakeLists.txt
?
编辑:
c++ - 亲爱的 IMGUI 和 DirectX 12 覆盖 (DXGI_ERROR_INVALID_CALL)
我正在尝试使用 Dear IMGUI 为 DirectX 12 游戏制作一个简单的帧计数器。我只是想覆盖一个小的透明窗口,在游戏过程中显示帧的顺序。为此,我挂钩 Present(),因此我可以获得SwapChain
, 并计算方法被调用的次数(帧计数)。这不是为了作弊。我不是为游戏写秘籍,我只是想记录帧数以用于分析目的。
我已经使用ShowExampleAppSimpleOverlay()
此处提供的示例成功地为 DirectX 11 完成了此操作:https ://github.com/ocornut/imgui/blob/master/imgui_demo.cpp
这是一个显示 DX 11 游戏中的帧计数器的图像示例。
我现在正尝试对 DirectX 12 做同样的事情。挂钩Present()
不是问题。
使用此处提供的示例代码:https ://github.com/ocornut/imgui/blob/master/examples/example_win32_directx12/main.cpp
我尝试ShowExampleAppSimpleOverlay()
再次使用该方法,但是在调用d3d12CommandQueue->ExecuteCommandLists(1, (ID3D12CommandList* const*)&d3d12CommandList);
(以呈现覆盖)的代码中,它会导致错误提示(0x887A0001: DXGI_ERROR_INVALID_CALL)
. 这是下面提供的代码示例中的最后一行代码:
我不确定如何进行。有什么想法吗?
编辑:我忘了提到我也在连接和获取游戏命令 que。所以d3d12CommandQueue
是直接从游戏中获得的。它不返回 NULL 所以我假设它是正确的对象。虽然我可能是错的......
对于 Present() 的每次调用,请执行以下操作:
c++ - 带有glfw的opengl没有与imgui c ++链接
我正在学习 opengl,并决定通过在项目中添加以下文件来将 imgui 用于现有的 opengl cmake 项目:
虽然这在 Windows 上工作正常但是当我在 linux 中构建它时链接器显示错误说:
所有其他 glfw 和 opengl 函数都在我的 application.cpp 中工作,只有当我将 imgui 文件添加到项目中时它才会中断。
c++ - 如何正确安装 ImGui?
我对 c++ 很陌生,但我知道其他几种语言(即 python、java、一点 C)。问题是当我编译我的代码并尝试打开一个新的 ImGui 窗口时,它会给出“未定义的引用”错误。我认为这是我如何设置文件的问题。我的 main.cpp 文件和 imgui 库都在同一个目录中,当我尝试使用“#include”imgui/imgui.h“”导入文件时,它仍然给我未定义的引用错误。我试图将所有 .h 和 .cpp 文件从 imgui 文件夹中拉出并放入与我的“Main.cpp”文件相同的目录中,但它仍然给我一个未定义的参考错误。我已经阅读了您将 .cpp 文件放入工作目录的安装说明,但它仍然无法正常工作并给了我同样的错误。任何帮助,将不胜感激。
- - - - - - - - - - - - - - - - - - - - - - -输出 - - -----------------------------------------
-------------------------------------------我的工作目录---- --------
imgui - 如何水平居中对齐文本?
我正在 ImGui 中创建文本。它会自动对齐,如何使一个文本在中心对齐?
我不相信有这样做的功能。我知道你可以为一个盒子或小部件做到这一点,但我将如何处理一个简单的文本?
c++ - ImGui 如何知道当前的缩进级别是多少?
有了 ImGui,我才恍然大悟
结果与以下不同的渲染:
第一个按钮嵌套在标题中,第二个按钮嵌套在标题之外。ImGui 到底怎么能说在第一个版本中按钮功能嵌套在 if 中,但在第二个版本中却不是?
opengl - 如何从 OpenGL 中的帧缓冲区纹理中采样像素?
我正在使用 ImGUI 为图像创建颜色选择器 OpenGL 应用程序。我设法通过将图像加载到 aglTexImage2D
并使用ImGUI::Image()
. 现在我想实现一个方法,它可以在鼠标左键单击的情况下确定像素的颜色。
这是我加载纹理,然后将其分配给帧缓冲区的方法:
不幸的是,上面的代码导致一个完全空白的屏幕。我想,在设置帧缓冲区时我错过了一些东西。
这是方法,我想使用鼠标坐标对帧缓冲区纹理进行采样:
任何帮助表示赞赏!
c++ - 无法在 Visual Studio (C++) 的 GLFW 项目中安装 ImGui
我在 Visual Studio 中有一个 GLFW 项目,我想将 ImGui 添加到其中。我按照教程安装它,我只是拿起一些文件并添加到项目中,但它给了我很多错误(+200)。主要错误是:
#错误
“无法检测到 OpenGL 加载程序!”
我遵循的教程是这样的:
https://www.youtube.com/watch?v=nVaQuNXueFw&ab_channel=TheCherno。
我试图找到一些指南,但我找不到任何东西。