dylan55_you
这个作者很懒,什么都没留下…
展开
-
QML----QML+VTK+CMake示例
这个类是VTK和Qt Quick之间的桥梁,使得在现代的Qt应用程序中可以方便地使用VTK的强大3D图形和可视化功能。这样做的好处是简化了资源的部署和访问,因为所有的资源都被包含在单个可执行文件中,而不是分散在文件系统的不同位置。从上面的代码可以看到创建VTK交互的方式与标准VTK示例的方式是一样的,这一点能很方便,因为我们只需要完成QML界面和VTK的集成,后续所有3D的操作,都可以按VTK的方式来处理。这个示例提供了一个基本的框架,展示了如何在使用QML的应用程序中集成VTK渲染。原创 2024-08-22 08:40:22 · 49 阅读 · 0 评论 -
OpenGL----深入理解OpenGL上下文
OpenGL 上下文是一个包含所有 OpenGL 状态的对象。它管理和维护 OpenGL 的各种状态和资源,包括视口、着色器程序、纹理、缓冲区对象等。创建和管理 OpenGL 上下文是使用 OpenGL 进行图形渲染的基础。另外,多个上下文可以共享资源(如纹理和缓冲区对象),这对于多窗口或多线程应用程序非常有用。原创 2024-08-19 12:27:43 · 669 阅读 · 0 评论 -
VTK----3D picking的原理、类型及实现
3D picking 是一种在三维场景中确定用户点击或指向的对象的技术。这在3D应用程序和游戏中非常常见,允许用户通过点击、拖拽或选择等操作与3D对象进行交互。3D picking 的过程涉及将2D屏幕坐标转换回3D场景空间,以找出该位置下的对象。射线投射(Ray Casting):最常见的技术,通过从相机位置发射一条经过鼠标点击位置的射线进入3D场景,并检测这条射线与场景中对象的交点。颜色拾取(Color Picking)原创 2024-07-17 08:13:49 · 874 阅读 · 0 评论 -
VTK----深入理解3D坐标系统和相机
对于有3D开发经验的工作者来说,3D坐标系统和相机是再熟悉不过的内容了,所以这篇文字并不是对它们基本概念的的介绍,而是结合自身对于3D坐标系统和相机中一些似懂非懂问题(如下面的列表)的解答以及详细说明VTK是如何实现3D坐标系统和相机的。原创 2024-06-24 13:30:48 · 186 阅读 · 0 评论 -
VTK----修复vtkCubeAxesActor刻度线和网格线分离问题
vtkCubeAxesActor在和模式下,即vtkCubeAxesActor对象设置以下两个变量的值:此条件下,根据输入数据集的包围框绘制坐标轴,原vtkCubeAxesActor代码会出的情况,后通过修改vtkCubeAxesActor的源代码,已修复了该问题。原创 2024-06-12 09:07:25 · 175 阅读 · 1 评论 -
VTK----VTK库中OpenGL状态控制
vtkOpenGLState::SetEnumState用于设置OpenGL的状态,但代码中通过switch进行了类型判断,不在case中的类型,会直接return,导致OpenGL状态设置不进去。每次渲染时,都会检查OpenGL的状态,如果被外部修改了状态,在这个函数里会被重置。但对于不在VTK控制范围内的OpenGL状态,外部是可以修改的,下面是在。这样的OpenGL状态有很多(在glew.h中),VTK中能够对哪些OpenGL的状态进行控制,控制的方式是什么样的呢?可以看到两者是有区别的,启用。原创 2024-03-08 08:35:15 · 923 阅读 · 1 评论 -
VTK----VTK中的渲染原理
下面三张图均是用VTK实现的,从中很容易看出它们渲染的效果是有区别的:第一张图:过于明亮,看不到阴影,颜色过渡也不平缓;第二张图:阴影过于明显,图整体不够明亮;第三张图:明亮适中同时保留了阴影。VTK是如何实现不同效果的渲染的?我们又能通过什么方式去控制渲染效果?原创 2024-02-24 01:51:50 · 1545 阅读 · 1 评论 -
VTK----VTK数据结构详解3(代码篇)
上篇文章()从计算机数据结构(数组、链表等)的角度对的实现原理进行了说明,下面从代码的层面详细说明它们的使用及相关实现逻辑。原创 2024-04-26 14:09:13 · 1199 阅读 · 0 评论 -
VTK----VTK数据结构详解2(计算机篇)
这四个单元列表还将单元分为0维、1维和2维类型。这很有用,因为可视化算法通常会以不同的方式处理不同拓扑顺序的数据。原创 2024-04-26 13:59:37 · 819 阅读 · 0 评论 -
VTK----VTK数据结构详解1(几何篇)
在讲VTK的数据结构之前,我们先了解可视化数据的两个特征:离散性、有规则或无规则。下面我们就来看看,这些特征是如何塑造VTK的可视化数据模型的。原创 2024-04-20 14:15:48 · 1049 阅读 · 0 评论 -
VTK ---- 在VTK中实现printf调试着色器代码
该库证实可以直接从着色器使用printf打印输出,它的作用是简化复杂着色器程序的调试,这点非常宝贵,例如这种情况:必须查看循环中变量值的演变并且输出最终值,否则无法提供有关程序是如何工作的足够信息。目前该库是一个头文件,shaderprintf.h。该文件包含一个名为glShaderSourcePrint的函数,它在着色器需要打印功能时替代标准函数glShaderSource。该文件还包含一个名为getPrintBufferString的函数,它用于将所有打印内容以std::string的形式返回。原创 2024-04-18 09:20:37 · 97 阅读 · 0 评论 -
VTK----VTK库中OpenGL的工作流程
VTK库中有很多封装好的几何模型,例如:vtkArrowSource、vtkConeSource、vtkCubeSource等等。了解这些模型在VTK中是如何以OpenGL的工作流程绘制出来的,就能轻松的实现VTK代码到OpenGL代码的转换,同时也是掌握VTK底层工作机制的一个比较好的方法。另外,对于VTK实现的一些特殊功能(例如以球的方式绘制点)也能知道它内部的实现原理。注:VTK创建这些对象的顺序会稍有差异。原创 2024-03-08 08:43:48 · 370 阅读 · 1 评论 -
VTK----VTK的事件机制
事件的发送和接收对于一个应用或系统来说是一个基本的功能,所以一些通用的库对应地也建立了自己的一套管理事件的机制,例如QT、VTK都有自己的事件管理机制。VTK库中定义了很多的事件,这些事件是如何进行管理的,下面从三个方面来详细的说明。原创 2024-03-18 08:29:23 · 590 阅读 · 0 评论 -
VTK----VTK实现三维网格数据的显示
根据提供的数据文件,实现数据的解析及三维可视化。原创 2024-02-20 23:35:31 · 309 阅读 · 0 评论 -
OpenGL----OpenGL实现光源位置指示(附带VTK实现)
OpenGL实现光源位置指示,用于模拟类似三维超声中光源和人体模型的位置关系。原创 2024-02-06 08:32:45 · 625 阅读 · 1 评论 -
VTK----Swig实现C++的VTK对象到Python的传递
本文详细描述了如何通过脚本编译生成带Python包的VTK库,如何用Swig实现将C++的VTK对象通过接口打包给Python使用,以及说明了每一步遇到的错误是如何解决的。原创 2023-12-21 17:37:39 · 1033 阅读 · 0 评论