首页 >> 仿真软件说明 >>VMD >>1.9.3手册 >> 第八章 场景导出和渲染
详细内容

第八章 场景导出和渲染

时间:2025-06-14     作者:邱新龙翻译【转载】   来自:vmd手册   阅读

使用快照进行屏幕截图

VMD用户最常见的任务之一是生成图像,这些图像可以加载到其他程序中,也可以用于打印文档、海报、幻灯片和透明文件。Render窗口提供了一种简单的机制,通过使用外部渲染和光线跟踪程序,从VMD图形窗口的快照生成图像文件。

VMD中生成光栅图像文件的最简单方法是使用“快照”特性。快照特性捕获VMD图形窗口的内容,并将它们保存到光栅图像文件中。在Unix系统上,捕获的图像被写入一个24位彩色Truevision“Targa”文件。在Windows系统上,捕获的图像被写入24位彩色Windows位图或“BMP”文件。要使用快照功能,只需打开渲染[§5.4.11]窗口并选择快照选项。VMD将捕获图形窗口的内容,并尝试将生成的图像保存到Render窗口中给定的文件名中。您可能会发现,在使用快照时,不要在VMD图形显示前放置其他窗口或游标,这一点很重要,因为生成的图像可能包含模糊的窗口或游标。这是一个依赖于平台的行为,因此您需要确定您的系统是否这样做。

 

更高质量的渲染

有时,屏幕截图产生的图像不够好;您可能需要一个非常大的、高质量的图片,或者带有阴影、反射或透明表面的高质量渲染的图片。虽然VMD通常在其图形窗口中生成漂亮的图像,但它的设计目的是非常快速地生成图像,以最大限度地提高交互性,这排除了使用逼真的渲染技术,这会减慢整个程序的操作速度。VMD不是直接生成高质量的图像,而是编写场景描述文件,这些文件可以用作几个流行的扫描线渲染和光线跟踪程序的输入。表8.1列出了当前支持的输出格式,以及可以获得适当渲染软件的地方。

制作光栅图像通常是一个两步的过程,例如,除了内置的渲染器,如TachyonInternal, TachyonLOptiXInternal和TachyonLOSPRayInternal,或它们各自的交互变体。首先,您必须制作适合所选渲染程序的场景描述文件,然后使用新文件作为输入执行程序以生成光栅图像输出。外部呈现程序通常支持不同的输出文件格式,这些格式可能需要转换为更适合您的格式。不可能预测这可能是什么,因此我们将描述如何将不同的文件类型转换为Targa,并让您使用表8.1中列出的工具来获得所需的内容。Raster3D、Tachyon和POV-Ray可以生成Targa文件,所以你不需要做任何事情,只需要指定这种输出格式。

Rayshade创建RLE图像文件,可以使用ImageMagick进行转换。Radiance生成一个.oct文件,可以使用Radiance发行版中包含的rview和rpt命令对其进行转换。

