全 文 :!"#$%&
2011,24(4):541 544
ForestResearch
!"#$
:10011498(2011)04054104
k2
GPU
J)*?+5ëÚ,§öú
ú|û
,
üýþ
,
ÿ!"
(
(!"#$%&)ó;B¯%&*
,
56
100091)
ABCD
:20100926
EFGH
:
þÿIJK#%)*GH
(IFRIT200904)、
(+!",
948
fGH
(2008461)
PQRS
:
²ã
(1986—),
$
,
EY%&m
。
[\Â%!"ÚÑ2fg%&
。Email:oklcy@163.com.
/PQ:%&Z,EYm。%&]^i!N?AB¯_。Email:chenyf@caf.ac.cn
:;<
:
i!m²¼
;
1¢è
;
F ×
;GPU
=>?@$
:S771
!ABCD
:A
VisualSimulationofForestGrowthBasedonGPUandTerrainPaging
LIChangyin,CHENYongfu,ZHANGHuaiqing
(ResearchInstituteofForestResourceInformationTechniques,ChineseAcademyofForestry,Beijing 100091,China)
Abstract:AGPUbasedvisualizationmethodoflargeforestscenariossimulationwasproposedbyusingCglanguage
balancebetweenschedulingCPUandGPUload.Asceneroamingmethodbasedonprepartitionpagingalgorithms
efectivebalancedthesystemconsumption.Onthisbasis,thevisualsimulationofHuangfengqiaoForestFarma
chievedgoodresults.
Keywords:forestgrowthsimulation;visualization;scenepagingalgorithm;GPU
i!M4åJS
,
i!jT(Í
、
֌
Z
。
Fi!1¢è¼ù=@
,
@=
]¼æ
,
Z «§÷ÛS2ØÆPU
/=Qj
[1]。
vµ%FE½3-m²¼æi!
m²1¢è¼
,
o½\zx,¢+m²L
Ö×
,
Ìð\ÛF|º@=]¼æ
,
Ö×
U§÷ä
,CPU
Ö×]/=
。
,øi!@1
%/¥«mô@¡à»ê]½UÆP
,
éuE¼i!,ý?
[2]。
p
3D
@
êH]Õ,ø1MǽHbÊé1uÍp
,
Ì
wDÜFBQdºû
LOD[3-4],
j]c
ÛFÍp|Î
,
~wc9
CPU
nÝ
,
êHÛ
FH×
,
ÝF|¥Ï
GPU(GraphicsProcessing
Units[5],
ÒNA3>
)
%ÉUnÞØÆ|#
K
,
O
GPU
Ö×ó;
。
FMÛF]#
,
z½
=]Á\ÛFM@ÎD
,
,8Kêz
±=÷øÏÐøÈ
,
d\=]Ø?ó;
,
Ü
ê
CPU
äÎ
[6]。
MFfg1~/þ
c
CPU
äÎ
,
cØ?!É
,
p¼võ
Ì@u]ÈÛFvõ
[7-8]。
pMF ×
I=%z]MÎDLäF#
(page)
¦
,
#
page
PMÎDEm ×3B
,
F@T{
Eê
[9]。
\×Õ,øM0½M
F
,
mØî3@Ø(
,
z½ÅØ=]7i
!@U5
,
c¼ævvEêmØî3
。
ntz
GPU
v1pq,c®A
CPU
Ö׶©ä
GPU
ÛF]<
,
ÊÉ
GPU
1ÎÏ
vK
,
®gAÛF§÷Ö׶©ä
GPU
U
,
Ø
vM»
CPU
GPU
n
,
ÅØ=]7¼æ
i!m²@ÛFÄêÇß
。
z½i!1¢è
¼@ÛF
,
pqE½¢4úF@
××Õ
,
®@@c2@ô¢|«
Ͻ[ ×
。
ô,|1T{
、
1iüài
!|º1¢è@
。
!
"
#
$
%
& û
24
ü
1
ÔyÕÖ×ØÙÚÍÛÜ
1.1
k2
GPU
5)*-.
1.1.1 GPU
#$%&
F
GPU
bÛF¥Ï
4ÌÛF?@1~F,|J8,8æ
ô
,
0%ÛFé̼æ°QúT
,
Á\ØÒ
?s³
。
ÝFÒbs³ÛF?%,|
\O·¦¼¥Ï
[10]。
i!@¼æ/Í
,
éÌ
¼æßÛF?s³%÷øÛFvõ0\0
w
。
cÛF?s³PU÷ø
,
F
GPU
Û
FÇ\«zÁ\ÛFúL9Ð
。
9Ðá
Âh8Î(÷A
,
|?h§ÿÂ
gA
Alpha
µÐU9:
。
Å@9Ðí!
。
X|ÛFD(Z
ú~í
3
A
:
gAâÒ
,
U
,Alpha
。
Á
\ÛF@
4
|
:A、B、C、D。
ÃPúå
Ò
:
+-ú
A
gA
texture1
U
Light1
+-ú
B
gA
texture2
U
Light3
+-ú
C
gA
texture2
U
Light2
+-ú
D
gA
texture3
U
Light3
Ò
1 4
céÌú
}
:
gAØ
3
c
,
Ø
3
c
,Alpha
Ø
2
c
。
kUh8Î(Óvõ(¼÷ç
,
9ÐÛF
È^%
:CBDA。
Fi!@ÛFT
,
k
U~֍z
GPU
Á\ÛFúL9Ð
。
1.1.2
(M)*T7+}#$
§÷%ÛF,|
S2@0\
ôA
,
ÃP1~Û@
@p@ÄêS2Ø
,
Ìð1~Ý"ÉNÄþ
+z<ä5_
[11]。
i!@
,
o½+Js¬PÉ
,
|!j
«å±}Z
,
éÌ!ߧ÷å¬
K)/=
。
m+c
ô!» K·¦þ
,
!
·¦
,
! «~¯ª Tª [
,
!í§÷·¦®
。
§m+c
ô!» K
¬
,
!í§ã
,
å[\~Tª [
,
§÷
¦Ö
。
F
3D
@ÛF
,
2E§÷ÛF%,|
CPU
\O¦¼¥Ï
,GPU
Ò@×Ku1~
/þæôZ ÷Ö×
[12]。
mn
,
§÷¸É
gA§÷U2Ñ
,
É
Cg
ÌÍÎ!ß1ÏÐK
LÏÐULØÆ
,
gA§÷*ØÖ×1F
GPU
æô
,
*ÊÉ
GPU
oLK2ÑØÆêH
。
1.2
)*¼Ó/W
F@2@êT:[,|M·2@ê
§×Õ
,
z@+-
、
À(
、
¿äéÌ@k
\µ=ê
,
F|EýµL4ȧè
,
p¼@êÛFH×
。
z½3=]7¼æi!@ÛF
,
/i
èÕ%®@¼æM=ÛF
,
~u
/þAÛF ×
。
0%~zx,|PQ
,
Nú%F@T{TØTzqÑ@M
@qÑ8ÐPQ
。
!F@£N
,
¼æ.
NTÛFqU
,
ÝMðmØÛFqUEs
。
mn@ ××Õ#@M@
2@, ×
,
Fp¼X@ÛFH×Eý¨©
@2@MÛF8ÐPQ
。
Å@ÛFfgí
:
1.2.1
GX,>-./Î
MB¯?/F,Ü
16
B¼×Ò
(heightmap)
Jp
,
¼×Ò%,Üg
7¼×B¯ÒK
,
Ã1~g7
0 65535
¼×
¬ÈÉ
。
}²¶ÿ*\ÛFM²¶
。
FÛF-È^z¼×ÒLZ
,
~x½ÛF
LEê
。
X|®×ÒTZôÍ|
page,
x
|
page
P@+1
,
p¼võ
,
x|
page
=
2m+1(m>6),
x|
page
1~¦
4
|
tile,
F2´ÛF
tile
%Å@ÛF3B
。
¦
]ÕÒ
2。
1.2.2
01234)*#$>5X ã
2Ñ@T{
,
_Á\wDÜFBQK^
EêäéÌ
page
4È
page
2@
。
E½ÜFBQE@ê×Õí
:
a.
:,|F#ê/:
pageload
,|.ê
/:
pageloaded。
ox,|ê
page
:[,
|fÉÖÎ
nCount
oðfè
0。
b.
wDÜFBQdy-
page。
b1)ÌwDÜF(£å%#-BQ
H
D
F-
page
4Â
page
LÙÍ
,
·
¦NýF#N½ÜF1¢ÈÉßØ
。
®1¢È
ÉØF#ê¾
pageload
/:
,
ÌÉ2@ê§
ê4È2@
。
b2)wD DÙÍ pageloadedF#%ÚNF
1¢ÈÉØ
,
¼éF1¢ÈÉØçÂ
pageloaded
245
û4
D ²ãä
:
E½
GPU
@Fi!1¢è¼
Ò
2
MF×ÕÿtÒ
:ÊËF#Ífo?,!ÉØ?
,
æÊ4È
2@
。
c.
ê
pageload
/:F#
。
o®.êF
#ê¾ä
pageloaded
/:
。
d.
ÙÍ-F%Ús³
,
x,ç0Z~¥Ï
。
1.3
ö¤
i!@?F=]z<
,
åñMãi
!@
,
Á\4È@¼æ
。
[\~í
cé̼æ
:
Fi!¼iu3z-¼æØE½ÒF
E½Ò:¼]Õ
[13]。
}E½ÒF:¼
]Õ[\%ÊÉIÜy
(bilboard),
¥®+-
gAâFM#³¯ÍpUã+-
?
,
T{
,
Íp¶E~]^¢«4³¯?
。
c]ÕÅØ5ó;§1
,
0%o½gA
3,
,
®S2§÷
,
FÒHT®S2
[14]。
E½Ò3-¼æÁ\F:¼òÅw
D2´+-v:[|º¼æ
,
Fãi!@
T·¦7è
,
Åئ¼S2
。
Fi!@
,¸
ÉE½Ò:¼]Õ
。
x
c+:[
4
|ÚÛLé̼æ
:`
Û
,
Û!
,
ô
õÛ
,
¥õÛ
。
~Üê¼éÌÚÛ!S
2KÑË
。
x|¼æ:[
5
|éÌ
LOD(
j
87¼æ
)
~@FéÌHê
,
c"@ÛF
Ö×]
。
1.4
)*¿Â
@~
xml
]½
H
。xml
n®@
MF_Q=
、
M=
、
MÛF¼×Ò_
Q
、
MÛFgA;n
、
xz+¸Ð
,
\@9¿ä
BQÉ
xml
¥½_Qn?/
。
x½z@L
_Q
,
cÎ8Î
,
~Üê_é%K
。
2
ÝÞnoßàáâ
ɽ¼ÎD[\ØM÷!B¯¢
c
。
M÷ÎDɽÛFM45A
,
M
gÃ
、
9¿#Ç
、
:êää
。
!B¯[\ɽã
!v
。
2.1
GXQR
Çî9ë<
1:50000
Î"¼Ï¼æ
,
ɽÛ
FM
。
éÌ!cMgA
,
9¿#ÇgA
。
2.2
?0
Cá!@!4Ò
,
åF Cá!@
6
Ú´~MÎD
。
ÎD[\
:
!
g;
、
í-c、
Í×
、
K×
、
K^
。
xz++
c
、
ÚÛ
、
¸
、
+¼
、GPS(X、Y、Z)¸
ÐBQ
、
LG
J´
、
î5J´
。
AºÇî9ë< Cá& C
á!@
2006、2007、2008
Ú!4Ò
。
~e
3
Ú
´~MÎD
。
3
ãäåæ1ÝÞ45
_¸É
C++
ÌÍ
OGRE
ÛFfìF
Virtu
alStudio
÷íÎÏ2Ñ[@.9
,
É
Cg
ÌÍÎ!
Shader
MhËm
。
_zÇî9ë< Cá!@
Lm²1¢è¼
,
23÷
:PentiumIV305
GHz,2G
Ø?
NVIDIAFX570512M
®?®
,
mP
_
windowsXP。
X|!@@#$
7800
hm2,
ÒØÆv1ãä
35
ç
·s-1
Z[
。
F@
T{|F¥×{í
。
_1~z!@m²
¥ÏL¼
,
_¼@Ò
3
Ò
4:
Ò
3 15
Úm-!
345
!
"
#
$
%
& û
24
ü
Ò
4 20
Úm-!
çÛÛF|ÎH
1:
Z
1
·QRST
@+-
/
z
{»çõ
(FPS)
ÛF| ÛFJ8
10000 45.7 45000 15
500000 32.5 225000 81
2000000 27.9 340000 93
4
4
mnpq,cE½F ×fg!m²
1¢è]Õ
,^
]Õ®=MFfg!m²
¼fgºgU
,
2Ñ=ÈÉ!m²1¢
è¼
,
ÅØ,2Éó
。
F~à%&®
²±®i!N?
、
Â"nIê¾
,
o,âæ{i!
÷£:
。
ef!A
:
[1]
îïÜ
.
Úi!N?A_EÖ2Ñ
[J].
!"#$
,
2007,43(10):138-144
[2]
B
Ô
.
=¤¼|ºMðä@2ÛF
[J].
Ö×È
É
,2009,26(5):74-76
[3]
¥·ð
,
¥:
.
E½
LOD
=¤¼MÛFfg%&
[J].
,2007,52(3):90-92
[4]
Üð8
,
ñ
.
,cE½ß1gA
lod
MÛF×Õ
[J].
_§S$8
,2008,20(7):1758-1764
[5]ErikL,KilgardMJ,HenryM.AUserProgrammableVertexEngine
ProceedingsoftheComputerGraphics[C].ProceedingsofSIG
GRAPH2001,AnnualConferenceSeries,ACM SIGGRAPH,Los
Angeles,F,2001
[6]
¼
÷
,
tva
,
À
Ô
,
ä
.
E½ê?=¤¼Ú÷i
T{
[J].
_§S$8
,2006,18(10):2988-2991
[7]
!²o
,
ÿ,w
,
6
,
ä
.
,c¤=¤¼M@2Û
F×Õ
[J].
ÖקS
,2009(11):224-277
[8]
ía
,`
rò
,
Ü|>
,
ä
.
E½Ú=¤¼M2ÛF
]Õ
[J].¨
Ì=$$8
:
ò$Ù
,2007,41(12):2002-2006
[9]
ó
,
¥ñ
,
wô
.Pc
{·í]MF ×2
ÛF
[J].
Ö×ÈÉ%&
,2009,26(9):3575-3577
[10]
ÏÒÒ
,
¥
õ
,
¥
,
ä
.
E½
gpu
=¤¼M@2
ÛF
[J].
ê=$$8
:
ò#Ù
,2008,28(3):1-5
[11]ErikL.EfectofShadowQualityonthePerceptionofSpatialRela
tionshipsinComputerGeneratedImagery[J].ComputerGraphics,
1992,25(2):39-42
[12]
À
,
}Ê
,
³·¹
,
ä
.GPU
FZ@§÷ØÆ
ÈÉ
[J].
Ö×òÏ
,2006,32(2):220-222
[13]
Ü
l
,
ÜD:
,
¥èD
.
Úi!÷£:%&
[J].
!"
#$%&
,2008,21(
Ü
):55-59
[14]
ñ4L
,
i
l
,
á>m
,
ä
.
Ú+-m²:¼e1¢è%
&ïK
[J].
!"#$
,2006,11:123-131
(`
nuû
454
F
RefertoP454)
445