New Computer Graphics Technologies for Digital Earth Visualization

pumpedlessΛογισμικό & κατασκευή λογ/κού

2 Δεκ 2013 (πριν από 3 χρόνια και 4 μήνες)

54 εμφανίσεις

Ehlers et al. (Eds.), Digital Earth Summit on Geoinformatics 2008 339
New Computer Graphics Technologies
for Digital Earth Visualization
Debin QU, Chen CUI and Weifeng LIU
Abstract
In recent years, a number of computer graphics technologies for visual computing have
been proposed based on PC-class graphics processing units (GPUs). These new
technologies unlock a whole new world of rich visual effects for digital earth applications,
3D Geographic Information System. We present a survey of the most promising of such
technologies. This paper can be constructed by specifying three substantially independent
choices: a system architecture for the 4th generation of PC-class programmable GPUs, a
series of structural modifications to OpenGL and Direct3D APIs, a set of physical
simulation methods for fluid animation using GPUs. The majority of visualization methods
surveyed have been established in our 3D digital earth applications. Ultimately we are
satisfied that we arrived at good solutions by using new GPUs, new graphics APIs and new
rendering methods we set out to address.
1 Introduction
In recent years, with the increasingly powerful computer microprocessor performance,
visual computing gradually developed into a frontier area. Visual computing, not only
covers classical computer graphics and visualization, but also covers the use of graphics
hardware to the general computing grow rapidly. In the Digital Earth Construction, we need
to maximize the use of visual computing a series of advantages, from the visual point of
view to assist the study of the Earth.
We believe the effective use of visual computing in the field of digital earth; the main
concern should be the following aspects of technology: 1) GPU and its architecture; 2)
graphics API; 3) physical simulation based on GPU computing. GPU and graphics API are
the basis of visual computing hardware and application program design, physical
simulation are also able to provide a great help for visual computing. Below each of these
aspects are introduced.
2 GPU Architecture
Over the past two decades, the CPU (central processing unit) follows Moore's Law,
continually improve performance while lowering prices for high-performance computing.
However, since 2003, this trend has changed; the increasing frequency of CPU has brought
high power consumption and high heat, making CPU frequency stop at 4 GHz. Since then,
the performance of GPU, originally designed for the purpose of to speed up the game and
D. Qu, C. Cui and W. Liu
340
computer graphics, exceed the speed of Moore's Law. For the high floating-point operation
ability, GPU has been widely used in many high-performance computing areas. Figure 1
(left) is the CPU and GPU FLOPS (floating-point operations per second) comparison Chart.
The main reasons of the differences in data-processing capacity is that GPU put a high
percentage of transistors in arithmetic logic unit rather than control unit or memory unit.
GPU mainly concerns in the calculation and not care about how to access the memory.
Streaming programming model makes GPU become a good processor for running high
arithmetic intensity algorithms. Therefore GPU can handle a lot of data elements
concurrently. Generally speaking, problem can be divided into separate units could get
higher performance on GPU than CPU.
Compare to the current Quad-core CPU, nVidia G80 GPU has 16 Streaming
Multiprocessors (SM), each SM contains 8 32-bit Streaming Processors (SP) and 2 Special
Functional Unit (SFU) dedicated to the efficient implementation of the special functions
such as sin(), cos(). Figure 1 (right) is nVidia G80 GPU’s architecture.
G80 GPU
SM 16
.
.
.
Instruction Unit
SFU 1
SFU 2
SP 8
SP 2
SP 1
...
SM 2
SM 1

Fig. 1: CPU and GPU FLOPS Comparison (left); nVidia G80 GPU’s Architecture
(right)
3 New Graphics API
Upgrades of GPU often accompanied by upgrades of graphics APIs. OpenGL and Direct3D
are the two most important graphics API in Rasterization-based computer graphics field. In
the early GPU history, its pipeline was also designed by the OpenGL rendering pipeline.
However, since the year 2005 (Direct3D 9.0 released), OpenGL often lag behind the
Direct3D, a set of API designed by Microsoft. Until August 2008, OpenGL was formally
released version 3.0 specification. Despite this, OpenGL’s cross-platform characteristic is
still the outstanding characteristics of Direct3D second to none. Figure 2 is the graphics
API rendering pipeline history. We will Introduce Direct3D 10 and 11 version first, and
then the latest OpenGL 3.0.
New Computer Graphics Technologies for Digital Earth Visualization

341

