1143 lines
32 KiB
XML
1143 lines
32 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
|
|
-->
|
|
|
|
<!-- Pages: 1 -->
|
|
|
|
<svg
|
|
width="486.22702pt"
|
|
height="498.73364pt"
|
|
viewBox="0 0 486.22703 498.73364"
|
|
version="1.1"
|
|
id="svg42"
|
|
sodipodi:docname="complete_particle_data_flow.svg"
|
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
xmlns:svg="http://www.w3.org/2000/svg">
|
|
<defs
|
|
id="defs42" />
|
|
<sodipodi:namedview
|
|
id="namedview42"
|
|
pagecolor="#ffffff"
|
|
bordercolor="#666666"
|
|
borderopacity="1.0"
|
|
inkscape:showpageshadow="2"
|
|
inkscape:pageopacity="0.0"
|
|
inkscape:pagecheckerboard="0"
|
|
inkscape:deskcolor="#d1d1d1"
|
|
inkscape:document-units="pt"
|
|
inkscape:zoom="1.5461539"
|
|
inkscape:cx="317.56218"
|
|
inkscape:cy="192.08955"
|
|
inkscape:window-width="2048"
|
|
inkscape:window-height="1124"
|
|
inkscape:window-x="0"
|
|
inkscape:window-y="0"
|
|
inkscape:window-maximized="1"
|
|
inkscape:current-layer="svg42" />
|
|
<polygon
|
|
fill="#ffffff"
|
|
stroke="none"
|
|
points="486,4 -4,4 -4,-450.75 486,-450.75 "
|
|
id="polygon1"
|
|
transform="matrix(0.99230004,0,0,1.0967205,4.6551993,493.66077)" />
|
|
<text
|
|
text-anchor="start"
|
|
x="160.73975"
|
|
y="97.745468"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text18-9-3"
|
|
style="font-size:10px;line-height:0;fill:#ff21e0;fill-opacity:1"><tspan
|
|
sodipodi:role="line"
|
|
x="160.73975"
|
|
y="97.745468"
|
|
style="font-size:8px;line-height:1;text-align:center;text-anchor:middle;fill:#ff21e0;fill-opacity:1"
|
|
id="tspan8">multiple</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="160.73975"
|
|
y="105.74547"
|
|
style="font-size:8px;line-height:1;text-align:center;text-anchor:middle;fill:#ff21e0;fill-opacity:1"
|
|
id="tspan9">texture</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="160.73975"
|
|
y="113.74547"
|
|
style="font-size:8px;line-height:1;text-align:center;text-anchor:middle;fill:#ff21e0;fill-opacity:1"
|
|
id="tspan7">samples</tspan></text>
|
|
<text
|
|
text-anchor="start"
|
|
x="318.63095"
|
|
y="91.171333"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text18-9-3-5"
|
|
style="font-size:10px;line-height:0"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan44-6-3"
|
|
x="318.63095"
|
|
y="91.171333"
|
|
style="line-height:1.25;text-align:center;text-anchor:middle" /><tspan
|
|
sodipodi:role="line"
|
|
x="318.63095"
|
|
y="100.86983"
|
|
style="font-size:8px;line-height:1;text-align:center;text-anchor:middle;fill:#ff00db;fill-opacity:1"
|
|
id="tspan2-6">multiple</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="318.63095"
|
|
y="108.86983"
|
|
style="font-size:8px;line-height:1;text-align:center;text-anchor:middle;fill:#ff00db;fill-opacity:1"
|
|
id="tspan3">render</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="318.63095"
|
|
y="116.86983"
|
|
style="font-size:8px;line-height:1;text-align:center;text-anchor:middle;fill:#ff00db;fill-opacity:1"
|
|
id="tspan4">targets</tspan></text>
|
|
<g
|
|
id="node1-6"
|
|
class="node"
|
|
transform="translate(8.4872132,434.08743)">
|
|
<title
|
|
id="title1">read</title>
|
|
<text
|
|
text-anchor="start"
|
|
x="71.853073"
|
|
y="-419.13019"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-weight="bold"
|
|
font-size="14px"
|
|
id="text1"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan50"
|
|
x="71.853073"
|
|
y="-419.13019"
|
|
style="text-align:center;text-anchor:middle">read buffer</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="71.853073"
|
|
y="-401.63019"
|
|
id="tspan52"
|
|
style="font-size:10px;text-align:center;text-anchor:middle">(texture samples)</tspan></text>
|
|
</g>
|
|
<g
|
|
id="node3-7"
|
|
class="node"
|
|
transform="translate(8.4872132,434.08743)">
|
|
<title
|
|
id="title2-5">shader</title>
|
|
<text
|
|
text-anchor="start"
|
|
x="177.18303"
|
|
y="-410.23785"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-weight="bold"
|
|
font-size="14px"
|
|
id="text2-3">fragment shader</text>
|
|
</g>
|
|
<g
|
|
id="g123"
|
|
transform="translate(-13.376982)">
|
|
<g
|
|
id="g121">
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="17.11,-367 107.36,-367 107.36,-315.5 17.11,-315.5 "
|
|
id="polygon3"
|
|
transform="translate(26.480262,410.99434)" />
|
|
<text
|
|
text-anchor="start"
|
|
x="87.655197"
|
|
y="66.28199"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text3-5"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan42"
|
|
x="87.655197"
|
|
y="66.28199"
|
|
style="text-align:center;text-anchor:middle">particle state</tspan><tspan
|
|
sodipodi:role="line"
|
|
id="tspan43"
|
|
x="87.655197"
|
|
y="83.78199"
|
|
style="font-size:10px;text-align:center;text-anchor:middle">(position, age)</tspan></text>
|
|
</g>
|
|
<polygon
|
|
fill="#76ee00"
|
|
stroke="none"
|
|
points="107.36,-367 124.86,-367 124.86,-341.25 107.36,-341.25 "
|
|
id="polygon4"
|
|
transform="translate(26.480262,410.99434)" />
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="107.36,-367 124.86,-367 124.86,-341.25 107.36,-341.25 "
|
|
id="polygon5"
|
|
transform="translate(26.480262,410.99434)" />
|
|
<text
|
|
text-anchor="start"
|
|
x="138.84026"
|
|
y="62.294323"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text5">a</text>
|
|
<polygon
|
|
fill="#c1cdcd"
|
|
stroke="none"
|
|
points="107.36,-341.25 124.86,-341.25 124.86,-315.5 107.36,-315.5 "
|
|
id="polygon6"
|
|
transform="translate(26.480262,410.99434)" />
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="107.36,-341.25 124.86,-341.25 124.86,-315.5 107.36,-315.5 "
|
|
id="polygon7"
|
|
transform="translate(26.480262,410.99434)" />
|
|
<text
|
|
text-anchor="start"
|
|
x="138.84026"
|
|
y="88.044327"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text7">b</text>
|
|
</g>
|
|
<g
|
|
id="node2-6"
|
|
class="node"
|
|
transform="translate(8.4872132,429.40726)">
|
|
<title
|
|
id="title7">write</title>
|
|
<text
|
|
text-anchor="start"
|
|
x="389.26624"
|
|
y="-414.45001"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-weight="bold"
|
|
font-size="14px"
|
|
id="text8"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan53"
|
|
x="389.26624"
|
|
y="-414.45001"
|
|
style="text-align:center;text-anchor:middle">write buffer</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="389.26624"
|
|
y="-396.95001"
|
|
id="tspan55"
|
|
style="font-size:10px;text-align:center;text-anchor:middle">(render targets)</tspan></text>
|
|
</g>
|
|
<g
|
|
id="g125"
|
|
transform="translate(-13.376982)">
|
|
<polygon
|
|
fill="#c1cdcd"
|
|
stroke="none"
|
|
points="327.98,-367 345.48,-367 345.48,-341.25 327.98,-341.25 "
|
|
id="polygon8"
|
|
transform="translate(26.480262,410.99434)" />
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="327.98,-367 345.48,-367 345.48,-341.25 327.98,-341.25 "
|
|
id="polygon9"
|
|
transform="translate(26.480262,410.99434)" />
|
|
<text
|
|
text-anchor="start"
|
|
x="359.46024"
|
|
y="62.294323"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text9-2">a</text>
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="345.48,-367 431.98,-367 431.98,-315.5 345.48,-315.5 "
|
|
id="polygon10"
|
|
transform="translate(26.480262,410.99434)" />
|
|
<text
|
|
text-anchor="start"
|
|
x="416.02518"
|
|
y="66.28199"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text10"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan48"
|
|
x="416.02518"
|
|
y="66.28199"
|
|
style="text-align:center;text-anchor:middle">particle state</tspan><tspan
|
|
sodipodi:role="line"
|
|
id="tspan49"
|
|
x="416.02518"
|
|
y="83.78199"
|
|
style="font-size:10px;text-align:center;text-anchor:middle">(position, age)</tspan></text>
|
|
<polygon
|
|
fill="#76ee00"
|
|
stroke="none"
|
|
points="327.98,-341.25 345.48,-341.25 345.48,-315.5 327.98,-315.5 "
|
|
id="polygon11"
|
|
transform="translate(26.480262,410.99434)" />
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="327.98,-341.25 345.48,-341.25 345.48,-315.5 327.98,-315.5 "
|
|
id="polygon12"
|
|
transform="translate(26.480262,410.99434)" />
|
|
<text
|
|
text-anchor="start"
|
|
x="359.46024"
|
|
y="88.044327"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text12">b</text>
|
|
</g>
|
|
<g
|
|
id="g122"
|
|
transform="translate(-13.376982)">
|
|
<g
|
|
id="g120">
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="107.36,-271.5 107.36,-220 17.11,-220 17.11,-271.5 "
|
|
id="polygon18"
|
|
transform="translate(26.480262,381.04125)" />
|
|
<text
|
|
text-anchor="start"
|
|
x="87.655197"
|
|
y="131.8289"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text18-9"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan44"
|
|
x="87.655197"
|
|
y="131.8289"
|
|
style="text-align:center;text-anchor:middle">particle state</tspan><tspan
|
|
sodipodi:role="line"
|
|
id="tspan45"
|
|
x="87.655197"
|
|
y="149.3289"
|
|
style="font-size:10px;text-align:center;text-anchor:middle">(velocity, random)</tspan></text>
|
|
</g>
|
|
<polygon
|
|
fill="#c1cdcd"
|
|
stroke="none"
|
|
points="124.86,-271.5 124.86,-245.75 107.36,-245.75 107.36,-271.5 "
|
|
id="polygon19-1"
|
|
style="fill:#76ee00;fill-opacity:1"
|
|
transform="translate(26.480262,381.04125)" />
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="124.86,-271.5 124.86,-245.75 107.36,-245.75 107.36,-271.5 "
|
|
id="polygon20-2"
|
|
transform="translate(26.480262,381.04125)" />
|
|
<text
|
|
text-anchor="start"
|
|
x="138.84026"
|
|
y="127.84126"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text20">a</text>
|
|
<polygon
|
|
fill="#76ee00"
|
|
stroke="none"
|
|
points="124.86,-245.75 124.86,-220 107.36,-220 107.36,-245.75 "
|
|
id="polygon21-7"
|
|
style="fill:#c1cdcd;fill-opacity:1"
|
|
transform="translate(26.480262,381.04125)" />
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="124.86,-245.75 124.86,-220 107.36,-220 107.36,-245.75 "
|
|
id="polygon22-0"
|
|
transform="translate(26.480262,381.04125)" />
|
|
<text
|
|
text-anchor="start"
|
|
x="138.84026"
|
|
y="153.59126"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text22">b</text>
|
|
</g>
|
|
<g
|
|
id="edge9-9"
|
|
class="edge"
|
|
transform="translate(13.10328,410.99433)">
|
|
<title
|
|
id="title22">particle_stateA:src->simulationA:w</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
d="m 125.86,-354.12 c 15.28,0 30.34764,18.67423 41.09764,22.16423"
|
|
id="path22"
|
|
sodipodi:nodetypes="cc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="157.56,-346.42 166.93,-341.47 156.52,-339.49 "
|
|
id="polygon23-3"
|
|
transform="rotate(34.394355,144.22934,-321.43324)" />
|
|
</g>
|
|
<g
|
|
id="g124"
|
|
transform="translate(-13.376982)">
|
|
<polygon
|
|
fill="#c1cdcd"
|
|
stroke="none"
|
|
points="345.48,-271.5 345.48,-245.75 327.98,-245.75 327.98,-271.5 "
|
|
id="polygon25-6"
|
|
transform="translate(26.480262,381.04125)" />
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="345.48,-271.5 345.48,-245.75 327.98,-245.75 327.98,-271.5 "
|
|
id="polygon26-0"
|
|
transform="translate(26.480262,381.04125)" />
|
|
<text
|
|
text-anchor="start"
|
|
x="359.46024"
|
|
y="127.84126"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text26-6">a</text>
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="431.98,-271.5 431.98,-220 345.48,-220 345.48,-271.5 "
|
|
id="polygon27-2"
|
|
transform="translate(26.480262,381.04125)" />
|
|
<text
|
|
text-anchor="start"
|
|
x="416.02518"
|
|
y="131.8289"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text27-6"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan46"
|
|
x="416.02518"
|
|
y="131.8289"
|
|
style="text-align:center;text-anchor:middle">particle state</tspan><tspan
|
|
sodipodi:role="line"
|
|
id="tspan47"
|
|
x="416.02518"
|
|
y="149.3289"
|
|
style="font-size:10px;text-align:center;text-anchor:middle">(velocity, random)</tspan></text>
|
|
<polygon
|
|
fill="#76ee00"
|
|
stroke="none"
|
|
points="345.48,-245.75 345.48,-220 327.98,-220 327.98,-245.75 "
|
|
id="polygon28-1"
|
|
transform="translate(26.480262,381.04125)" />
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="345.48,-245.75 345.48,-220 327.98,-220 327.98,-245.75 "
|
|
id="polygon29-8"
|
|
transform="translate(26.480262,381.04125)" />
|
|
<text
|
|
text-anchor="start"
|
|
x="359.46024"
|
|
y="153.59126"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text29-7">b</text>
|
|
</g>
|
|
<g
|
|
id="node18-9"
|
|
class="node"
|
|
transform="translate(12.63526,348.74806)">
|
|
<title
|
|
id="title29-2">simulationB</title>
|
|
<ellipse
|
|
fill="none"
|
|
stroke="#000000"
|
|
cx="225.98"
|
|
cy="-245.75"
|
|
rx="57.549999"
|
|
ry="33.444565"
|
|
id="ellipse29" />
|
|
<text
|
|
text-anchor="middle"
|
|
x="225.96294"
|
|
y="-266.20654"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text30-0"
|
|
style="line-height:0"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan59"
|
|
x="225.96294"
|
|
y="-266.20654"
|
|
style="line-height:1.25">particle</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="225.96294"
|
|
y="-248.70654"
|
|
id="tspan60"
|
|
style="line-height:1.25">simulation</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="225.96294"
|
|
y="-237.61107"
|
|
style="font-size:8px;line-height:1"
|
|
id="tspan102">(given the previous</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="225.96294"
|
|
y="-229.61107"
|
|
style="font-size:8px;line-height:1"
|
|
id="tspan107">particle state, calculate</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="225.96294"
|
|
y="-221.61107"
|
|
style="font-size:8px;line-height:1"
|
|
id="tspan106">next particle state)</tspan></text>
|
|
</g>
|
|
<g
|
|
id="edge11-2"
|
|
class="edge"
|
|
transform="translate(13.10328,410.99433)">
|
|
<title
|
|
id="title30-3">particle_stateC:src->simulationB:w</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
d="m 124.86,-288.57809 c 15.28,0 30.65,4.73266 41.4,1.24266"
|
|
id="path30"
|
|
sodipodi:nodetypes="cc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="166.93,-245.53 157.56,-240.58 156.52,-247.51 "
|
|
id="polygon30-7"
|
|
transform="translate(9.2200015,-43.290434)" />
|
|
</g>
|
|
<g
|
|
id="edge10-5"
|
|
class="edge"
|
|
transform="translate(13.10328,410.99433)">
|
|
<title
|
|
id="title40-9">simulationA:e->particle_stateB:dst</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
d="m 279.77796,-319.13241 c 15.74,0 24.86204,-14.25759 36.06204,-10.81759"
|
|
id="path40-2"
|
|
sodipodi:nodetypes="cc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="316.07,-333.46 325.48,-328.59 315.09,-326.53 "
|
|
id="polygon40-2" />
|
|
</g>
|
|
<g
|
|
id="edge12"
|
|
class="edge"
|
|
transform="translate(13.10328,410.99433)">
|
|
<title
|
|
id="title42-8">simulationB:e->particle_stateD:dst</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
d="m 277.22486,-293.32 c 15.74,0 27.78307,27.05096 38.98307,30.49096"
|
|
id="path42-9"
|
|
sodipodi:nodetypes="cc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="316.07,-237.96 325.48,-233.09 315.09,-231.03 "
|
|
id="polygon42-7"
|
|
transform="translate(0.6279318,-28.33404)" />
|
|
</g>
|
|
<g
|
|
id="node4"
|
|
class="node"
|
|
transform="translate(-9.3769971,494.86934)">
|
|
<title
|
|
id="title14">clear_input</title>
|
|
</g>
|
|
<g
|
|
id="node5"
|
|
class="node"
|
|
transform="translate(-9.3769971,494.86934)">
|
|
<title
|
|
id="title15">clear_plane</title>
|
|
</g>
|
|
<ellipse
|
|
fill="none"
|
|
stroke="#000000"
|
|
cx="238.61525"
|
|
cy="309.20462"
|
|
rx="54"
|
|
ry="19.83"
|
|
id="ellipse16" />
|
|
<text
|
|
text-anchor="middle"
|
|
x="239.34286"
|
|
y="305.96072"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text16"
|
|
style="line-height:0"><tspan
|
|
style="line-height:1.25"
|
|
sodipodi:role="line"
|
|
id="tspan113"
|
|
x="239.34286"
|
|
y="305.96072">clear</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="239.34286"
|
|
y="317.05618"
|
|
id="tspan111"
|
|
style="font-size:8px;line-height:1">(draw background color)</tspan></text>
|
|
<text
|
|
text-anchor="middle"
|
|
x="239.71405"
|
|
y="379.90103"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text16-1"
|
|
style="line-height:0"><tspan
|
|
style="line-height:1.25"
|
|
sodipodi:role="line"
|
|
id="tspan113-9"
|
|
x="239.71405"
|
|
y="379.90103">plane</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="239.71405"
|
|
y="390.99649"
|
|
style="font-size:8px;line-height:1"
|
|
id="tspan115">(draw the "floor")</tspan></text>
|
|
<text
|
|
text-anchor="middle"
|
|
x="239.54057"
|
|
y="457.89908"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text16-1-7"
|
|
style="line-height:0"><tspan
|
|
style="line-height:1.25"
|
|
sodipodi:role="line"
|
|
id="tspan113-9-8"
|
|
x="239.54057"
|
|
y="457.89908">particle</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="239.54057"
|
|
y="468.99454"
|
|
style="font-size:8px;line-height:1"
|
|
id="tspan115-4">(draw each particle</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="239.54057"
|
|
y="476.99454"
|
|
style="font-size:8px;line-height:1"
|
|
id="tspan116">as textured quads)</tspan></text>
|
|
<g
|
|
id="node17"
|
|
class="node"
|
|
transform="translate(8.6152552,487.20461)">
|
|
<title
|
|
id="title18">plane</title>
|
|
<ellipse
|
|
fill="none"
|
|
stroke="#000000"
|
|
cx="230"
|
|
cy="-106"
|
|
rx="54"
|
|
ry="18"
|
|
id="ellipse18" />
|
|
</g>
|
|
<g
|
|
id="g119"
|
|
transform="translate(-15.903958)">
|
|
<text
|
|
text-anchor="start"
|
|
x="91.059792"
|
|
y="222.31798"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text10-3"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan48-6"
|
|
x="91.059792"
|
|
y="222.31798"
|
|
style="text-align:center;text-anchor:middle">particle state</tspan><tspan
|
|
sodipodi:role="line"
|
|
id="tspan49-1"
|
|
x="91.059792"
|
|
y="239.81798"
|
|
style="font-size:10px;text-align:center;text-anchor:middle">(position, age)</tspan></text>
|
|
<g
|
|
id="node8"
|
|
class="node"
|
|
transform="translate(21.992238,487.20462)">
|
|
<title
|
|
id="title19">particle_stateC</title>
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="24.12,-287.5 114.38,-287.5 114.38,-236 24.12,-236 "
|
|
id="polygon19" />
|
|
<polygon
|
|
fill="#c1cdcd"
|
|
stroke="none"
|
|
points="114.38,-287.5 131.88,-287.5 131.88,-261.75 114.38,-261.75 "
|
|
id="polygon20" />
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="114.38,-287.5 131.88,-287.5 131.88,-261.75 114.38,-261.75 "
|
|
id="polygon21" />
|
|
<text
|
|
text-anchor="start"
|
|
x="119.38"
|
|
y="-269.20001"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text21">a</text>
|
|
<polygon
|
|
fill="#76ee00"
|
|
stroke="none"
|
|
points="114.38,-261.75 131.88,-261.75 131.88,-236 114.38,-236 "
|
|
id="polygon22" />
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="114.38,-261.75 131.88,-261.75 131.88,-236 114.38,-236 "
|
|
id="polygon23" />
|
|
<text
|
|
text-anchor="start"
|
|
x="119.38"
|
|
y="-243.45"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text23">b</text>
|
|
</g>
|
|
</g>
|
|
<g
|
|
id="edge7"
|
|
class="edge"
|
|
transform="translate(-9.3769971,494.86934)">
|
|
<title
|
|
id="title24">particle_stateB:e->particle_stateC:w</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
stroke-dasharray="1, 5"
|
|
d="m 454.46028,-425.12501 c 13.23,0 42.47672,40.02567 17.72168,93.50902 -20.52554,51.71992 -365.74672,-18.94877 -447.653695,22.80727 -4.392322,4.62263 -15.7380698,13.10364 -6.551858,29.12677 1.981996,3.45711 3.497742,9.04922 9.688236,10.05489"
|
|
id="path24"
|
|
sodipodi:nodetypes="cccsc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="4.63,-267.53 9.63,-272.43 14.12,-262.83 "
|
|
id="polygon25"
|
|
transform="rotate(-43.529957,17.839311,-295.51924)" />
|
|
</g>
|
|
<g
|
|
id="g126"
|
|
transform="translate(-2.9089578)">
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="428,-243.75 428,-279.75 320,-279.75 320,-243.75 "
|
|
id="polygon26"
|
|
transform="translate(21.992238,487.20462)" />
|
|
<text
|
|
text-anchor="middle"
|
|
x="396.96237"
|
|
y="224.57864"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text26"
|
|
style="line-height:0"><tspan
|
|
style="line-height:1"
|
|
sodipodi:role="line"
|
|
id="tspan96"
|
|
x="396.96237"
|
|
y="224.57864">vertex buffer</tspan><tspan
|
|
sodipodi:role="line"
|
|
id="tspan78"
|
|
x="396.96237"
|
|
y="236.72563"
|
|
style="font-size:10px;line-height:1.25">(position)</tspan></text>
|
|
</g>
|
|
<g
|
|
id="g118"
|
|
transform="translate(-23.903958)">
|
|
<g
|
|
id="node13"
|
|
class="node"
|
|
transform="translate(21.992238,497.20462)">
|
|
<title
|
|
id="title17">vertex_bufferB</title>
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="32,-16 140,-16 140,-52 32,-52 "
|
|
id="polygon17" />
|
|
</g>
|
|
<text
|
|
text-anchor="middle"
|
|
x="108.44509"
|
|
y="462.16501"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text26-2"
|
|
style="line-height:0"><tspan
|
|
style="line-height:1"
|
|
sodipodi:role="line"
|
|
id="tspan96-9"
|
|
x="108.44509"
|
|
y="462.16501">vertex buffer</tspan><tspan
|
|
sodipodi:role="line"
|
|
id="tspan78-3"
|
|
x="108.44509"
|
|
y="474.31198"
|
|
style="font-size:10px;line-height:1.25">(position)</tspan></text>
|
|
</g>
|
|
<g
|
|
id="node15"
|
|
class="node"
|
|
transform="translate(8.6152552,487.20461)">
|
|
<title
|
|
id="title26">quad</title>
|
|
<ellipse
|
|
fill="none"
|
|
stroke="#000000"
|
|
cx="230"
|
|
cy="-261.75"
|
|
rx="54"
|
|
ry="30.13273"
|
|
id="ellipse26" />
|
|
<text
|
|
text-anchor="middle"
|
|
x="230.97015"
|
|
y="-267.93054"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text27"
|
|
style="line-height:0"><tspan
|
|
style="line-height:1.5"
|
|
sodipodi:role="line"
|
|
id="tspan76"
|
|
x="230.97015"
|
|
y="-267.93054">quad</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="230.97015"
|
|
y="-255.08507"
|
|
id="tspan57"
|
|
style="font-size:8px;line-height:1">(4x duplicate particle</tspan><tspan
|
|
sodipodi:role="line"
|
|
x="230.97015"
|
|
y="-247.08507"
|
|
id="tspan58"
|
|
style="font-size:8px;line-height:1">position coordinates)</tspan></text>
|
|
</g>
|
|
<g
|
|
id="edge14"
|
|
class="edge"
|
|
transform="translate(8.6152562,487.20461)">
|
|
<title
|
|
id="title27">particle_stateC:src->quad:w</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
d="m 129.35302,-248.875 c 15.47,0 24.36698,-7.705 35.25698,-11.195"
|
|
id="path27"
|
|
sodipodi:nodetypes="cc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="174.5,-261.53 165.12,-256.6 164.1,-263.53 "
|
|
id="polygon27" />
|
|
</g>
|
|
<g
|
|
id="g127"
|
|
transform="translate(-2.9089578)">
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="428,-160 428,-196 320,-196 320,-160 "
|
|
id="polygon28"
|
|
transform="translate(21.992238,487.20462)" />
|
|
<text
|
|
text-anchor="middle"
|
|
x="396.45633"
|
|
y="306.87341"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text28"
|
|
style="line-height:0"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan117"
|
|
x="396.45633"
|
|
y="306.87341"
|
|
style="line-height:1.25">color buffer</tspan><tspan
|
|
sodipodi:role="line"
|
|
id="tspan118"
|
|
x="396.45633"
|
|
y="319.52039"
|
|
style="font-size:10px;line-height:1">(r,g,b,a)</tspan></text>
|
|
</g>
|
|
<g
|
|
id="g128"
|
|
transform="translate(-2.9089578)">
|
|
<text
|
|
text-anchor="middle"
|
|
x="396.45633"
|
|
y="379.80307"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text28-5"
|
|
style="line-height:0"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan117-0"
|
|
x="396.45633"
|
|
y="379.80307"
|
|
style="line-height:1.25">color buffer</tspan><tspan
|
|
sodipodi:role="line"
|
|
id="tspan118-3"
|
|
x="396.45633"
|
|
y="392.45004"
|
|
style="font-size:10px;line-height:1">(r,g,b,a)</tspan></text>
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="428,-88 428,-124 320,-124 320,-88 "
|
|
id="polygon29"
|
|
transform="translate(21.992238,487.20462)" />
|
|
</g>
|
|
<g
|
|
id="g129"
|
|
transform="translate(-2.9089578)">
|
|
<text
|
|
text-anchor="middle"
|
|
x="396.45633"
|
|
y="462.0083"
|
|
font-family="Helvetica, Arial, sans-serif"
|
|
font-size="14px"
|
|
id="text28-6"
|
|
style="line-height:0"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan117-1"
|
|
x="396.45633"
|
|
y="462.0083"
|
|
style="line-height:1.25">color buffer</tspan><tspan
|
|
sodipodi:role="line"
|
|
id="tspan118-0"
|
|
x="396.45633"
|
|
y="474.65527"
|
|
style="font-size:10px;line-height:1">(r,g,b,a)</tspan></text>
|
|
<polygon
|
|
fill="none"
|
|
stroke="#000000"
|
|
points="428,-52 320,-52 320,-16 428,-16 "
|
|
id="polygon30"
|
|
transform="translate(21.992238,497.20462)" />
|
|
</g>
|
|
<g
|
|
id="edge6"
|
|
class="edge"
|
|
transform="translate(8.6152562,487.20461)">
|
|
<title
|
|
id="title31">vertex_bufferA:e->vertex_bufferB:w</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
stroke-dasharray="1, 5"
|
|
d="m 438.46802,-261.75 c 57.24,0 43.41198,134.61 7.53198,173.75 -62.41,68.07 -369.83265,-30.18873 -434.44565,11.7683 -23.428876,15.821004 -18.553918,51.893143 -1.40362,51.006352"
|
|
id="path31"
|
|
sodipodi:nodetypes="cccc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="30.54,-35.44 24.17,-43.91 30.84,-46.03 "
|
|
id="polygon31"
|
|
transform="rotate(-56.06648,37.369052,-18.801172)" />
|
|
</g>
|
|
<g
|
|
id="node18"
|
|
class="node"
|
|
transform="translate(8.6152552,497.20461)">
|
|
<title
|
|
id="title32">particle</title>
|
|
<ellipse
|
|
fill="none"
|
|
stroke="#000000"
|
|
cx="230"
|
|
cy="-34"
|
|
rx="54"
|
|
ry="29.620001"
|
|
id="ellipse32" />
|
|
</g>
|
|
<g
|
|
id="edge20"
|
|
class="edge"
|
|
transform="translate(8.6152562,497.20461)">
|
|
<title
|
|
id="title33">vertex_bufferB->particle</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
d="M 129.47302,-34 H 164.34"
|
|
id="path33"
|
|
sodipodi:nodetypes="cc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="164.16,-30.5 164.16,-37.5 174.16,-34 "
|
|
id="polygon33" />
|
|
</g>
|
|
<g
|
|
id="edge8"
|
|
class="edge"
|
|
transform="translate(-9.3769971,494.86934)">
|
|
<title
|
|
id="title35">simulation->quad</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
stroke-dasharray="5, 2"
|
|
d="m 247.99225,-358.42672 v 46.87427"
|
|
id="path35"
|
|
sodipodi:nodetypes="cc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="226.5,-291.62 233.5,-291.62 230,-281.62 "
|
|
id="polygon35"
|
|
transform="translate(17.89179,-19.932446)" />
|
|
</g>
|
|
<g
|
|
id="edge15"
|
|
class="edge"
|
|
transform="translate(19.128019,487.37611)">
|
|
<title
|
|
id="title36">quad->vertex_bufferA</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
d="M 273.48714,-261.86569 308.34,-261.75"
|
|
id="path36"
|
|
sodipodi:nodetypes="cc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="308.16,-265.25 318.16,-261.75 308.16,-258.25 "
|
|
id="polygon36" />
|
|
</g>
|
|
<g
|
|
id="edge9"
|
|
class="edge"
|
|
transform="translate(8.6152512,487.20461)">
|
|
<title
|
|
id="title37">quad->clear</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
stroke-dasharray="5, 2"
|
|
d="m 230,-231.61727 0.24254,22.08951"
|
|
id="path37"
|
|
sodipodi:nodetypes="cc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="233.5,-207.83 230,-197.83 226.5,-207.83 "
|
|
id="polygon37"
|
|
transform="translate(0.24253731,-1.6977611)" />
|
|
</g>
|
|
<g
|
|
id="edge17"
|
|
class="edge"
|
|
transform="translate(19.128019,487.37611)">
|
|
<title
|
|
id="title38">clear->colorbufferA</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
d="M 273.48723,-178.1715 308.34,-178"
|
|
id="path38"
|
|
sodipodi:nodetypes="cc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="308.16,-181.5 318.16,-178 308.16,-174.5 "
|
|
id="polygon38" />
|
|
</g>
|
|
<g
|
|
id="edge10"
|
|
class="edge"
|
|
transform="translate(8.6152562,487.20461)">
|
|
<title
|
|
id="title39">clear->plane</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
stroke-dasharray="5, 2"
|
|
d="m 230,-158.17 v 22.63"
|
|
id="path39"
|
|
sodipodi:nodetypes="cc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="230,-125.62 226.5,-135.62 233.5,-135.62 "
|
|
id="polygon39" />
|
|
</g>
|
|
<g
|
|
id="edge19"
|
|
class="edge"
|
|
transform="translate(19.128019,487.37611)">
|
|
<title
|
|
id="title40">plane->colorbufferB</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
d="M 273.48724,-106.1715 308.34,-106"
|
|
id="path40"
|
|
sodipodi:nodetypes="cc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="308.16,-109.5 318.16,-106 308.16,-102.5 "
|
|
id="polygon40" />
|
|
</g>
|
|
<g
|
|
id="edge11"
|
|
class="edge"
|
|
transform="translate(8.6152562,487.20461)">
|
|
<title
|
|
id="title41">plane->particle</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
stroke-dasharray="5, 2"
|
|
d="m 230,-87.7 v 22.365002"
|
|
id="path41"
|
|
sodipodi:nodetypes="cc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="226.5,-63.62 233.5,-63.62 230,-53.62 "
|
|
id="polygon41"
|
|
transform="translate(0,-1.7149978)" />
|
|
</g>
|
|
<g
|
|
id="edge21"
|
|
class="edge"
|
|
transform="translate(19.128019,497.37611)">
|
|
<title
|
|
id="title42">particle->colorbufferC</title>
|
|
<path
|
|
fill="none"
|
|
stroke="#000000"
|
|
d="M 273.48714,-34.116972 308.34,-34"
|
|
id="path42"
|
|
sodipodi:nodetypes="cc" />
|
|
<polygon
|
|
fill="#000000"
|
|
stroke="#000000"
|
|
points="318.16,-34 308.16,-30.5 308.16,-37.5 "
|
|
id="polygon42" />
|
|
</g>
|
|
</svg>
|