<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `dynamic_vertex` mod in crate `sfml_rust`."><metaname="keywords"content="rust, rustlang, rust-lang, dynamic_vertex"><title>sfml_rust::canvas::shader::dynamic_vertex - Rust</title><linkrel="stylesheet"type="text/css"href="../../../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../../../dark.css"><linkrel="stylesheet"type="text/css"href="../../../../light.css"id="themeStyle"><scriptsrc="../../../../storage.js"></script><noscript><linkrel="stylesheet"href="../../../../noscript.css"></noscript><linkrel="shortcut icon"href="../../../../favicon.ico"><styletype="text/css">#crate-search{background-image:url("../../../../down-arrow.svg");}</style></head><bodyclass="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="sidebar"><divclass="sidebar-menu">☰</div><ahref='../../../../sfml_rust/index.html'><divclass='logo-container'><imgsrc='../../../../rust-logo.png'alt='logo'></div></a><pclass='location'>Module dynamic_vertex</p><divclass="sidebar-elems"><divclass="block items"><ul><li><ahref="#structs">Structs</a></li></ul></div><pclass='location'><ahref='../../../index.html'>sfml_rust</a>::<wbr><ahref='../../index.html'>canvas</a>::<wbr><ahref='../index.html'>shader</a></p><script>window.sidebarCurrent={name:'dynamic_vertex',ty:'mod',relpath:'../'};</script><scriptdefersrc="../sidebar-items.js"></script></div></nav><divclass="theme-picker"><buttonid="theme-picker"aria-label="Pick another theme!"><imgsrc="../../../../brush.svg"width="18"alt="Pick another theme!"></button><divid="theme-choices"></div></div><scriptsrc="../../../../theme.js"></script><navclass="sub"><formclass="search-form js-only"><divclass="search-container"><div><selectid="crate-search"><optionvalue="All crates">All crates</option></select><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"></div><aid="settings-menu"href="../../../../settings.html"><imgsrc="../../../../wheel.svg"width="18"alt="Change settings"></a></div></form></nav><sectionid="main"class="content"><h1class='fqn'><spanclass='out-of-band'><spanid='render-detail'><aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass='inner'>−</span>]</a></span><aclass='srclink'href='../../../../src/sfml_rust/canvas/shader/dynamic_vertex.rs.html#1-155' title='goto source code'>[src]</a></span><spanclass='in-band'>Module <ahref='../../../index.html'>sfml_rust</a>::<wbr><ahref='../../index.html'>canvas</a>::<wbr><ahref='../index.html'>shader</a>::<wbr><aclass="mod"href=''>dynamic_vertex</a></span></h1><h2id='structs'class='section-header'><ahref="#structs">Structs</a></h2>
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `dynamic_vertex` mod in crate `sfml_rust`."><metaname="keywords"content="rust, rustlang, rust-lang, dynamic_vertex"><title>sfml_rust::canvas::shader::dynamic_vertex - Rust</title><linkrel="stylesheet"type="text/css"href="../../../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../../../dark.css"><linkrel="stylesheet"type="text/css"href="../../../../light.css"id="themeStyle"><scriptsrc="../../../../storage.js"></script><noscript><linkrel="stylesheet"href="../../../../noscript.css"></noscript><linkrel="shortcut icon"href="../../../../favicon.ico"><styletype="text/css">#crate-search{background-image:url("../../../../down-arrow.svg");}</style></head><bodyclass="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="sidebar"><divclass="sidebar-menu">☰</div><ahref='../../../../sfml_rust/index.html'><divclass='logo-container'><imgsrc='../../../../rust-logo.png'alt='logo'></div></a><pclass='location'>Module dynamic_vertex</p><divclass="sidebar-elems"><divclass="block items"><ul><li><ahref="#structs">Structs</a></li></ul></div><pclass='location'><ahref='../../../index.html'>sfml_rust</a>::<wbr><ahref='../../index.html'>canvas</a>::<wbr><ahref='../index.html'>shader</a></p><script>window.sidebarCurrent={name:'dynamic_vertex',ty:'mod',relpath:'../'};</script><scriptdefersrc="../sidebar-items.js"></script></div></nav><divclass="theme-picker"><buttonid="theme-picker"aria-label="Pick another theme!"><imgsrc="../../../../brush.svg"width="18"alt="Pick another theme!"></button><divid="theme-choices"></div></div><scriptsrc="../../../../theme.js"></script><navclass="sub"><formclass="search-form js-only"><divclass="search-container"><div><selectid="crate-search"><optionvalue="All crates">All crates</option></select><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"></div><aid="settings-menu"href="../../../../settings.html"><imgsrc="../../../../wheel.svg"width="18"alt="Change settings"></a></div></form></nav><sectionid="main"class="content"><h1class='fqn'><spanclass='out-of-band'><spanid='render-detail'><aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass='inner'>−</span>]</a></span><aclass='srclink'href='../../../../src/sfml_rust/canvas/shader/dynamic_vertex.rs.html#1-182' title='goto source code'>[src]</a></span><spanclass='in-band'>Module <ahref='../../../index.html'>sfml_rust</a>::<wbr><ahref='../../index.html'>canvas</a>::<wbr><ahref='../index.html'>shader</a>::<wbr><aclass="mod"href=''>dynamic_vertex</a></span></h1><h2id='structs'class='section-header'><ahref="#structs">Structs</a></h2>
<table><trclass='module-item'><td><aclass="struct"href="struct.RuntimeVertexDef.html"title='sfml_rust::canvas::shader::dynamic_vertex::RuntimeVertexDef struct'>RuntimeVertexDef</a></td><tdclass='docblock-short'><p>Runtime Vertex def is just a generic holder of "dynamic vertex definitions"</p>
</td></tr></table></section><sectionid="search"class="content hidden"></section><sectionclass="footer"></section><asideid="help"class="hidden"><div><h1class="hidden">Help</h1><divclass="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd>↑</kbd></dt><dd>Move up in search results</dd><dt><kbd>↓</kbd></dt><dd>Move down in search results</dd><dt><kbd>↹</kbd></dt><dd>Switch tab</dd><dt><kbd>⏎</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><divclass="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath="../../../../";window.currentCrate="sfml_rust";</script><scriptsrc="../../../../aliases.js"></script><scriptsrc="../../../../main.js"></script><scriptdefersrc="../../../../search-index.js"></script></body></html>
<spanclass="number">1</span><spanclass="comment">// Number of instances</span>
)
}
}</pre></div>
}
</pre></div>
</section><sectionid="search"class="content hidden"></section><sectionclass="footer"></section><asideid="help"class="hidden"><div><h1class="hidden">Help</h1><divclass="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd>↑</kbd></dt><dd>Move up in search results</dd><dt><kbd>↓</kbd></dt><dd>Move down in search results</dd><dt><kbd>↹</kbd></dt><dd>Switch tab</dd><dt><kbd>⏎</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><divclass="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath="../../../../";window.currentCrate="sfml_rust";</script><scriptsrc="../../../../aliases.js"></script><scriptsrc="../../../../main.js"></script><scriptsrc="../../../../source-script.js"></script><scriptsrc="../../../../source-files.js"></script><scriptdefersrc="../../../../search-index.js"></script></body></html>
The gist of this class is basically draw everything 2D and have all the resources to do so. It holds binary buffer blobs for resources, it's own compiled shaders, render_pass, and all of the vertex buffers in order to draw those binary buffer blobs.
**window_size_dependent_setup** is currently hosted inside this class. If a second graphics class is added I will add some shared library for this to live.
**render_pass **the render pass is created with our depth stencil data **D32Sfloat_S8Uint** and the color attachment for the render output. This is highly 2D dependent
===== Interface =====
Generally there is a get for handle and pointer and a load (or create) for each of the stored items.
The class then interacts with these stored items by taking and executing a list of operations to perform on them.
Compustate is a very simplified sibling to the CanvasState. We only hold the binary [[~/source/Trac3r-rust/doc/sfml_rust/compu_buffer/struct.CompuBuffers.html|CompuBuffers]] and the compiled kernels to compute them.