当前位置: 首页> 房产> 建筑 > 网页设计工资2019_网站制作 建站_seo推广优化公司哪家好_站长网站提交

网页设计工资2019_网站制作 建站_seo推广优化公司哪家好_站长网站提交

时间:2025/7/11 1:23:18来源:https://blog.csdn.net/qq_59075481/article/details/145409563 浏览次数:1次
网页设计工资2019_网站制作 建站_seo推广优化公司哪家好_站长网站提交

本系列教程以 win32_dx11 实现为例。但不会太细致,后面可能会考虑出一套视频,就先这样吧。ImGui 的渲染是在消息循环中完成的,一般我们只需要跟随 demo 示例中的代码进行学习即可。

在 ImGui::NewFrame() 和  ImGui::Render() 之间插入我们的代码。

......
ImGui::NewFrame();{if (ImGui::Begin("Test Window", nullptr, ImGuiWindowFlags_NoResize)){ImGui::SetWindowSize(ImVec2(500, 400));}ImGui::End();
}// Rendering
// 渲染
ImGui::Render();
......

ImGui::Begin 函数用于创建一个窗口元素,参数1是窗口的名称(ImGui 主要使用名称作为标识符,当然也有 ID Stack 系统,不过那是后话了,一般来说最好保证元素的名称是唯一的以避免冲突)。参数2是允许传递一个 bool 指针用于控制窗口的关闭按钮。不填或者 false 就是没有关闭按钮。参数3是控制窗口的一个或者多个配置参数,属于标识符,可以用 | 使用多个标识符。

创建的第一个窗口!

然后,当一个绘制单元(即一个窗口)结束时使用 ImGui::End 调用表示结束一个窗口的绘制。后续的元素将在新的窗口下生成(会和前面的分离开来)。

所以这一点上,ImGui 和其他常见的图形库没太大区别。

ImGui::SetWindowSize 用于设置窗口的尺寸(在目标窗口的单元内设置),也可以使用 ImGui::SetNextWindowSize(要在目标窗口之前设置),不过要注意上下文,SetNext 正在循环里面使用。

最后就是谈谈学习了几天 imgui 代码后的感觉(暂时还不能说感受或者感悟),这里的窗口并不是真正意义上的平台窗口(平台窗口的实现需要根据具体的平台来决定,通过调用平台的 API 创建一个存根窗口,然后调用后端在根窗口上进行渲染。在 ImGui 中称为 Viewport 视口),而是 ImGui 内部抽象出来的一种窗口元素。一个视口中可以有多个窗口元素,当一个窗口元素从主视口中移出时,ImGui 会隐式地创建新的平台上下文和一个新的平台窗口,将元素从原来的视口结构中移动到新的视口结构中(此时窗口就独立出来了)。对了,最为重要的是 ImGui 具有全局隐式的上下文,这一点我其实比较喜欢的,因为我不需要关注传递什么上下文来绑定具体的 UI 元素,框架自动为我操作。而且我也可以通过框架提供的 API 获知当前的所在的视口,所具有的 ID,甚至是上下文指针。【备注:以上说的是 docking 分支】

关键字:网页设计工资2019_网站制作 建站_seo推广优化公司哪家好_站长网站提交

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: