3D图形渲染和OpenGL编程
文章平均质量分 94
3d图形学不仅仅是一个领域,而是若干领域的汇合。比如说,掌握OpenGL可以进行3d渲染,然而,掌握以后却发现依然有限制,在平面渲染和立体渲染中,没有微分几何,双曲几何等技术,很难创造出类似山川、河流等一系列模型。本栏目就是兼顾OpenGL高级编程、射影几何、微分几何、双曲几何几个方面的理论和实践
优惠券已抵扣
余额抵扣
还需支付
¥29.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
无水先生
擅长数学,能熟练应用泛函分析、统计学、随机过程、逼近论、微分几何、非欧几何(双曲、共形)等数学理论,有数学建模能力。从事图像处理二十年以上,从事人工智能行业10年以上;在船舶、通信、铁路、教育等行业开发软件产品。
展开
-
【开发者指南- 01 】pyopenGL安装和简要说明
OpenGL(Open Graphics Library,译为“开放式图形库”) 是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来绘制从简单的图形元件到复杂的三维景象。OpenGL常用于CAD、虚拟现实、科学可视化程序和电子游戏开发。原创 2024-02-17 12:37:21 · 4330 阅读 · 0 评论 -
GLSL 教程【04】-- 统一变量Uniform
统一变量充当常量,至少在绘制调用期间如此。应用程序将这些变量提供给图形管道,并且它们可以在管道的所有阶段中访问,即任何着色器都可以访问每个统一变量,只要它声明了该变量。就着色器而言,这些变量是只读的。原创 2024-05-16 09:56:24 · 2025 阅读 · 0 评论 -
高斯泼溅的全面概述
高斯泼溅是一种用于表示 3D 场景和渲染新颖视图的方法,在“实时辐射场渲染的 3D 高斯泼溅”中引入。原创 2023-12-30 11:24:29 · 8740 阅读 · 1 评论 -
QOpenGLWidget的三维渲染例程
你好朋友们,我试图用 QOpenGLWidget 替换旧的 QGLWidget 来渲染我的 osg 场景很长一段时间,直到我找到这个例子帮了大忙。我们知道,QOpenGLWidget是较为推荐的OpenGL界面,我们就需要了解和使用它。目前这方面资料似乎不够多,尤其是example不多,本篇给出其中之一。以帮助大家熟悉此类编程。原创 2024-04-17 14:11:44 · 2779 阅读 · 0 评论 -
【OpenGL教程2】 简单案例介绍Python 中的 OpenGL
在本教程中,我们了解了 OpenGL、如何下载和安装它,然后将其用作一个简短的示例程序。在此示例中,我们还练习了使用 OpenGL 制作基本形状,这使我们深入了解了每当需要使用此库绘制某些内容时需要进行的一些复杂函数调用。总而言之,OpenGL 非常丰富,并且随着我们深入研究它,发现它会变得越来越复杂。原创 2024-02-18 15:01:34 · 3530 阅读 · 0 评论 -
【OpenGL高级】罗德里格斯公式:绕任意轴旋转
解决三维坐标下的刚体旋转问题,欧拉角存在缺陷,当旋转点落在坐标轴上,旋转公式失灵。围绕任意轴旋转的点3d变换,正规公式是罗德里格斯矩阵。本篇专门介绍它的推导过程,而且提供C++的示例代码。原创 2024-04-20 00:32:14 · 2856 阅读 · 0 评论 -
【OpenGL4.6】VS2022安装OpenGL4.6的全过程
我这里用python完成OpenGL的开发,目前存在一个问题是:OpenGL4.6到目前还没看到python版本。有时需要OpenGL4.6,不能再等,于是只能安装一个C++版的OpenGL4.6试用。以下为安装过程全记录。原创 2024-05-08 23:31:11 · 3930 阅读 · 5 评论 -
【OpenGL的数学01】从窗口空间计算视空间
本文将解释如何在给定窗口空间顶点位置的情况下重新计算眼空间顶点位置。以及相反的计算。其中包括一些数学概念,需要仔细推敲。原创 2024-05-12 16:19:48 · 2136 阅读 · 0 评论 -
【点云处理教程04/4】 Python 中的点云过滤
这是我的“点云处理”教程的第 4 篇文章。“点云处理”教程对初学者友好,我们将在其中简单地介绍从数据准备到数据分割和分类的点云处理管道。在本教程中,我们将学习如何使用 Open3D 在 python 中过滤点云以进行下采样和异常值去除。使用 Open3D 进行点云预处理原创 2023-07-30 16:26:32 · 4337 阅读 · 0 评论 -
QT的OpenGL渲染窗QOpenGLWidget Class
QOpenGLWidget 类是用于渲染 OpenGL 图形的小部件。从Qt 5.4就开始退出,它对于OpenGL有专门的配合设计。原创 2024-07-12 06:34:14 · 1973 阅读 · 0 评论 -
【渲染数学-01】如何模拟静态流( 下)
关于流体物质的仿真和模拟,需要流体理论方面的一般知识。我们这里从基本流体方程入手,详细解释如何实现流体仿真的每一个具体步骤。原创 2024-05-15 11:23:18 · 2511 阅读 · 0 评论 -
【点云处理教程】02从 Python 中的深度图像估计点云
这是“点云处理”教程的第二篇文章。“点云处理”教程对初学者友好,我们将在其中简单地介绍从数据准备到数据分割和分类的点云处理管道。在本教程中,我们将学习如何在不使用 Open3D 库的情况下从深度图像计算点云。我们还将展示如何优化代码以获得更好的性能。原创 2023-07-30 14:34:42 · 7786 阅读 · 12 评论 -
在 OpenGL 4 中替换 glMatrixMode()?
OpenGL 版本 3.x和OpenGL 版本 4.x的版本有很大不同,在OpenGL 版本 3.x中使用的glMatrixMode在OpenGL 版本 4.x已经弃用,那么如何实现原glMatrixMode实现功能呢?是使用统一变量完成的。本篇将讨论如何在OpenGL 版本 4.x中替换OpenGL 版本 3.x中glMatrixMode的功能。原创 2024-05-03 13:29:18 · 2358 阅读 · 0 评论 -
使用几何和线性代数从单个图像进行 3D 重建
3D重构是一个挑战性题目,而且这个新颖的题目正处于启发和膨胀阶段;因此,各种各样的尝试层出不穷,本篇说明尝试的一种,至于其它更多的尝试,我们在陆续的跟踪中。原创 2023-08-10 17:31:56 · 3639 阅读 · 0 评论 -
【点云处理教程】01如何创建和可视化点云
本文是系列教程,专门介绍点云处理的全流程,是一个入门工具。“点云处理”教程对初学者友好,我们将在其中简单地介绍从数据准备到数据分割和分类的点云处理管道。原创 2023-07-30 13:26:28 · 4408 阅读 · 0 评论 -
【点云处理教程】05-Python 中的点云分割
这是我的“点云处理”教程的第 5 篇文章。“点云处理”教程对初学者友好,我们将在其中简单地介绍从数据准备到数据分割和分类的点云处理管道。在上一教程中,我们看到了如何过滤点云以减少噪声或其密度。在本教程中,我们将应用一些聚类算法进行点云分割,即:K-means和DBSCAN。原创 2023-07-30 17:54:42 · 5155 阅读 · 1 评论 -
【点云处理教程】03使用 Python 实现地面检测
这是我的“点云处理”教程的第3篇文章。“点云处理”教程对初学者友好,我们将在其中简单地介绍从数据准备到数据分割和分类的点云处理管道。原创 2023-07-30 15:48:23 · 4029 阅读 · 0 评论 -
【OpenGL实践08】现代渲染管线在GLUT和Pygame和Qt.QOpenGLWidget上各自的实现代码
据说QOpenGLWidget是用来取代QGLWidget的继承者,我们试图将GLUT上的旧代码改成QOpenGLWidget,本以为差别不大,轻易搞定,经实践发现要付出极大努力才能完成。经多次实验发现GLUT窗口、Pygame窗口、Qt.QOpenGLWidget上的实现方法无法兼容,甚至GL方法都不同,经好多天的百度查询,终于总结出各自的实现方法。作文以记录。原创 2024-04-19 00:19:11 · 2247 阅读 · 0 评论 -
【点云处理教程】00计算机视觉的Open3D简介
Open3D 是一个开源库,使开发人员能够处理 3D 数据。它提供了一组用于 3D 数据处理、可视化和机器学习任务的工具。该库支持各种数据格式,例如 .ply、.obj、.stl 和 .xyz,并允许用户创建自定义数据结构并在程序中访问它们。原创 2023-07-30 12:56:48 · 4678 阅读 · 0 评论 -
【OpenGL实践-09】用图元作图笔记
在OPenGL的图元设计中,已经包含一定的算法,仔细研究,我们就会发现,一些对象的生成方式,就是通过灵活运用图元完成的。本文将按照图元的给定方法,渲染出若干物体对象。原创 2024-05-19 00:36:16 · 1411 阅读 · 0 评论 -
用于游戏开发的顶级 PYTHON 框架
我们试图用python开发游戏,一旦产生这个念头,就伴随这样一个问题:当今用于构建游戏的领先 Python 框架有哪些?python下,支持游戏开发平台有哪些优势?我们在这篇博文中告诉你。原创 2024-02-29 13:35:24 · 2527 阅读 · 0 评论 -
【OpenGL概念】QOpenGLWidget类详述--此文档基于Qt5.14.2
QOpenGLWidget提供了在Qt应用程序中显示集成OpenGL图形的功能。使用它非常简单:让您的类继承它,并像使用任何其他QWidget一样使用子类,除了您可以选择使用QPainter和标准OpenGL渲染命令之间的区别。原创 2024-04-17 14:48:03 · 4321 阅读 · 0 评论 -
【OpenGL手册】GLFW窗口指南
指南介绍GLFW的窗口相关功能。有关此类别中特定功能的详细信息,请参阅窗口参考。还有 GLFW 其他领域的指南。原创 2024-05-13 09:04:03 · 2364 阅读 · 0 评论 -
GLWidget的2D 绘画示例
一、概述为了能够比较绘画的结果具有本机绘图的子类子类,我们想要并排显示两种小部件。为此,我们派生子类和,使用单独的Helper类为每个类执行相同的绘制操作,并将它们布局在顶级小部件中,它本身提供了一个类Window。2D 绘画示例展示了如何和可以一起使用以在支持的硬件上显示加速的 2D 图形。这类用于将 2D 图形基元绘制到由子类,例如和。自从是一个子类,可以重新实现它的() 并使用在设备上绘图,就像使用。唯一的区别是,如果系统的 OpenGL 驱动程序支持的话,绘画操作将在硬件中加速。原创 2024-04-13 16:13:01 · 2180 阅读 · 0 评论 -
通过Python理解OpenGL
本文中,我们将了解如何制作更复杂的对象以及如何为它们设置动画。OpenGL 非常古老,您在网上找不到很多关于如何正确使用它和理解它的教程,因为所有的顶尖技术都已经深入了解新技术。要理解现代 OpenGL 代码,您必须首先了解由明智的玛雅游戏开发人员写在石板上的古老概念。原创 2024-05-16 22:12:32 · 2149 阅读 · 0 评论 -
【QOpenGL实践】QOpenGLWidget
据说QOpenGLWidget是用来取代QGLWidget的继承者,我们通过多次尝试,发现QGLWidget的鲁棒性很差,用来开发游戏,其步履和亚马逊泥沼中行走有类同,谈不上体验,只能叫半成品的测试。从本文之后,我们将尝试QOpenGLWidget,看看是不是人类的曙光再次诞临,若不是也不必太勉强了。用用GLUT或pygame也能度过。原创 2024-04-18 00:06:10 · 3054 阅读 · 0 评论 -
【OpenGL实践 05】 GLSL的内存优化、程序优化、常见问题
在使用GLSL中,存在内存优化和程序优化两个方面。两个方面互相制约,最后结果是时间够不够用的问题。尤其在大场面、多对象的场景尤其值得优化。本篇专门针对这种涉及效益的问题展开讨论。原创 2024-05-15 21:17:45 · 1376 阅读 · 0 评论 -
使用迭代最近点 (ICP) 算法在 Open3D 中对齐点云
Open3D 是一个现代库,它提供了用于处理 3D 数据的各种工具。在其功能中,它提供了高效的数据结构和算法来处理点云、网格等,使其成为在计算机视觉、机器人和图形领域工作的研究人员和从业人员的不错选择。Open3D 的特点之一是它实现了迭代最近点 (ICP) 算法,该算法用于模型对齐任务。原创 2024-06-01 17:27:14 · 2287 阅读 · 1 评论 -
立即开始使用 3D 图像
这个故事介绍了使用这种类型的数据来训练机器学习3D模型。特别是,我们讨论了Kaggle中可用的MNIST数据集的3D版本,以及如何使用Keras训练模型识别3D数字。3D 数据无处不在。由于我们希望构建AI来与我们的物理世界进行交互,因此使用3D数据来训练我们的模型非常有意义。原创 2023-08-09 12:33:45 · 3608 阅读 · 0 评论 -
opengl绘制几何体的函数
本文对openGL的绘制展开讨论;首先是一些规则图形如何完成,然后是图元绘制。值得注意的是,图形有动态和静态之分,也有二维图和三维图之分,在绘制中有很大不同,请读者自己区分。原创 2024-02-27 00:38:33 · 2419 阅读 · 0 评论 -
OpenGL 的内置矩阵种种
内置 OpenGL有几个重要矩阵,围绕这几个矩阵,OpenGL 有一小组 矩阵操作。在本例中为 glMatrixMode,这是非常有用的例程。原创 2024-05-02 15:22:57 · 2457 阅读 · 1 评论 -
【OpenGL纹理】纹理贴图基础知识(01/4)
关于贴图问题,是OpenGL最复杂的系统了,本系列文挡将在整个流程上叙述纹理贴图的过程。在本文中,将涉及最一般朴素的若干操作,基本覆盖从读入图片,到生成纹理图像的过程。在整个过程的若干操作函数都给出一般常识性解释。原创 2024-05-17 00:18:28 · 2211 阅读 · 0 评论 -
【OpenGL实践10】关于几何着色器
几何着色器的应用比较高级,关于几何着色器使用究竟需要什么样的步骤,几何着色器能解决什么样的问题。需要示范案例,本文将演示这个过程。原创 2024-05-21 16:37:39 · 1989 阅读 · 0 评论 -
【OpenGL实践11】附加的缓冲区
关于缓存的处理是很灵活的技巧,只有灵活的缓存处理,才能渲染高级效果,本文针对缓存的高级应用,以及渲染出的效果展现。原创 2024-05-21 16:49:02 · 2114 阅读 · 0 评论 -
【OpenGL高级】实例化多物体绘制
对于海量而相近物体渲染,如果用buffer直接渲染,其庞大的存储数据将能把整个系统资源耗光。而可行的,用少量模式数据去生成临时显示的数据这样用少量局部变量就能在循环内部完成,本篇将阐述如何去实现。原创 2024-05-26 15:26:12 · 2504 阅读 · 0 评论 -
【OpenGL手册-13】光源和颜色模型
光源和颜色模型也是OpenGL的重要模型之一,我们将光源也看成是一个物体,这个物体特点是,不仅可以自己移动位置,而且要和其它物体颜色进行反射运算,从而发出最后颜色结果。请看详细内容。原创 2024-05-28 09:44:47 · 2902 阅读 · 1 评论 -
【OpenGL手册14】实例化
实例化渲染,是用少数数据做模板,实现海量物体渲染的手段方法。用实例化渲染,需要对每个实例产生一定描述数据。如何实现?请看本文下文。原创 2024-05-28 22:47:04 · 2242 阅读 · 0 评论 -
【GLSL 教程03】 – 属性变量
对于着色器GLSL语言的输入参数,有几个方式,本系列文将逐一介绍;我们知道,最基本的GLSL的输入是顶点数组,然而,围绕顶点的其他描述,如:运动速度、旋转速度、光照、等顶点的伴随数据,这些数据有独立的处理方法。原创 2024-04-27 08:12:45 · 1751 阅读 · 0 评论 -
【openGL教程08】基于C++的着色器(02)
着色器是openGL渲染的重要内容,客户如果想自我实现渲染灵活性,可以用着色器进行编程,这种程序小脚本被传送到GPU的显卡内部,起到动态灵活的着色作用。原创 2024-02-22 10:36:21 · 2335 阅读 · 0 评论 -
openGL缓存概念和缓存清除(01)
操作缓存就是操作屏幕;而因为渲染的多样性需求,缓存是多样的,对多样的缓存操作,就是渲染操作。本篇对基本的几个渲染缓存进行操作。原创 2024-03-04 00:50:43 · 2202 阅读 · 0 评论