blob: 44bcb66dcdd5d6cca35262814193e6a1b96f7ff0 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"><svg xmlns="http://www.w3.org/2000/svg" width="621" height="390" xmlns:xlink="http://www.w3.org/1999/xlink"><source><![CDATA[participant App
participant Context
participant Framebuffer
participant Texture
App->Context: glTexImage2D
Context->Texture: setImage
Texture-->Framebuffer: onSubjectStateChange
Note over Framebuffer: cache update
Framebuffer-->Context: onSubjectStateChange
Note over Context: cache update
]]></source><desc></desc><defs><marker viewBox="0 0 5 5" markerWidth="5" markerHeight="5" orient="auto" refX="5" refY="2.5" id="markerArrowBlock"><path d="M 0 0 L 5 2.5 L 0 5 z"></path></marker><marker viewBox="0 0 9.6 16" markerWidth="4" markerHeight="16" orient="auto" refX="9.6" refY="8" id="markerArrowOpen"><path d="M 9.6,8 1.92,16 0,13.7 5.76,8 0,2.286 1.92,0 9.6,8 z"></path></marker></defs><g class="title"></g><g class="actor"><rect x="10" y="20" width="46.953125" height="38.84375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="20.5625" y="44.84375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="20">App</tspan></text></g><g class="actor"><rect x="10" y="331.90625" width="46.953125" height="38.84375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="20.5625" y="356.75" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="20">App</tspan></text></g><line x1="33.4765625" x2="33.4765625" y1="58.84375" y2="331.90625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="118.25" y="20" width="81.578125" height="38.84375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="128.25" y="44.84375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="128.25">Context</tspan></text></g><g class="actor"><rect x="118.25" y="331.90625" width="81.578125" height="38.84375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="128.25" y="356.75" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="128.25">Context</tspan></text></g><line x1="159.0390625" x2="159.0390625" y1="58.84375" y2="331.90625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="296.59375" y="20" width="116.765625" height="38.84375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="306.59375" y="44.84375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="306.59375">Framebuffer</tspan></text></g><g class="actor"><rect x="296.59375" y="331.90625" width="116.765625" height="38.84375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="306.59375" y="356.75" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="306.59375">Framebuffer</tspan></text></g><line x1="354.9765625" x2="354.9765625" y1="58.84375" y2="331.90625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="510.125" y="20" width="81.578125" height="38.84375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="520.125" y="44.84375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="520.125">Texture</tspan></text></g><g class="actor"><rect x="510.125" y="331.90625" width="81.578125" height="38.84375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="520.125" y="356.75" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="520.125">Texture</tspan></text></g><line x1="550.9140625" x2="550.9140625" y1="58.84375" y2="331.90625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="signal"><text x="43.4765625" y="89.265625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="43.4765625">glTexImage2D</tspan></text><line x1="33.4765625" x2="159.0390625" y1="97.6875" y2="97.6875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="319.7890625" y="128.109375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="319.7890625">setImage</tspan></text><line x1="159.0390625" x2="550.9140625" y1="136.53125" y2="136.53125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="364.9765625" y="166.953125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="364.9765625">onSubjectStateChange</tspan></text><line x1="550.9140625" x2="354.9765625" y1="175.375" y2="175.375" stroke="#000000" fill="none" style="stroke-width: 2; stroke-dasharray: 6, 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="297.1953125" y="195.375" width="115.5625" height="28.84375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="302.1953125" y="215.21875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="302.1953125">cache update</tspan></text></g><g class="signal"><text x="169.0390625" y="254.640625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="169.0390625">onSubjectStateChange</tspan></text><line x1="354.9765625" x2="159.0390625" y1="263.0625" y2="263.0625" stroke="#000000" fill="none" style="stroke-width: 2; stroke-dasharray: 6, 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="101.2578125" y="283.0625" width="115.5625" height="28.84375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="106.2578125" y="302.90625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="106.2578125">cache update</tspan></text></g></svg>