174 lines
9.1 KiB
XML
174 lines
9.1 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
|
|
-->
|
|
<!-- Title: G Pages: 1 -->
|
|
<svg width="588pt" height="765pt"
|
|
viewBox="0.00 0.00 588.26 764.75" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 760.75)">
|
|
<title>G</title>
|
|
<polygon fill="white" stroke="none" points="-4,4 -4,-760.75 584.26,-760.75 584.26,4 -4,4"/>
|
|
<g id="clust1" class="cluster">
|
|
<title>cluster_clipping</title>
|
|
<polygon fill="none" stroke="black" points="94.4,-611.4 94.4,-712.75 382.4,-712.75 382.4,-611.4 94.4,-611.4"/>
|
|
<text text-anchor="middle" x="238.4" y="-695.45" font-family="Times,serif" font-size="14.00">clipping</text>
|
|
</g>
|
|
<g id="clust2" class="cluster">
|
|
<title>cluster_perspective</title>
|
|
<polygon fill="none" stroke="black" points="89.4,-502.04 89.4,-603.4 387.4,-603.4 387.4,-502.04 89.4,-502.04"/>
|
|
<text text-anchor="middle" x="238.4" y="-586.1" font-family="Times,serif" font-size="14.00">perspective division</text>
|
|
</g>
|
|
<g id="clust3" class="cluster">
|
|
<title>cluster_viewport_transformation</title>
|
|
<polygon fill="none" stroke="black" points="125.4,-344.79 125.4,-494.04 351.4,-494.04 351.4,-344.79 125.4,-344.79"/>
|
|
<text text-anchor="middle" x="238.4" y="-476.74" font-family="Times,serif" font-size="14.00">viewport transformation</text>
|
|
</g>
|
|
<g id="clust5" class="cluster">
|
|
<title>cluster_setup_unit</title>
|
|
<polygon fill="none" stroke="black" points="101.4,-187.54 101.4,-336.79 347.4,-336.79 347.4,-187.54 101.4,-187.54"/>
|
|
<text text-anchor="middle" x="224.4" y="-319.49" font-family="Times,serif" font-size="14.00">setup unit</text>
|
|
</g>
|
|
<g id="clust6" class="cluster">
|
|
<title>cluster_zfunc</title>
|
|
<polygon fill="none" stroke="black" points="187.4,-102.29 187.4,-179.54 405.4,-179.54 405.4,-102.29 187.4,-102.29"/>
|
|
<text text-anchor="middle" x="296.4" y="-162.24" font-family="Times,serif" font-size="14.00">ZFUNC</text>
|
|
</g>
|
|
<!-- vertex_shader -->
|
|
<g id="node1" class="node">
|
|
<title>vertex_shader</title>
|
|
<ellipse fill="none" stroke="black" cx="238.4" cy="-738.75" rx="134.33" ry="18"/>
|
|
<text text-anchor="middle" x="238.4" y="-734.08" font-family="Times,serif" font-size="14.00">(from the vertex shader)</text>
|
|
</g>
|
|
<!-- DX_CLIP_SPACE_DEF -->
|
|
<g id="node2" class="node">
|
|
<title>DX_CLIP_SPACE_DEF</title>
|
|
<ellipse fill="none" stroke="black" cx="238.4" cy="-649.45" rx="136.47" ry="30.05"/>
|
|
<text text-anchor="middle" x="238.4" y="-653.4" font-family="Times,serif" font-size="14.00">DX_CLIP_SPACE_DEF</text>
|
|
<text text-anchor="middle" x="238.4" y="-636.15" font-family="Times,serif" font-size="14.00">possibly clip the polygon</text>
|
|
</g>
|
|
<!-- vertex_shader->DX_CLIP_SPACE_DEF -->
|
|
<g id="edge2" class="edge">
|
|
<title>vertex_shader->DX_CLIP_SPACE_DEF</title>
|
|
<path fill="none" stroke="black" d="M238.4,-720.5C238.4,-712.05 238.4,-701.49 238.4,-691.15"/>
|
|
<polygon fill="black" stroke="black" points="241.9,-691.21 238.4,-681.21 234.9,-691.21 241.9,-691.21"/>
|
|
</g>
|
|
<!-- VTX_Z_FMT -->
|
|
<g id="node3" class="node">
|
|
<title>VTX_Z_FMT</title>
|
|
<ellipse fill="none" stroke="black" cx="238.4" cy="-540.09" rx="141.24" ry="30.05"/>
|
|
<text text-anchor="middle" x="238.4" y="-544.04" font-family="Times,serif" font-size="14.00">VTX_Z_FMT</text>
|
|
<text text-anchor="middle" x="238.4" y="-526.79" font-family="Times,serif" font-size="14.00">(if enabled) divide Z by W</text>
|
|
</g>
|
|
<!-- DX_CLIP_SPACE_DEF->VTX_Z_FMT -->
|
|
<g id="edge3" class="edge">
|
|
<title>DX_CLIP_SPACE_DEF->VTX_Z_FMT</title>
|
|
<path fill="none" stroke="black" d="M238.4,-619.11C238.4,-607.63 238.4,-594.27 238.4,-581.88"/>
|
|
<polygon fill="black" stroke="black" points="241.9,-581.91 238.4,-571.91 234.9,-581.91 241.9,-581.91"/>
|
|
</g>
|
|
<!-- VPORT_Z_SCALE -->
|
|
<g id="node4" class="node">
|
|
<title>VPORT_Z_SCALE</title>
|
|
<ellipse fill="none" stroke="black" cx="238.4" cy="-442.79" rx="97.51" ry="18"/>
|
|
<text text-anchor="middle" x="238.4" y="-438.12" font-family="Times,serif" font-size="14.00">VPORT_Z_SCALE</text>
|
|
</g>
|
|
<!-- VTX_Z_FMT->VPORT_Z_SCALE -->
|
|
<g id="edge4" class="edge">
|
|
<title>VTX_Z_FMT->VPORT_Z_SCALE</title>
|
|
<path fill="none" stroke="black" d="M238.4,-509.72C238.4,-497.95 238.4,-484.43 238.4,-472.7"/>
|
|
<polygon fill="black" stroke="black" points="241.9,-472.8 238.4,-462.8 234.9,-472.8 241.9,-472.8"/>
|
|
</g>
|
|
<!-- VPORT_Z_OFFSET -->
|
|
<g id="node5" class="node">
|
|
<title>VPORT_Z_OFFSET</title>
|
|
<ellipse fill="none" stroke="black" cx="238.4" cy="-370.79" rx="104.87" ry="18"/>
|
|
<text text-anchor="middle" x="238.4" y="-366.12" font-family="Times,serif" font-size="14.00">VPORT_Z_OFFSET</text>
|
|
</g>
|
|
<!-- VPORT_Z_SCALE->VPORT_Z_OFFSET -->
|
|
<g id="edge5" class="edge">
|
|
<title>VPORT_Z_SCALE->VPORT_Z_OFFSET</title>
|
|
<path fill="none" stroke="black" d="M238.4,-424.49C238.4,-417.2 238.4,-408.52 238.4,-400.33"/>
|
|
<polygon fill="black" stroke="black" points="241.9,-400.41 238.4,-390.41 234.9,-400.41 241.9,-400.41"/>
|
|
</g>
|
|
<!-- SU_DEPTH_SCALE -->
|
|
<g id="node6" class="node">
|
|
<title>SU_DEPTH_SCALE</title>
|
|
<ellipse fill="none" stroke="black" cx="227.4" cy="-285.54" rx="107.5" ry="18"/>
|
|
<text text-anchor="middle" x="227.4" y="-280.87" font-family="Times,serif" font-size="14.00">SU_DEPTH_SCALE</text>
|
|
</g>
|
|
<!-- VPORT_Z_OFFSET->SU_DEPTH_SCALE -->
|
|
<g id="edge6" class="edge">
|
|
<title>VPORT_Z_OFFSET->SU_DEPTH_SCALE</title>
|
|
<path fill="none" stroke="black" d="M236.12,-352.54C234.69,-341.72 232.81,-327.49 231.16,-315.02"/>
|
|
<polygon fill="black" stroke="black" points="234.65,-314.73 229.87,-305.27 227.72,-315.64 234.65,-314.73"/>
|
|
</g>
|
|
<!-- depth_pass -->
|
|
<g id="node9" class="node">
|
|
<title>depth_pass</title>
|
|
<polygon fill="none" stroke="black" points="397.4,-146.29 303.4,-146.29 303.4,-110.29 397.4,-110.29 397.4,-146.29"/>
|
|
<text text-anchor="middle" x="350.4" y="-123.62" font-family="Times,serif" font-size="14.00">depth pass</text>
|
|
</g>
|
|
<!-- VPORT_Z_OFFSET->depth_pass -->
|
|
<g id="edge10" class="edge">
|
|
<title>VPORT_Z_OFFSET->depth_pass</title>
|
|
<path fill="none" stroke="black" d="M321.07,-359.37C332.91,-354.32 343.68,-347.09 351.4,-336.79 390.89,-284.12 373.49,-200.91 360.3,-157.6"/>
|
|
<polygon fill="black" stroke="black" points="363.67,-156.65 357.29,-148.19 357,-158.78 363.67,-156.65"/>
|
|
</g>
|
|
<!-- SU_DEPTH_OFFSET -->
|
|
<g id="node7" class="node">
|
|
<title>SU_DEPTH_OFFSET</title>
|
|
<ellipse fill="none" stroke="black" cx="224.4" cy="-213.54" rx="114.87" ry="18"/>
|
|
<text text-anchor="middle" x="224.4" y="-208.87" font-family="Times,serif" font-size="14.00">SU_DEPTH_OFFSET</text>
|
|
</g>
|
|
<!-- SU_DEPTH_SCALE->SU_DEPTH_OFFSET -->
|
|
<g id="edge7" class="edge">
|
|
<title>SU_DEPTH_SCALE->SU_DEPTH_OFFSET</title>
|
|
<path fill="none" stroke="black" d="M226.66,-267.24C226.35,-259.95 225.97,-251.27 225.62,-243.08"/>
|
|
<polygon fill="black" stroke="black" points="229.12,-243 225.2,-233.16 222.13,-243.3 229.12,-243"/>
|
|
</g>
|
|
<!-- depth_test -->
|
|
<g id="node8" class="node">
|
|
<title>depth_test</title>
|
|
<polygon fill="none" stroke="black" points="285.15,-146.29 195.65,-146.29 195.65,-110.29 285.15,-110.29 285.15,-146.29"/>
|
|
<text text-anchor="middle" x="240.4" y="-123.62" font-family="Times,serif" font-size="14.00">depth test</text>
|
|
</g>
|
|
<!-- SU_DEPTH_OFFSET->depth_test -->
|
|
<g id="edge8" class="edge">
|
|
<title>SU_DEPTH_OFFSET->depth_test</title>
|
|
<path fill="none" stroke="black" d="M227.72,-195.29C229.8,-184.47 232.53,-170.24 234.93,-157.77"/>
|
|
<polygon fill="black" stroke="black" points="238.35,-158.49 236.8,-148.01 231.48,-157.17 238.35,-158.49"/>
|
|
</g>
|
|
<!-- depth_test->depth_pass -->
|
|
<g id="edge1" class="edge">
|
|
<title>depth_test->depth_pass</title>
|
|
<path fill="none" stroke="black" d="M285.52,-128.29C287.52,-128.29 289.53,-128.29 291.53,-128.29"/>
|
|
<polygon fill="black" stroke="black" points="291.49,-131.79 301.49,-128.29 291.49,-124.79 291.49,-131.79"/>
|
|
</g>
|
|
<!-- Z_BUFFER -->
|
|
<g id="node10" class="node">
|
|
<title>Z_BUFFER</title>
|
|
<polygon fill="none" stroke="black" points="0,-25.67 146.4,0 292.8,-25.67 292.66,-67.2 0.14,-67.2 0,-25.67"/>
|
|
<text text-anchor="middle" x="146.4" y="-41.1" font-family="Times,serif" font-size="14.00">(write the new Z</text>
|
|
<text text-anchor="middle" x="146.4" y="-23.85" font-family="Times,serif" font-size="14.00">value to the Z-buffer)</text>
|
|
</g>
|
|
<!-- depth_test->Z_BUFFER -->
|
|
<g id="edge9" class="edge">
|
|
<title>depth_test->Z_BUFFER</title>
|
|
<path fill="none" stroke="black" d="M222.28,-110.1C211.86,-100.23 198.36,-87.42 185.63,-75.35"/>
|
|
<polygon fill="black" stroke="black" points="188.19,-72.95 178.52,-68.61 183.37,-78.03 188.19,-72.95"/>
|
|
</g>
|
|
<!-- fragment_shader -->
|
|
<g id="node11" class="node">
|
|
<title>fragment_shader</title>
|
|
<ellipse fill="none" stroke="black" cx="445.4" cy="-37.15" rx="134.86" ry="18"/>
|
|
<text text-anchor="middle" x="445.4" y="-32.47" font-family="Times,serif" font-size="14.00">(to the fragment shader)</text>
|
|
</g>
|
|
<!-- depth_pass->fragment_shader -->
|
|
<g id="edge11" class="edge">
|
|
<title>depth_pass->fragment_shader</title>
|
|
<path fill="none" stroke="black" d="M368.72,-110.1C383.04,-96.66 403.15,-77.79 419.18,-62.75"/>
|
|
<polygon fill="black" stroke="black" points="421.14,-65.71 426.04,-56.32 416.35,-60.61 421.14,-65.71"/>
|
|
</g>
|
|
</g>
|
|
</svg>
|