ImageMagick的免费程序显示(参见http://www.imagemagick.org/)应该能够在所有这些格式之间读取和转换。

我们建议使用Tachyon或Raster3D,因为它们通常是最快的程序。这些程序很容易理解,即使在渲染非常复杂的分子时也很快。

生成的场景文件是纯文本,所以它们很容易修改。这通常是为了创建一个更大的光栅文件,尽管有些人有其他全局选项,你可能希望改变。例如,默认情况下Raster3D文件打开阴影。我们建议您查阅相关的渲染器文档,以确定文件中可以修改的内容。

 

要将当前图像实际呈现到输出文件中,首先在VMD中设置图形,就像您希望输出显示的那样。然后,使用渲染窗口[§5.4.11]或以下文本命令,创建输入文件并启动渲染程序:

render method filename [render command]

Method是表8.1第一列中列出的名称之一,filename是包含结果图像处理程序脚本的文件的名称。后面的任何文本都将被用作要运行的命令来处理该文件。如果命令字符串中出现%s,它们将被脚本文件的名称所替换。

1Available from http://bund.com.au/~dgh/eric/ along with the rest of VORT package

2See http://www.povray.org/

3See http://radsite.lbl.gov/radiance/HOME.html

4See http://www.bmsc.washington.edu/raster3d/

5See http://graphics.stanford.edu/~cek/rayshade/rayshade.html

6See http://www.photonlimited.com/~johns/tachyon/

7See http://www.web3d.org/x3d/

8See http://www.x3dom.org/

 image.png

Caveats

VMD创建输出文件时,它将尝试匹配当前视图和屏幕大小。在大多数情况下,它做得很好,但也有一些问题。最终光栅图像中的颜色有时看起来与在VMD图形窗口中看到的不同。这是因为外部渲染程序使用与VMD不同的阴影方程和算法。

潜在的渲染差异包括:

•几何形状可能看起来略有不同;在VMD中,曲面被多边形化并使用许多多边形切面绘制,曲面在最终输出中可以完全平滑地渲染(这通常被视为一种改进!)

•由于不同的颜色映射,伽马值或照明模型,渲染对象的颜色或强度可能略有不同;这对于用于执行复杂着色的材料属性来说尤其正确。与成熟的逼真渲染器相比,VMD对这些材料属性的实时渲染通常过于简单或有限,因此在透明度、镜面高光等实现之间可能存在很大差异。

•许多外部渲染器不支持真正的正交渲染。这可以通过将相机移到离分子很远的地方来“伪造”,然后将相机变焦,使图像大小再次可以接受。这将显著降低透视效果,但不是真正的正射影。

•渲染命令目前不支持立体声输出,因此即使显示当前处于立体声模式,渲染程序输入脚本将使用非立体声视角;立体渲染通过将显示模式设置为“左”,然后渲染图像,然后设置为“右”,然后再次渲染来完成。这将产生一个立体对最好的VMD的能力与外部渲染程序。

•近和远裁剪平面被所有外部渲染器忽略;•在渲染场景语言中,文本通常不是可用的图形原语,所以标签文本不会出现,尽管会绘制粘合线,角度等标签。唯一的例外是Postscript输出,它支持文本输出。

•虚点球体不是用圆点绘制的。

•背景色可以是黑色,因为不是所有输出格式都支持黑色以外的背景色;

 

一步打印

一个经常被问到的问题是“我怎样才能快速得到VMD显示器的打印输出?”有几个一步解决这个问题,下面列出了一些:

•选择快照选项,并使用ImageMagick或类似的工具将生成的图像转换为所需的图像格式。

•选择TachyonInternal选项,并使用ImageMagick或类似工具将生成的图像转换为所需的图像格式。

 

制作立体图像

立体图像可以通过简单的文本命令序列来渲染,在左右单视角立体模式之间循环,并为每只眼睛导出一个场景:

display stereo left

render TachyonInternal left.tga

display stereo right

render TachyonInternal right.tga

 

外部渲染器并不总是支持绘制立体图像的能力。原则上,有可能将场景写入文件两次,并应用适当的转换以使每个眼睛的视图正确,但是阴影将是不正确的。相反,我们建议制作当前场景的一张图像,然后将分子向左(或向右)移动以制作另一张图像。它的文本命令类似于:

display stereo off

render Raster3D left.r3d

trans by -.1 0 0

render Raster3D right.r3d

 

然后必须渲染这两个文件以生成rgb文件。事实证明,这种方法可以很容易地生成普通Raster3D文件的立体图像。由于VMD可以读取Raster3D格式,因此您所要做的就是读取文件,然后执行上面列出的命令。用于生成左视图或右视图的文本命令在GUI中Display窗口的Stereo选项下也有相应的命令。

 

拍电影

通过使用Tcl或Python脚本,或者使用VMD附带的“vmdmovie”扩展,可以使用VMD制作电影。VMD主页上的VMD脚本库中提供了几个电影制作脚本。这些脚本可以按原样使用,也可以自定义它们以执行超出本用户指南范围的复杂动画任务。一般来说,电影是通过使用脚本驱动渲染命令来创建的,生成一系列单独的图像文件。当脚本完成所有单独帧的渲染后,图像就可以导入到动画包中,或者可以通过进一步处理转换为几种流行的压缩电影格式之一。VMD提供的“vmdmovie”扩展完全自动化了电影创建过程,尽管它需要安装一些软件包才能完成这项工作。请参阅关于电影脚本和VMD脚本库中的“vmdmovie”的单独文档。

 


最新评论
请先登录才能进行回复登录
技术支持: CLOUD | 管理登录
seo seo