Fig. 2: Graphics API rendering pipeline history, from Direct3D’s point of view.
OpenGL 2.x is similar to Direct3D 9; OpenGL 3.0 is similar to Direct3D 10.
3.1 Direct3D 10
Up until the release of Direct3D 10, graphics hardware only had the ability to manipulate
existing data on the GPU. Both the vertex and the pixel shader apply their program to data
that already exists in memory. However, this model does not permit the generation of new
data on the graphics processor. When objects are created dynamically in an application, it is
done by invoking the CPU.
Therefore, the Direct3D 10 pipeline features significant additions and changes to the prior
generation pipeline including a new programmable stage capable of generating additional
primitives and streaming primitive data to memory, an expanded, common feature set for
all of the programmable stages, generalizations to vertex and image memory resources, and
new storage formats. We believe the Geometry Shader is the most impotent new feature. It
takes the vertices of a single primitive (point, line segment, or triangle) as input and
generates the vertices of zero or more primitives. The input and output primitive types need
not match. For example, using Direct3D 10, terrain rendering part in digital earth
application usually use CPU resource for continuous LOD polygons update which has all
relied either on the CPU or multi-pass rendering can now be performed with much greater
efficiency on the GPU.
3.2 OpenGL 3.0
If create a cross-platform visual computing application is our purpose, OpenGL maybe the
only choice. OpenGL version 3.0, released on August, 2008, is the eighth revision since the
D. Qu, C. Cui and W. Liu
342
original version 1.0. OpenGL 3.0 includes almost all features of Direct3D 10. And the
biggest change comparing with original version is OpenGL 3.0 “Object” programming
model. Besides, OpenGL 3.0 introduces a deprecation model in which certain features may
be marked as deprecated.
3.3 Direct3D 11
Direct3D 11, will be released on 2009, is a strict superset of Direct3D 10, and Direct3D 11
will be available on Windows Vista and future Windows operating systems only.
Comparing with the Direct3D 10, Direct3D 11 increase the number of shaders, they are:
• Hull Shader, Tessellator and Domain Shader are composed to realize tessellation, the
real continuous LOD on GPU. Firstly, Hull Shader Operates per input primitive (patch,
for example); then computes control point transforms and tessellation factors per edge
of generated patches. Secondly, Tessellator, a fixed function unit, takes tessellation
factors provided by the Hull shader as input, and output domain points and their
connectivity. Finally, Domain Shader, operates on each point generated by the
tessellator, gets all control points as input and evaluate primitive surface to compute
position of points. By using this loop, Direct3D 11 can target almost any surface
algorithm such as Bezier, NURBs, dynamic and static tessellation, displacement,
subdivision and more. Therefore, Direct3D 11 could run faster simulations.
• Compute Shader, like a subset of CUDA (a C-like parallel computing interface
developed by nVidia), aim to integrate data-parallel programming within Direct3D.
4 Physical Simulation
Physical simulation is one of the most important ways to observe the Earth. In the past, we
designed a lot of methods on the gas and liquid flow simulation, electromagnetic fields and
wave propagation simulation programs on CPU, but the CPU computing performance is
relatively powerless in the large-scale scientific computing field. Currently, GPU
computing (developed from GPGPU) becomes the best alternate solution for these general,
not graphics, computing. By using hundreds of cores, GPU suits with fine-grained parallel
computing absolutely.
There are two main classes of differential equations: ordinary differential equations (ODEs)
and partial differential equations (PDEs). ODEs mainly do the simulation of the motion of
objects. Kipfer et al. presented a method for simulating particle systems on the GPU
including inter-particle collisions by using the GPU to quickly sort the particles to
determine colliding pairs. Krüger et al. presented a flow exploration system entirely on the
GPU. When solving PDEs, there are two methods: finite differences and finite element
methods (FEM). The earliest work on using GPUs to solve PDEs was done by Rumpf and
Strzodka. They applied the GPU to segmentation and non-linear diffusion in image
processing and used GPUs to solve finite element discretizations of PDEs like the
anisotropic heat equation. Recent work by Rumpf and Strzodka discusses the use of Finite
Element schemes for PDE solvers on GPU.
New Computer Graphics Technologies for Digital Earth Visualization

343
5 Conclusion and Outlook
In the design and implementation of comprehensive digital earth applications, visual
computing may be seen as the most vital aspects. In this field, GPU’s tremendous
computational capacity and rapid growth curve, far outstripping traditional CPU. We
believe these three new computer graphics technologies, GPU, graphics APIs, physical
simulation, could provide very good help for the digital earth visualization and analysis.
References
A
LLISON
, K. (2008), Introduction To The Direct3d 11 Graphics Pipeline. In Gamefest
2008.
C
HAS
, B. (2008), Direct3d 11 Compute Shader: More Generality for Advanced Techniques.
In Gamefest 2008.
D
AVID
, B. (2006), The Direct3d 10 System. ACM Transactions on Graphics, 25: 724-734.
G
REEN
, S. (2007), Gpu Physics. San Diego Ca: Siggraph.
H
IROSHIGE
, G. (2008), Graphics Api Rendering Pipeline History.
http://Pc.Watch.Impress.Co.Jp/Docs/2008/0804/Kaigai_04.pdf.
K
EVIN
, G. (2008), Direct3d 11 Tessellation. In Gamefest 2008.
K
IPFER
, P., S
EGAL
, M. & W
ESTERMANN
, R. (2004), Unberflow: A Gpu-Based Particle
Engine. In Graphics Hardware 2004: 115-122.
K
RÜGER
, J., K
IPFER
, P., K
ONDRATIEVA
, P. & W
ESTERMANN
, R. (2005), A Particle System
for Interactive Visualization of 3d Flows. IEEE Transactions on Visualization and
Computer Graphics.
M
ARK
, S. & K
URT
, A. (2008), The Opengl Graphics System: A Specification Version 3.0.
http://www.opengl.org.
R
UMPF
, M. & S
TRZODKA
, R. (2001), Level Set Segmentation in Graphics Hardware. In
Proceedings of the IEEE International Conference on Image Processing (Icip ’01), 3:
1103-1106.
R
UMPF
, M. & S
TRZODKA
, R. (2001), Nonlinear Diffusion. In Proceedings of EG/IEEE
TCVG Symposium on Visualization (Vissym ’01). Springer: 75-84.
R
UMPF
, M. & S
TRZODKA
, R. ( 2005), Graphics Processor Units: New Prospects for Parallel
Computing. In Numerical Solution of Partial Differential Equations on Parallel
Computers. Springer.