US8115766B2 - System and method for rendering flow and volumes - Google Patents
System and method for rendering flow and volumes Download PDFInfo
- Publication number
- US8115766B2 US8115766B2 US11/811,325 US81132507A US8115766B2 US 8115766 B2 US8115766 B2 US 8115766B2 US 81132507 A US81132507 A US 81132507A US 8115766 B2 US8115766 B2 US 8115766B2
- Authority
- US
- United States
- Prior art keywords
- preintegrated
- entries
- processor
- information
- gradient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
Definitions
- the preset invention generally relates to systems and method for rendering flows and volumes.
- Flow simulations are used in different areas of science for various applications: from studying the flow around experimental aircrafts to analyzing cloud formation by air flow simulation.
- One critical, but difficult stage in the simulation process is analysis.
- Visualization is a key method for analyzing the simulation results and for providing meaningful feedback.
- the visualization community has faced significant challenges as the size, dimensionality and complexity of the simulation data has increased.
- the simple step up from two-dimensional flow simulations to three-dimensional has rendered many existing flow visualizations techniques difficult to use. These techniques, when applied to three-dimensional flow data, tend to produce cluttered and hard-to-understand images.
- Illustration has also been considered as a viable approach to improve the understanding of flow volumes, showing the potential of applying volume illustration techniques to scalar flow volumes and streamlines.
- One recent achievement in computer graphics and visualization is the ability to render datasets interactively by utilizing the graphic processing units (“GPUs”) on personal computer (“PC”) graphics cards.
- GPUs graphic processing units
- PC personal computer
- one embodiment of the present invention includes a general purpose computer having a processor and a display device.
- the processor of the general purpose computer has processor executable instructions for configuring the processor to generate a preintegrated table, the preintegrated table having a plurality of entries, each of the plurality of entries having color information and opacity information, generate illustrative effects based on the plurality of entries of the preintegrated table, and display the illustrative effects on the display device.
- FIG. 1 illustrates a ray traversal for a tetrahedral raycaster a information gathered from a current tetrahedron
- FIG. 2A-2F illustrate a gradient enhancement for a cylinder dataset
- FIG. 3 illustrates an example of an opacity transfer function used in silhouette calculations
- FIGS. 4A-4D illustrate masked silhouettes for the cylinder dataset
- FIGS. 5A and 5B illustrate a curvature-based illustration for the cylinder dataset with two different p's
- FIGS. 6A , 6 B, and 6 C illustrate banding of the scalar value of the cylinder dataset
- FIGS. 7A and 7B illustrate a volume rendering and gradient enhancement for the Bluntfin dataset, respectively;
- FIGS. 8A-8E illustrate the effects for the Combustion Chamber dataset
- FIGS. 9A and 9B illustrates a shock dataset
- FIG. 10 is a block diagram of a Schlieren system
- FIG. 11 is a block diagram of a shadowgraph system
- FIG. 12 is a block diagram of a general purpose computer capable of executing a method for rendering flows and volumes.
- One embodiment of the present invention is based on pre-integrated volume rendering. This technique has been very useful in both texture-based volume rendering and tetrahedral mesh rendering.
- this section an overview of the hardware-accelerated raycasting algorithm and of the pre-integration method is produced. Next, described is the modifications introduced in these approaches to generate illustrative effects and show how they help gain insight into flow data.
- Hardware-accelerated pre-integrated volume rendering precomputes the ray integral for each rendering primitive using the ray entry and exit point values (s (f) , s (b) ), the thickness of the primitive l, and stores these in the table texture.
- the (s (f) , s (b) , l) values are extracted and used as indices for pre-integration table lookup.
- the implementation of volume rendering on regular grids using a two-dimensional pre-integration table because the thickness of their rendering primitive (volume “slabs”) is constant.
- the pre-integration can be performed using three-dimensional pre-integrated tables, since the sample opacity depends on the thickness of the corresponding ray segment; i.e. the distance l between entry point (p (f) ) and exit point (p (b) ) for the current tetrahedron, as well as the values at these points s (f) and s (b) respectively.
- the key difference for the illustrative effects described is the modification of this pre-integrated table. Described is a method showing how this modification is performed to obtain different effects. It is important to mention that, since most of the illustration techniques presented here is based on the gradient of the input data, gradient estimation is a major issue. Barycentric interpolation is utilized to estimate the gradient, obtaining good results despite the fact that the gradients thus obtained are constant within a tetrahedron. This is expected for datasets with good resolution where regions of interest are high-sampled.
- the illustrative effects introduced are accomplished either by modifying the shader or the pre-integrated table.
- the pre-integrated table is calculated from a transfer function indexed by a computed view-dependent value, e.g. view dependent gradient magnitude. This approach for silhouetting is described below.
- a scaling mask m which depends on the illustrative effect, is computed as described below and used to scale the extinction coefficient linearly to modify the associated color C ⁇ tilde over ( ) ⁇ (m) (s (f) ; s (b) ; l) and opacity ⁇ (s (f) ; s (b) ; l) stored at each entry (s (f) ; s (b) ; l) of the pre-integrated table.
- Equations 1 and 2 The masked opacity ⁇ (m) (s (f) ; s (b) ; l) and the masked associated color C ⁇ tilde over ( ) ⁇ (m) (s (f) ; s (b) ; l) are obtained with Equations 1 and 2 respectively.
- An illustrative effect can be achieved by masking the entries of the pre-integrated table using view-dependent gradient magnitudes. While not as accurate as the full gradient magnitude enhancement, it tends to highlight parts of essential high-gradient dataset features. Since the pre-integrated table is conveniently indexed by s (f) , s (b) and l, for every entry in the table we can calculate view-dependent gradient magnitude and arbitrarily modify the color/opacity based on the value (e.g. gradient magnitude iso-lines, low gradient magnitude sample cull, negative gradient magnitude sample cull). For instance, given the approximated view-dependent gradient magnitude (s (b) ⁇ s (f) )/l, the mask m could be defined as
- FIGS. 2A-2E show the result of using this illustration technique on the Cylinder dataset. Notice that the same transfer function is used in all cases.
- FIGS. 2A-2C show volume rendering without illustration, gradient enhancement and gradient enhancement with highlighting of the surface, respectively.
- FIGS. 2D-2F gradient enhancement with different values of p.
- a one-dimensional opacity transfer function ⁇ ( ⁇ ) is then used to highlight areas where ⁇ is close to 0 (the graph of an example of such function is shown in FIG. 3 ).
- FIGS. 8A-8E show no illustration, banding, gradient enhancement, mixed silhouettes and volume rendering, and masked silhouettes, respectively.
- FIGS. 4A-4D show silhouettes, mixed silhouettes and surface rendering, top view of the silhouettes, top view of mixed silhouettes and volume rendering, respectively.
- the mask m used in this case is given by
- FIGS. 5A and 5B show visual results of this illustrative effect for the cylinder dataset with two different p's.
- FIGS. 6A and 6B show mixed banding and volume rendering and banding with lower p, respectively.
- the implementation of our single-pass raycaster is modified to include the illustration techniques described above.
- the data structure holding the tetrahedral mesh is stored in a set of textures used by the shader to calculate, for each iteration of the ray integral computation, the current tetrahedron and its entry and exit points.
- the values at these points are interpolated from the values stored at the vertices of the tetrahedron using barycentric coordinates.
- the values obtained and the distance between the points are used to fetch the contribution of the ray segment to the ray integral from the pre-integrated table modified by our techniques. Also implemented may be the logarithmic sampling.
- the Schlieren photographic process uses an optical system 10 to capture density gradient variations in inhomogeneous media.
- the optical in homogeneities When illuminated with a light source 12 that is made parallel by a first lens 14 , the optical in homogeneities refract the light rays in proportion to the gradients of the refractive index projected by a second lens 16 on the xy-plane 18 , which is orthogonal to the light direction.
- the shadowgraph observation setup 20 is simpler, since it only contains a light source 22 made parallel by a lens 24 , which is projected onto a screen 26 . Due to in homogeneities in the test area, refraction within the affected region displaces the light ray before it reaches the screen, changing the luminance distribution on the screen. Note that this luminance shift only occurs when the displacement vector e along the x or y axes changes. Thus, the resulting luminance map value can be approximated by the following:
- the second pass transforms the displacement vector map to the actual image, scaling the resulting color by the sensitivity coefficient, s, according to the particular Schlieren method we want to simulate: knife-angle cutoff (Equation 9, where k is a normal to the knife edge), or circular cutoff:
- modifications to the raycaster can be introduced either in the pre-integrated table computation or in the shader. These modifications are described in the following.
- a pre-integrated table is calculated as usual but instead of using the interpolated values s (f) and s (b) at the entry and exit points respectively to perform the color and opacity fetch, a pre-integrated table indexed by ( ⁇ (f) ; ⁇ (b) ; l).
- the shader is then modified to calculate and use ( ⁇ (f) ; ⁇ (b) ; l) as indices to the pre-integrated table lookup. Since the gradient is constant within a tetrahedron, we take the gradient of the current tetrahedron as ⁇ (f) and the gradient of the next intersected tetrahedron as ⁇ (b) .
- gradients can be pre-computed at the vertices, interpolate them on the face (in the shader stage), normalize them, and then project them onto the view direction to obtain more accurate results.
- Masked silhouettes Another approach we used to generate silhouettes from the gradient information is simply masking the color and opacity stored in the pre-integrated table, as done for the gradient enhancement. For that we use the mask given by Equation 4. However, since ⁇ can only be calculated in the fragment shader, the masking takes places during rendering using Equations 1 and 2.
- Curvature-based As in the case of gradient-based masked contour effects (masked silhouettes) the mask in this case can be calculated only during rendering. Therefore, we follow the same approach and modify the shader to use Equations 1 and 2 to apply the mask given by Equation 5.
- Banding Banding is achieved by masking the entries of the pre-integrated table using the mask given by Equation 6. As in the case of gradient enhancement, this process occurs right after computing the pre-integrated table. Thus, no modification is introduced into the rendering process.
- the system 30 includes a general purpose computer 32 , a display 34 and at least one input device such as a keyboard 36 and/or a mouse 38 .
- the general purpose computer 32 may include a graphics processing unit such as an NVidia GeForce 7800 gtx (512 MB) graphics card.
- the general purpose computer 32 is configured to execute the methods described in the previous paragraphs. As such, any visual displays created by the methods discussed in the previous paragraphs are displayed on the display 34 .
- Table 1 shows the performance results for the illustration techniques presented. We notice that the performance change is depreciable even for datasets with millions of tetrahedra.
- FIGS. 7A and 7B illustrate a volume rendering and gradient enhancement for the Bluntfin dataset, respectively.
- FIGS. 7A and 7B illustrate a volume rendering and gradient enhancement for the Bluntfin dataset, respectively.
- FIGS. 8A and 8B Combustion Chamber
- FIGS. 9A and 9B Shock
- Volume illustration applied to flow datasets helps gain insight into the structures contained in the flow data.
- the problem of employing illustration techniques was approached only for flow datasets on regular grids. However, there are a significant number of simulations that are computed on unstructured grids. Previous work took a shortcut to skirt this problem by resampling the parts of the flow datasets onto a regular grid.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
Description
where ω is an artificial used-defined opacity scaling factor and p is a scalar that controls how much the gradient magnitude affects the opacity of the pre-integrated table entry.
g(∥∇ƒ∥)·(1−|φ|)p, (4)
where ∇f is the gradient and g(·) is a windowing function (usually a linear function clamped to [0;1]) used to restrict the detection of contours to the interfaces between different materials. Results obtained for the Cylinder dataset with this technique are shown in
where oo is the value to mask (e.g. scalar value, gradient magnitude).
| TABLE 1 |
| Performance in frames per second for the test |
| datasets with the illustration techniques presented. |
| Bluntfin | Comb. | Cylinder | Shock | |
| Num. tetrahedra | 187395 | 215040 | 624960 | 1923048 |
| Vol. rendering | 6.69 | 4.74 | 5.09 | 2.88 |
| Grad. enhance. | 6.56 | 4.68 | 5.12 | 2.99 |
| Curvature-based | 6.92 | 5.26 | 4.96 | 2.51 |
| Banding | 6.56 | 4.68 | 5.12 | 2.24 |
| Silhouettes | 6.74 | 5.02 | 4.98 | 2.94 |
| Masked silh. | 6.21 | 4.99 | 5.05 | 2.78 |
Also, we can see that, although the Cylinder dataset is larger than the Combustion Chamber dataset, the performance is almost the same. This is probably due to the projected size in pixels of the volume and the early ray termination included in the fragment shader which causes a decrease in the processing time when the opacity is increased. It is worth mentioning, that for the performance measurements we employed the transfer functions used to generate the figures included in this paper.
Claims (6)
g(∥∇ƒ∥)·(1−|φ|)p,
g(∥∇ƒ∥)·(1−|φ|)p,
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/811,325 US8115766B2 (en) | 2006-06-09 | 2007-06-08 | System and method for rendering flow and volumes |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US81231706P | 2006-06-09 | 2006-06-09 | |
| US11/811,325 US8115766B2 (en) | 2006-06-09 | 2007-06-08 | System and method for rendering flow and volumes |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20080091395A1 US20080091395A1 (en) | 2008-04-17 |
| US8115766B2 true US8115766B2 (en) | 2012-02-14 |
Family
ID=39304053
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US11/811,325 Expired - Fee Related US8115766B2 (en) | 2006-06-09 | 2007-06-08 | System and method for rendering flow and volumes |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US8115766B2 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120173219A1 (en) * | 2010-12-30 | 2012-07-05 | Desktop Aeronautics, Inc. | Generating inviscid and viscous fluid-flow simulations over an aircraft surface using a fluid-flow mesh |
| US8538738B2 (en) | 2011-03-22 | 2013-09-17 | Aerion Corporation | Predicting transition from laminar to turbulent flow over a surface |
| US8892408B2 (en) | 2011-03-23 | 2014-11-18 | Aerion Corporation | Generating inviscid and viscous fluid flow simulations over a surface using a quasi-simultaneous technique |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3035290B1 (en) * | 2014-12-17 | 2019-01-30 | Siemens Healthcare GmbH | Method for generating a display data set with volume renders, computing device and computer program |
-
2007
- 2007-06-08 US US11/811,325 patent/US8115766B2/en not_active Expired - Fee Related
Non-Patent Citations (5)
| Title |
|---|
| Ebert et al., "Volume Illustration: Non-Photorealistic Rendering of Volume Models", Proceedings of IEEE Visualization '00, pp. 195-202. * |
| Meissner et al., "Pre-Integrated Non-Photorealistic Volume Rendering", Proceedings of VMV 2004, IEEE Computer Society, pp. 437-445. * |
| Telea et al., "3D IBFV Hardware-Accelerated 3D Flow Visualization", Proceedings of the 14th IEEE Visualization Conference (VIS'03), 2003, pp. 233-240. * |
| Wijk et al., "Three Ways to Show 3D Fluid Flow", IEEE, Sep. 1994. * |
| Wijk, "Image based Flow Visualization", ACM Transactions on Graphics 21, 32002, pp. 745-754. * |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120173219A1 (en) * | 2010-12-30 | 2012-07-05 | Desktop Aeronautics, Inc. | Generating inviscid and viscous fluid-flow simulations over an aircraft surface using a fluid-flow mesh |
| US8457939B2 (en) * | 2010-12-30 | 2013-06-04 | Aerion Corporation | Generating inviscid and viscous fluid-flow simulations over an aircraft surface using a fluid-flow mesh |
| US20130246027A1 (en) * | 2010-12-30 | 2013-09-19 | Aerion Corporation | Generating inviscid and viscous fluid-flow simulations over a surface using a fluid-flow mesh |
| US8935140B2 (en) * | 2010-12-30 | 2015-01-13 | Aerion Corporation | Generating inviscid and viscous fluid-flow simulations over a surface using a fluid-flow mesh |
| US10296672B2 (en) | 2010-12-30 | 2019-05-21 | Aerion Corporation | Generating inviscid and viscous fluid-flow simulations over an aircraft surface using a fluid-flow mesh |
| US8538738B2 (en) | 2011-03-22 | 2013-09-17 | Aerion Corporation | Predicting transition from laminar to turbulent flow over a surface |
| US9418202B2 (en) | 2011-03-22 | 2016-08-16 | Aerion Technologies Corporation | Predicting transition from laminar to turbulent flow over a surface |
| US8892408B2 (en) | 2011-03-23 | 2014-11-18 | Aerion Corporation | Generating inviscid and viscous fluid flow simulations over a surface using a quasi-simultaneous technique |
Also Published As
| Publication number | Publication date |
|---|---|
| US20080091395A1 (en) | 2008-04-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Westover | Footprint evaluation for volume rendering | |
| Norton et al. | Clamping: A method of antialiasing textured surfaces by bandwidth limiting in object space | |
| Csébfalvi et al. | Monte carlo volume rendering | |
| US20060028469A1 (en) | High performance shading of large volumetric data using screen-space partial derivatives | |
| Svakhine et al. | Illustration and photography inspired visualization of flows and volumes | |
| Ament et al. | Low-pass filtered volumetric shadows | |
| Hašan et al. | Interactive albedo editing in path-traced volumetric materials | |
| Yagel et al. | Grouping volume renderers for enhanced visualization in computational fluid dynamics | |
| US7218324B2 (en) | Scene reflectance functions under natural illumination | |
| US8115766B2 (en) | System and method for rendering flow and volumes | |
| Rosenthal et al. | Image-space point cloud rendering | |
| Vyatkin et al. | Voxel Volumes volume-oriented visualization system | |
| US6967653B2 (en) | Apparatus and method for semi-automatic classification of volume data | |
| Adams et al. | Particle splatting: Interactive rendering of particle-based simulation data | |
| Rojo et al. | Accelerated Monte Carlo rendering of finite-time Lyapunov exponents | |
| Koyamada | Fast traverse of irregular volumes | |
| Bajo et al. | Physically inspired technique for modeling wet absorbent materials | |
| JP4394122B2 (en) | Method of real-time rendering performed by sampling reflection characteristics of object surface and method of converting texture size | |
| Van der Voort et al. | Volume visualization for interactive microscopic image analysis | |
| Kim et al. | Ray-based data level comparisons of direct volume rendering algorithms | |
| Crawfis et al. | Flow visualization techniques for cdf using volume rendering | |
| Liu et al. | A numerical visualization technique based on the hydraulic analogy | |
| Zhou et al. | State of the art for volume rendering | |
| Dahal | Coronal Loop Visualization Using Volume Ray Casting | |
| Papakonstantinou et al. | Inset mapper: A software tool in island cartography |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: PURDUE RESEARCH FOUNDATION, INDIANA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SVAKHINE, NIKOLAI A.;JANG, YUN;EBERT, DAVID S.;AND OTHERS;REEL/FRAME:020755/0604;SIGNING DATES FROM 20071120 TO 20071217 Owner name: PURDUE RESEARCH FOUNDATION, INDIANA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SVAKHINE, NIKOLAI A.;JANG, YUN;EBERT, DAVID S.;AND OTHERS;SIGNING DATES FROM 20071120 TO 20071217;REEL/FRAME:020755/0604 |
|
| AS | Assignment |
Owner name: NATIONAL SCIENCE FOUNDATION, VIRGINIA Free format text: CONFIRMATORY LICENSE;ASSIGNOR:PURDUE UNIVERSITY;REEL/FRAME:023030/0918 Effective date: 20090506 |
|
| FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
| FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20200214 |