这两天对VTK和OSG的结合做了尝试,思路是将模型(程序化模型或者本地标注VTK支持模型)-->VTK算法调用(切割)-->提取数据-->osg渲染。以下效果,注意切割后的模型在osg中没有按照单元(cell)绘制,就是简单连接起来。
四天了,从最初学习
VTK
,
VTk
模型切割,到提取数据,到在
osg
中渲染。中间确实遇到了很多的问题,但是慢慢还是弄出了。首先要感谢
vtk
讨论组,呵呵,有时候讨论会激发出很多的思路。学习要讲究方法,不要老是挠脑袋,要究其原因,顺藤摸瓜,使蛮力是最忌讳的。
接下,要想把这块东西嵌入到自己的系统中,还要做一些工作。
1、
osg
数据体向
vtk
polydata进行转换,
osg
数据体主要是包括,自己程序化建
1
vtk
基本概念
VTK
(visualization toolkit),直译为可视化工具包,主要用于医学
图
像重建,带有部分
图
像处理功能。属于科学性数据分析三维成像的函数库。
1.1
vtk
历史:
VTK
最早是作为Prentice Hall出版的"TheVisualization Toolkit: An Object-Oriented Approach
osg
使用过一年,阅读过一部分源代码,
vtk
也断续使用过三四年了,ogre研究的比较深入,基本上比较熟悉它的整体结构,说说个人的看法
vtk
是一个算法库,里面包括了很多挺不错的算法,如果做有限元云
图
,等值线,特别是医疗方面的算法,有很大的参加价值,我曾经把它的等值线算法提取出来
一个类就可以实现,主要函数就三四个,而且同时实现了云
图
,等值线,比网上的追踪算法要简单许多,它是一种栅格...
#include <GLFW/glfw3.h>
void processInput(GLFWwindow* window);
void framebuffer_size_callback(GLFWwindow* window, int width, int height);
int main(int argc,char
弄了两天
OSG
,配置好环境,准备用来制作一个辅助动画场景,由于其他事情,决定暂时搁置。
1. 下载了OpenSceneGraph-2.9.0,以及相应的3rdParty和data,使用CMaker2.8在VS2010下配置,编译后有点小问题,在源码中添加#include ”iterator“ 之类,通过。
2. 调试了两个小程序,让MFC与
OSG
跑起来,效果一般,没时间添加Shader和sha
VTK
的可视化技术是基于管线流(data pipeline)的设计模式(数据传递模式):
数据源(Source)-->过滤器(Filters)-->映射(Mappers)-->Props对象(Actor/Volume) --> 绘制对象(Renderer)-->绘制窗口(RenderWindow)
渲染窗口(RenderWindow): 基类为
vtk
RenderWindow,管理显示设备上的窗
/***************************************/
/* */
/*
VTK
官网的picker列子使用了观察者模式 */
/* */
/***************************************
OpenSceneGraph(简称
OSG
)使用OpenGL技术开发,是一套基于C++平台的应用程序接口(API),它让程序员能够更加快速、便捷地创建高性能、跨平台的交互式
图
形程序。它作为中间件(middleware)为应用软件提供了各种高级渲染特性,IO,以及空间结构组织函数;而更低层次的OpenGL
硬件抽象层(HAL)实现了底层硬件显示的驱动。
OSG
包含了一系
osg
读取文件的原理(插件工作机制)
osg
DB的加载机制,使用3DS插件做参考(转,整理现有
osg
DB资料)安装相关
OSG
+VS2013+Win7 环境搭建,
osg
vs2013
OSG
3.40 编译时,无法打开输入文件“optimized.l
vtk
8.0.1是一个开源的
图
形库,它提供了丰富的功能和工具用于可视化和
图
形处理。如果需要使用
vtk
8.0.1和qt编译文件,可以按照以下步骤进行操作。
首先,需要下载并安装
vtk
8.0.1和qt的开发环境。
vtk
的官方网站提供了
vtk
的源代码和编译指南,可以根据自己的操作系统和编译器选择相应的版本进行下载和安装。
安装完
vtk
后,需要配置
vtk
的环境变量,将
vtk
的库文件路径加入到系统的路径中,这样编译器才能够找到
vtk
的头文件和库文件。
接下来,需要创建一个qt工程文件,并在工程文件中配置
vtk
的头文件和库文件的路径。可以在工程文件中使用如下代码指定
vtk
的路径:
INCLUDEPATH += /
vtk
/include
LIBS += -L/
vtk
/lib -l
vtk
这样编译器在编译和链接文件时会自动找到
vtk
的库文件。
在qt的工程文件中,可以使用
vtk
的类和函数来进行
图
形处理和可视化操作。可以参考
vtk
官方文档和示例代码来学习
vtk
的使用方法和功能。
编译和运行qt工程文件时,可以使用qt提供的编译器和调试工具来进行编译和调试。在编译过程中,编译器会自动链接
vtk
的库文件,确保程序能够正常运行。
以上就是使用
vtk
8.0.1和qt编译文件的简单步骤。希望对你有所帮助!