皮皮网

【工程投标系统源码】【仪器上位机源码】【有怎么源码维护】基于open gl的源码_opencl源码

2024-11-30 07:06:30 来源:心态纪律指标源码

1.用Python和OpenGL探索数据可视化(实践篇)- 三维点云数据可视化
2.用Python和OpenGL探索数据可视化(实践篇)- Mesh网格模型查看器(中)
3.opengl-01:源码编译
4.CMake搭建OpenGL开发环境
5.用Python和OpenGL探索数据可视化(三维篇)- 创建三维坐标轴类和立方体类
6.用Python和OpenGL探索数据可视化(基础篇)- OpenGL简介及演化

基于open gl的源码_opencl源码

用Python和OpenGL探索数据可视化(实践篇)- 三维点云数据可视化

       在本篇实践中,我们将使用Python和OpenGL 4.5技术来可视化三维点云数据,码o码通过前面章节的基于基础铺垫,如OpenGL绘图基础和开发环境配置,码o码现在我们将开始具体应用。基于点云,码o码工程投标系统源码作为三维空间中点的基于集合,广泛应用于建筑、码o码医疗、基于自动驾驶等领域,码o码其可视化对于数据分析至关重要。基于我们将从数据获取(如来自semantic3d.net的码o码亿点样本)入手,处理XYZ坐标和RGB颜色信息,基于通过编写VS Code中的码o码点云渲染代码,实现点云数量的基于动态调整和交互式操作,如缩放、旋转和移动。源代码及系列文章参考链接已提供,有兴趣的读者可以跟随步骤进行实践。

用Python和OpenGL探索数据可视化(实践篇)- Mesh网格模型查看器(中)

       在本系列文章中,我们探讨了如何使用Python和OpenGL 4.5进行数据可视化开发。首先,请确保您的电脑支持OpenGL 4.5版本(大多数年之后销售的电脑均支持)。接下来,请配置您的仪器上位机源码开发环境,包括Windows下的VS Code、Python和OpenGL。

       上一节中,我们学习了如何以三维点云的方式查看不同的Mesh网格模型。本节,我们将继续深入,利用之前所学的知识,以实体线框方式展示数据。在common子文件夹中,创建一个名为solid_wireframe.py的文件,用于以实体线框方式显示数据。

       在solid_wireframe.py中,输入以下代码:

       在common子文件夹下的__init__.py文件中进行相应的修改。

       在mesh_viewer.py文件的基础上,继续完善usecase子文件夹下的代码。默认情况下,打开文件后以实体线框方式查看Mesh网格模型。点击VS Code右上角的三角形图标,运行代码,选择文件菜单下的打开命令,打开bun_zipper.ply文件。默认为实体线框显示,通过鼠标操作调整模型视角,修改曲面和线框颜色等。有怎么源码维护点击“查看方式”菜单,可以选择以点云方式显示。再次开dragon_vrip.ply文件,选择实体线框方式,可调整缩放比例。再次选择Utah_VW_Bug.stl文件,调整缩放比例和线框粗细。最后,打开teapot.obj文件,实体线框模式提供了更多模型细节。

       下一节,我们将尝试添加光照功能,以实现更丰富的可视化效果。

       本系列文章的源代码已上传至gitee.com/eagletang/pyg...。

       在探索数据可视化的旅程中,请参考以下系列文章:

       1. 用Python和OpenGL探索数据可视化(基础篇)- OpenGL简介及演化

       2. 计算机图形显示的基础知识

       3. OpenGL 渲染管线简介

       4. OpenGL 4.5核心对象简介

       在基础篇中,我们从“你好,窗口!”开始,逐渐深入到“你好,三角形!”、“处理键盘和鼠标事件”等主题,构建了Python和OpenGL的模拟银行转账源码可视化基础。

       在三维篇中,我们探讨了如何创建坐标轴、使用立方体体验模型矩阵、创建三维坐标轴类和立方体类、与照相机“共舞”、创建照相机类、使用帧缓存对象FBO、CT扫描体数据可视化等高级主题。

       实践篇中,我们尝试了三维点云数据可视化、数学之美之三维曲面、使用几何着色器绘制实体线框、使用细分着色器、绘制二维贝塞尔曲线(含动画)等实际应用。

       在本节中,我们专注于以实体线框方式查看Mesh网格模型,通过实践加深对OpenGL和数据可视化技术的理解。

opengl-:源码编译

       1 源码编译 + cmake + vscode

       系统环境:ubuntu ..6

       编译环境: g++9.4 cmake3..3

       编译工具:vscode

       1.1 glfw源码编译

        Release 3.3. · glfw/glfw 下载 glfw-3.3..zip

       安装依赖

       解压源码文件

       cmake配置

       编译工程 edgelee / vscode-opengl-tutorial -1-glfw

       1.2 glad源码编译

        glad.dav1d.de/ 选择配置内容(如图)

       生成源文件 glad.zip

       解压zip

       cmake配置

       一级CmakeList

       二级CmakeList

       编译工程 edgelee / vscode-opengl-tutorial -2-glad

       1.3 imgui源码编译(依赖系统OpenGL)

       imgui源码下载

       github.com/ocornut/imgu...

       ubuntu安装opengl

       解压zip

       cmake配置

       一级CmakeList

       二级CmakeList

       根据makefile内容配置CmakeList(imgui-1..4/examples/example_glfw_opengl3/Makefile)

       编译输出 edgelee / vscode-opengl-tutorial -3-imgui-(system-gl)

       1.4 imgui源码编译(不依赖系统OpenGL)

       imgui源码下载:同1.3

       ubuntu安装opengl:不需要(即使安装,不使用)

       解压zip:同1.3

       cmake配置

       一级CmakeList:同1.3

       二级CmakeList:去掉OpenGL依赖

       编译错误

       根据错误提示,修正

       imgui-1..4/backends/imgui_impl_glfw.cpp文件的添加

       编译结果 edgelee / vscode-opengl-tutorial -3-imgui-(no-system-gl)

       2 实例2.1 旋转三角形 glfw +glad

       源码文件:glfw-3.3./examples/simple.c(不采用glfw自带glad,修改到自编译glad)

       一级CmakeList

       二级CmakeList

       生成效果 edgelee / vscode-opengl-tutorial -sample-glfw-glad

       2.2 gui界面 glfw +imgui

       源码文件:imgui-1..4/examples/example_glfw_opengl3/main.cpp

       一级CmakeList

       二级CmakeList

       生成效果 edgelee / vscode-opengl-tutorial -sample-glfw-imgui

       2.3 gui界面 glfw +glda +imgui(建议方式)

       注:建议采用此方式,openGL api 统一使用 gdal api

       源码文件:imgui-1..4/examples/example_glfw_opengl3/main.cpp(修改到 gdal api)

       一级CmakeList

       二级CmakeList

       生成效果 edgelee / vscode-opengl-tutorial -sample-glfw-glad-imgui

CMake搭建OpenGL开发环境

       在Ubuntu.环境中搭建OpenGL开发环境,主要采用GLFW和GLAD。

       首先,代挂网源码授权编译GLFW,遵循GLFW官网提供的编译指南,利用CMake进行编译。

       Ubuntu用户可以直接安装libglfw3-dev依赖。

       确认所使用的环境为X系统,并安装相应依赖。

       访问GLAD官网,下载zip压缩包,解压后将include文件夹移动到/usr/local/include目录,并将glad.c文件放置在工程目录中。

       创建测试工程,包含CMakeLists.txt文件和main.cpp。

       欲深入了解OpenGL,可参考LearnOpenGL CN主页。

       加入glm库,获取链接:github.com/g-truc/glm。

       步骤如下:直接将glm源码下载到thirdparty目录;

       修改CMakeLists.txt文件,加入相关配置。

       调整顶点着色器,添加模型常量句柄,以便与shader program链接。

       使用glm库旋转度,实现特定效果。

       最终结果如下所示。

用Python和OpenGL探索数据可视化(三维篇)- 创建三维坐标轴类和立方体类

       本系列文章讲解使用Python与OpenGL 4.5进行数据可视化开发,确保您的计算机支持OpenGL 4.5版本,建议阅读《准备工作(一)Windows下检测显卡和OpenGL信息》以确认兼容性。继续参阅《准备工作(二)配置Windows下VS Code + Python + OpenGL开发环境》以完成所需开发环境的设置。

       上一节我们通过立方体学习了OpenGL的变换矩阵与模型矩阵。紧接着在《用Python和OpenGL探索数据可视化(三维篇)- 你好,坐标轴》一节中我们绘制了三维坐标轴。立方体与坐标轴是三维图形绘制中常见的元素,因此我们将在本节中通过代码重构将它们转化为专门类,以便后续的重复使用。

       开始VS Code,使用File菜单下的“Open Folder”功能,打开D:\pydev\pygl并进入common文件夹,新建一个名为shaders的子文件夹。将basic文件夹下的shaders子文件夹中的axes.vs、axes.fs、cube.vs、cube.fs文件复制至common文件夹的shaders文件夹。

       在common文件夹中新建axeshelper.py文件,并在其中输入相应代码。同样地,创建cube.py文件并输入对应代码。接着,在common文件夹中建立__init__.py文件,并在其中输入必要的代码。

       在basic文件夹中新建一个名为cube_app_v1.py的文件,并在其中输入相应的代码。点击VS Code右上角的三角形图标以运行代码,此时会呈现预期的结果。

       借助坐标轴的辅助,图形变换变得清晰且有趣。通过本系列文章中的源代码资源,您可以进一步探索和实践Python与OpenGL的数据可视化开发。

       参考系列文章:1.《用Python和OpenGL探索数据可视化(基础篇)- 你好,窗口!》;2.《用Python和OpenGL探索数据可视化(基础篇)- 你好,OpenGL!》;3.《用Python和OpenGL探索数据可视化(基础篇)- 你好,ImGui!》;4.《用Python和OpenGL探索数据可视化(基础篇)- 你好,小不点!》;5.《用Python和OpenGL探索数据可视化(基础篇)- 重构代码“你好,小不点!”》;6.《用Python和OpenGL探索数据可视化(基础篇)- “你好,线段!”》;7.《用Python和OpenGL探索数据可视化(基础篇)- 重构代码组织OpenGL核心对象包pygl》;8.《用Python和OpenGL探索数据可视化(基础篇)- 你好,三角形!》;9.《用Python和OpenGL探索数据可视化(基础篇)- 改进OpenGL程序Program类》;.《用Python和OpenGL探索数据可视化(基础篇)- 你好,矩形!》;.《用Python和OpenGL探索数据可视化(基础篇)- 完善pygl增加索引缓存对象EBO》;.《用Python和OpenGL探索数据可视化(基础篇)- 你好,纹理!》;.《用Python和OpenGL探索数据可视化(基础篇)- 完善pygl增加OpenGL二维纹理对象》;.《用Python和OpenGL探索数据可视化(基础篇)- 细说纹理环绕》;.《用Python和OpenGL探索数据可视化(基础篇)- 细说纹理过滤》;.《用Python和OpenGL探索数据可视化(基础篇)- 处理键盘和鼠标事件》;.《用Python和OpenGL探索数据可视化(三维篇)- 你好,坐标轴》;.《用Python和OpenGL探索数据可视化(三维篇)- 用立方体体验模型矩阵》。

用Python和OpenGL探索数据可视化(基础篇)- OpenGL简介及演化

       在年三十,祝福各位知友在甲辰龙年身体健康、万事如意!

       OpenGL,即开放图形库,是应用于图形硬件的API。它由数百个子程序和函数构成,旨在帮助程序员指定着色器程序、对象及操作,以生成高质量图形图像,特别是三维对象的彩色图像。

       OpenGL成为行业标准,因其独立于窗口系统和操作系统,使软件开发者在各种设备上(如手机、平板、台式机、笔记本、工作站及超级计算机)能够开发高性能、视觉效果引人注目的二维、三维图形软件。这些应用覆盖了如CAD、CAE、科学可视化、内容创作、能源、娱乐、游戏开发、制造、医疗和虚拟现实等多个领域。

       Khronos Group自年起负责OpenGL API规范的制定,截至年2月,官方已发布个版本。对于OpenGL的详细发展历史,可访问Khronos Group的官方网站。OpenGL使用的渲染管线和核心对象自4.3版本后基本稳定,如图所示。

       考虑到计算机图形硬件的迅速发展,Khronos Group从年起开始开发新一代OpenGL,即Vulkan。Vulkan是一种比OpenGL更接近硬件的低级API,可直接控制GPU,从而在各种硬件上实现更高效的渲染和更好的性能。

       掌握OpenGL中的渲染管线、着色器及GLSL对学习和应用Vulkan仍然有所帮助。

       如需查阅更多详细信息,可参考以下链接:

       registry.khronos.org/Op...

       khronos.org/opengl/

       khronos.org/opengl/wiki...

       本系列文章的源代码已上传至Gitee。

       以下为文章系列摘要:

       1. 《用Python和OpenGL探索数据可视化(基础篇)- 你好,窗口!》

       2. 《用Python和OpenGL探索数据可视化(基础篇)- 你好,OpenGL!》

       3. 《用Python和OpenGL探索数据可视化(基础篇)- 你好,ImGui!》

       4. 《用Python和OpenGL探索数据可视化(基础篇)- 你好,小不点!》

       5. 《用Python和OpenGL探索数据可视化(基础篇)- 重构代码“你好,小不点!”》

       6. 《用Python和OpenGL探索数据可视化(基础篇)- “你好,线段!”》

       7. 《用Python和OpenGL探索数据可视化(基础篇)- 重构代码组织OpenGL核心对象包pygl》

       8. 《用Python和OpenGL探索数据可视化(基础篇)- 你好,三角形!》

       9. 《用Python和OpenGL探索数据可视化(基础篇)- 改进OpenGL程序Program类》

       . 《用Python和OpenGL探索数据可视化(基础篇)- 你好,矩形!》

       . 《用Python和OpenGL探索数据可视化(基础篇)- 完善pygl增加索引缓存对象EBO》

       . 《用Python和OpenGL探索数据可视化(基础篇)- 你好,纹理!》

       . 《用Python和OpenGL探索数据可视化(基础篇)- 完善pygl增加OpenGL二维纹理对象》

       . 《用Python和OpenGL探索数据可视化(基础篇)- 细说纹理环绕》

       . 《用Python和OpenGL探索数据可视化(基础篇)- 细说纹理过滤》

       . 《用Python和OpenGL探索数据可视化(基础篇)- 处理键盘和鼠标事件》

       . 《用Python和OpenGL探索数据可视化(三维篇)- 你好,坐标轴》

       . 《用Python和OpenGL探索数据可视化(三维篇)- 用立方体体验模型矩阵》

       . 《用Python和OpenGL探索数据可视化(三维篇)- 创建三维坐标轴类和立方体类》

       . 《用Python和OpenGL探索数据可视化(三维篇)- 与照相机“共舞”》

       . 《用Python和OpenGL探索数据可视化(三维篇)- 创建照相机类》

       . 《用Python和OpenGL探索数据可视化(三维篇)- 四元数和轨迹球照相机》