所有随笔最新随笔(rss)

布尔数据 BOPDS_Iterator

     摘要: 布尔数据 BOPDS_Iterator eryar@163.com 1 Introduction OpenCASCADE中新的布尔工具TKBO相对已经废弃的TKBool代码更规范,更易于理解。与ModelingData和ModelingAlgorithms大的模块组织一样,主要也是数据结构Data Structure+算法Algorithm的组织形式。 其中BOPDS为布尔中的数据结构...  阅读全文

2023-09-18 21:13 作者: eryar【评论:0】【阅读:69】 

构建工具Premake

     摘要: 构建工具Premake 经常用Visual Studio写一些小程序来验证OpenCASCADE的功能,每次创建项目后都配置头文件,库路径,程序运行时还要配置Debug的环境变量,比较麻烦。也尝试过CMake和QMake,都不太理想。CMake学习曲线陡峭一点,还会生成一堆文件。QMake简单些,但是有的选项不支持。直到看到一个开源的游戏程序Overload,看其编译说明使用了Premake来构...  阅读全文

2023-09-18 20:49 作者: eryar【评论:0】【阅读:18】 

OpenCASCADE GLFW IMGUI

OpenCASCADE GLFW IMGUI

如果从事过C++ Windows客户端开发,大家对MFC、Qt、DuiLib、WxWidgets等各种DirectUI应该有了解,本篇给大家介绍一个超级轻量级的C++开源跨平台图形界面框架ImGUI. ImGUI主要用于游戏行业,所有的控件都需要手绘实现,当然性能也是满满的,毕竟是直接用dx/opengl来实现。ImGUI仓库:https://github.com/ocornut/imgui

ImGUI又称为Dear ImGui,它是与平台无关的C++轻量级跨平台图形界面库,没有任何第三方依赖,可以将ImGUI的源码直接加到项目中使用,也可以编译成dll, ImGUI使用DX或者OpenGL进行界面渲染,对于画面质量要求较高,例如客户端游戏,4k/8k视频播放时,用ImGUI是很好的选择,当然,你得非常熟悉DirectX或者OpenGL,不然就是宝剑在手,屠龙无力。相对于Qt、MFC、DuiLib、SOUI等,ImGUI的拓展性更好,也更轻量级,当然对于开发者的要求也更高.ImGUI没有类似于Qt/MFC这种,可以拖拽控件进行搭建界面,ImGUI的所有控件都必须手写实现。ImGUI的demo基本提供了所有控件、图表等的实现,源码也有,可以对照的学习。在PC端技术选型时,如果公司有音视频、图形图像、4k/8k视频业务,或者一些简单的UI可以考虑一下使用ImGUI,毕竟是直接使用DX/OpenGL来进行绘制渲染,其它功能就直接使用C++来实现。

OpenCASCADE提供了一个GLFW的示例程序,将OpenCASCADE与IMGUI集成起来,对于实现一些简单的小的三维应用程序的UI,有满满的科技感。很多游戏相关的小程序都是使用IMGUI来做界面。

其中OpenCASCAE开源的光线追踪程序CADRays的UI就是用IMGUI实现的:

IMGUI也支持Docking,常见的控件都有,并且也支持跨平台,只依赖OpenGL,生成的程序体积很小。

 

使用GLFW配置IMGUI可以实现跨平台的界面开发,对于不复杂的应用程序是个不错的选择。

 

2023-09-18 20:48 作者: eryar【评论:0】【阅读:48】 

几何内核与数学

     摘要: 几何内核与数学 1 概述 从1950年第一台图形显示器(美国麻省理工大学MIT旋风I号Whirlwind I)的诞生,到1962年MIT林肯实验室的Ivan E. Sutherland发表题为“Sketchpad: 一个人机交互的图形系统”确定计算机图形学作为独立科学分支。经过70多年的发展,计算机图形学中的几何造型技术成了现在的几何内核。 数学是我们从小学、中学到大...  阅读全文

2023-09-18 20:47 作者: eryar【评论:0】【阅读:58】 

导航

网站分类

统计信息

聚合

Blog客户端API

推荐客户端

博客排行榜[前6人]