volumetrIcs
Perhaps one of the most enjoyable topics in 3D adventure is to produce "Volumetric" effects. What are these effects? It is creating natural phenomena like clouds, fires or fog and rendering them realistically. Some light forms can also be described as volume effects (eg Volume lights, God rays). Producing such effects is very difficult and requires a special technique. This technique, which was used long ago in medical, seismic or other scientific fields before entering 3D applications, is called "Volume Rendering". It is a term used to visualize the datasets that are in place, and this term has been studied and developed for over 20 years. This is the fruit of this development. However, when it comes to render, it is a time-consuming process. As we have mentioned before, every good thing has a price, and it returns to us as "time" when it comes to 3D rendering.
体积
也许3D冒险中最令人愉悦的主题之一就是产生“体积”效果。这些影响是什么?它正在创造自然现象,如云,火或雾,并将其逼真的渲染。一些光形式也可以描述为体积效果(例如,体积光,上帝之光)。产生这样的效果非常困难,需要特殊的技术。这项技术在进入3D应用程序之前很早就已在医学,地震或其他科学领域中使用,被称为“体绘制”。它是用于可视化已存在数据集的术语,并且已经研究和开发了20多年。这就是这种发展的成果。但是,在渲染时,这是一个耗时的过程。正如我们之前提到的,每件好东西都有价格,在涉及3D渲染时,它以“时间”的形式返回给我们。
SO, WHAT'S VOLUME RENDERING?
Since it is a very technical subject, we will give a brief description here. Volume Rendering means rendering the voxel-based data into viewable 2D image. Our display screens are composed of a two-dimensional array of pixels each representing a unit area. A volume is a three-dimensional array of cubic elements, each representing a unit of space. Individual elements of a three-dimensional space are called volume elements or voxels. Voxel is the basic element of the volume. Also called "volume element" or "volume cell". It is the 3D conceptual counterpart of the 2D pixel. Each voxel is a quantum unit of volume and has a numeric value (or values) associated with it that represents some measurable properties or independent variables of the real objects or phenomena.
那么,什么是体积渲染?
由于这是一个非常技术性的主题,因此我们将在此处进行简要说明。体积渲染是指将基于体素的数据渲染为可见的2D图像。我们的显示屏由二维像素阵列组成,每个像素代表一个单位面积。体积是立方元素的三维阵列,每个立方元素代表一个空间单位。三维空间的各个元素称为体积元素或体素。体素是体积的基本元素。也称为“体积元素”或“体积单元”。它是2D像素的3D概念对应物。每个体素都是体积的量子单位,并具有与其关联的一个或多个数值,这些数值表示真实对象或现象的某些可测量属性或自变量。
The collection of all these values is called a scalar field on the volume. The set of all points in the volume width a given scalar value is called a level surface. Volume rendering is the process of displaying scalar fields. It is a method for visualizing a three dimensional data set. The interior information about a data set is projected to a display screen using the volume rendering methods. Along the ray path from each screen pixel, interior data values are examined and encoded for display. How the data are encoded for display depends on the application. Seismic data, for example, is often examined to find the maximum and minimum values along each ray. The values can then be color coded to give information about the width of the interval and the minimum value. In medical applications, the data values are opacity factors in the range from 0 to 1 for the tissue and bone layers. Bone layers are completely opaque, while tissue is somewhat transparent. Voxels represent various physical characteristics, such as density, temperature, velocity or pressure. Other measurements, such as area, and volume, can be extracted from the volume datasets.
所有这些值的集合称为卷上的标量字段。给定标量值的体积宽度中所有点的集合称为水平表面。体积渲染是显示标量字段的过程。它是一种可视化三维数据集的方法。使用体积渲染方法将有关数据集的内部信息投影到显示屏上。沿着来自每个屏幕像素的光线路径,检查内部数据值并进行编码以进行显示。数据如何编码以进行显示取决于应用程序。例如,经常检查地震数据,以找出沿每条射线的最大值和最小值。然后可以对这些值进行颜色编码,以提供有关间隔宽度和最小值的信息。在医疗应用中,数据值是组织和骨骼层的不透明度因子,范围从0到1。骨层完全不透明,而组织则有些透明。体素代表各种物理特征,例如密度,温度,速度或压力。可以从体积数据集中提取其他测量值,例如面积和体积。
where are my polygons?
To put it briefly: There is no such polygons in case of Volume. Volume Rendering is a process that allows us data hunt and see what we have gathered in the end. Here's what you call polygon is the "Data". The classic Isosurface rhetoric does not work in this realm. Polygons are not needed to produce meaningful results from 3D data voxels. The "Meaning" is already there. You have to dive into that data. Therefore, while working on Voxel based, we have to put Isosurface logic aside.
我的多边形在哪里?
简而言之:在“体积”的情况下没有这样的多边形。体积渲染是一个过程,可让我们搜寻数据并查看最终收集的内容。您称之为多边形的就是“数据”。经典的Isosurface修辞方法在此领域不起作用。不需要多边形即可从3D数据体素产生有意义的结果。 “含义”已经存在。您必须深入研究这些数据。因此,在基于Voxel的工作中,我们必须将Isosurface逻辑放在一边。
If there is no polygon, how do we render it?
A number of methods have been developed to visualize voxel data. These methods give different outputs according to the purpose. Two major methods are: Direct Volume Rendering (Object Order, Image Order, Hybrid Order) and Indirect Volume Rendering (Surface Tracking, Isosurfacing, Domain Based). Since they are so technical, we will not explain here. However, the method we use today in 3D applications is usually "Direct Volume Rendering". In this type of rendering method, every voxel in the volume raster directly, without conversion to geometric primitives. They usually include an illumination model which supports semi-transparent voxels; this allows rendering of every voxel in the volume is (potentially) visible. Each voxel contributes to the final 2D image. The following diagram shows this process.
如果没有多边形,我们如何渲染它?
已经开发出许多方法来可视化体素数据。这些方法根据目的给出不同的输出。两种主要方法是:直接体积渲染(对象顺序,图像顺序,混合顺序)和间接体积渲染(表面跟踪,等距曲面,基于域)。由于它们是如此技术性,因此我们在这里不做解释。但是,我们今天在3D应用程序中使用的方法通常是“直接体积渲染”。在这种类型的渲染方法中,体积栅格中的每个体素都直接生成,而无需转换为几何图元。它们通常包括支持半透明体素的照明模型。这样可以渲染体积中的每个体素(潜在)。每个体素都有助于最终的2D图像。下图显示了此过程。
VDB
VDBs (Created by Dreamworks) are a generic volume format that is used to create effects such as smoke, fog, vapor, and similar gaseous objects. VDBs are usually generated and exported from other 3D software packages such as Houdini. There is also a number of VDB files available for download online at www.openvdb.org/download. VDBs can be a single frame or an animated file sequence. VDB Loader bölümünde bu konuyu daha detaylı açıklayacağız.
虚拟数据库
VDB(由Dreamworks创建)是一种通用的卷格式,用于创建诸如烟,雾,蒸汽和类似气态对象的效果。 VDB通常是从其他3D软件包(例如Houdini)生成和导出的。也可以从www.openvdb.org/download在线下载许多VDB文件。 VDB可以是单帧或动画文件序列。 VDB加载程序。
For more information about OpenVDB, please see http://www.openvdb.org
有关OpenVDB的更多信息,请访问http://www.openvdb.org
THE IMPORTANCE OF ABSORPTION & SCATTERING
You will often use these 2 options in all volume effects. Unlike the medium previously in the material section, these 2 options now work according to the voxel grid. And as input, they refer to the Voxel grid entirely. In the "Volume Effects" section you will find plenty of examples to use. As you can see in the below image, the HDR is placed as a background of the VDB cloud. It's also a lighting model. Octane Daylight is also added to enhance the sun effect. As you can see, Scattering and Absorption are almost at maximum levels. This is because of both the density and the setting of the step length. A cloud of this mass will absorb minimal of light. But scattering has spread throughout the entire cloud. The picture taken from the Live Viewer. No compositing done. You can find this VDB cloud tutorial in the Volume effect section.
吸收和散射的重要性
您将经常在所有音量效果中使用这两个选项。与之前在“材质”部分中使用的介质不同,这两个选项现在可以根据体素网格工作。作为输入,它们完全引用了Voxel网格。在“音量效果”部分中,您将找到许多可以使用的示例。如下图所示,HDR被放置为VDB云的背景。这也是一个照明模型。还添加了Octane日光以增强阳光效果。如您所见,散射和吸收几乎处于最大水平。这是因为密度和步长的设置。这种质量的云将吸收最少的光。但是,散射已经漫射到整个云中。从实时查看器拍摄的照片。没有进行合成。您可以在“音量效果”部分中找到此VDB云教程。
赶快留个言打破零评论!~