Posts Tagged ‘opengl’

虚拟手术DEMO

我用OSG做的虚拟手术的演示,虽然很粗糙,但也能够实现下面的功能了:

  • 实现从影像设备上采集到DICOM格式的影像数据的功能。
  • 实现从采集到的DICOM格式中提取相关数据,转换为虚拟手术系统内部格式的功能。
  • 实现DICOM数据的2D显示功能,完成重采样、去噪点等图像学算法以提高图像质量。
  • 实现图像的2D和3D分割,完成区域生长、Snake算法等的研究,实现仅需要少量人工介入就能将病变组织自动提取的功能。
  • 实现了对感兴趣的组织进行标注和分离,并能够建立实时的3D立体模型。
  • 重点研究和实现了高质量的实时光线追踪算法的三维重建算法,在此基础之上,研究出了如何将该算法和常规的光栅渲染图形进行混合的方法。
  • 掌握了基于组织的三维立体切割方法。
  • 掌握了真三维立体显示的关键技术,使最终的成像不局限于显示器的平面2D环境,达到一种触手可及的感受,具有很强的立体效果和沉溺感。

目前用OSG来做我看已经到了一种无法收场的局面了, Read more

如何用Shader得到物体的世界坐标

最近群里面有个朋友问我关于如何得到OpenGL世界坐标的问题,当时我还弄错了,误以为gl_ModelViewMatrix*gl_Vertex就是世界坐标。因最近也突然遇到了世界坐标的问题,所以花了一些时间来研究这个问题,网上也有人问,但或许没有答案,或许是错的。
其实,OpenGL的转换管道直接将gl_Vertex,也就是物体坐标,用gl_ModelViewMatrix相乘,得到的是眼坐标。如果将gl_ModelViewMatirx拆分为gl_ModelMatrix和gl_ViewMatrix,那么问题就好解决了。但事实上没有提供。要清楚OpenGL其实没有世界坐标系,世界坐标系是应用程序的概念。其实可以将OpenGL的摄像机看作是固定的,其坐标系就是眼坐标系, Read more

GPU体素化初探

用OSG实现,256*256*256的分辨率,每一帧都对物体进行体素化并用简单的体渲染进行显示,可以达到20FPS以上的速度,基本满足我的需要了。但我用的体素化的方法还存在一些问题,对于一些特殊的形体还无法正确体素化。 注:只有NVIDIA 8系列显卡以上才支持硬件渲染到3D贴图。

效果: Read more

GPU Gems 3 电子书

GPU GEMS 3已经发行了很久了,但始终没有找到下载。今天终于找到了电子版下载地址,比以前1、2的电子版好很多,是CHM格式的,很清晰。国内下载地址见:

http://www.itpub.net/viewthread.php?tid=952477

以及网盘(推荐):

http://www.fs2you.com/files/6710f94c-0234-11dd-99af-0014221f4662/

正确运行OSG的例子

OSG为我们提供了很多有用的例子,那么如何正确运行这些例子呢?我将我的一些经验写出来,希望对大家有所帮助。 Read more

osgNETDemo

写了一个简单的OpenSceneGraph和.NET结合的例子。这个例子使用了C++/CLI语言进行托管和非托管之间的相互调用,使用.NET的Windows Forms类库进行UI设计,OSG进行渲染。该例子提供了 Read more

数控弯管机加工三维仿真(视频)

这是我一直在做的数控弯管机加工三维仿真程序的视频。目前整个程序用C++/CLI写成,界面用的是.NET的控件(颜色因为要和之前工程保持一致,所以比较丑),三维部分使用OSG进行显示,控制使用托管C++进行编程以便和OSG进行交互。三维机床使用Solidworks建模然后进行处理导出为OSG支持的格式。 Read more

核磁共振三维重建(视频)

抓了一个视频下来,图片版本见:核磁共振三维重建

(2008-11-27:由于老主机不支持视频播放,该链接已经失效) Read more

核磁共振三维重建

哈哈,看看我做的核磁共振图像重建的渲染,多亏我的8800GTS了,要不然还无法做得出来。目前还处在开发阶段,可实现实时任意切割,速度还可以优化,主要是Shader的书写和一些压缩算法的考虑等等,还可能要使用一些更高级的特性来加速。 Read more

基于GPU的实体布尔运算的想法

最近看了看NVIDIA的DX10的演示,发现Geometry Shader的用处太大了,就忽然联想到是不是可以用来做实体运算。经过一番搜索,找到一些有用的资料,在这里做个笔记:
OpenGL Geometry Shader Marching Cubes
Polygonising a scalar field
看考完试了把这个东西拿来做一做,用DirectX来做吧,然后再在OpenGL上面来做。OpenGL的优势在于XP下面都能用Geometry Shader。

Related posts

Return top