Piping just the vertex glyph representation first to test the stencil buffer
This commit is contained in:
@@ -228,28 +228,6 @@
|
||||
<span id="228">228</span>
|
||||
<span id="229">229</span>
|
||||
<span id="230">230</span>
|
||||
<span id="231">231</span>
|
||||
<span id="232">232</span>
|
||||
<span id="233">233</span>
|
||||
<span id="234">234</span>
|
||||
<span id="235">235</span>
|
||||
<span id="236">236</span>
|
||||
<span id="237">237</span>
|
||||
<span id="238">238</span>
|
||||
<span id="239">239</span>
|
||||
<span id="240">240</span>
|
||||
<span id="241">241</span>
|
||||
<span id="242">242</span>
|
||||
<span id="243">243</span>
|
||||
<span id="244">244</span>
|
||||
<span id="245">245</span>
|
||||
<span id="246">246</span>
|
||||
<span id="247">247</span>
|
||||
<span id="248">248</span>
|
||||
<span id="249">249</span>
|
||||
<span id="250">250</span>
|
||||
<span id="251">251</span>
|
||||
<span id="252">252</span>
|
||||
</pre><div class="example-wrap"><pre class="rust ">
|
||||
<span class="attribute">#![<span class="ident">allow</span>(<span class="ident">dead_code</span>)]</span>
|
||||
<span class="attribute">#![<span class="ident">allow</span>(<span class="ident">unused_variables</span>)]</span>
|
||||
@@ -271,46 +249,26 @@
|
||||
<span class="kw">use</span> <span class="ident">winit</span>::{<span class="ident">EventsLoop</span>, <span class="ident">WindowBuilder</span>, <span class="ident">WindowEvent</span>, <span class="ident">Event</span>, <span class="ident">DeviceEvent</span>, <span class="ident">VirtualKeyCode</span>, <span class="ident">ElementState</span>};
|
||||
<span class="kw">use</span> <span class="ident">winit</span>::<span class="ident">dpi</span>::<span class="ident">LogicalSize</span>;
|
||||
<span class="kw">use</span> <span class="ident">vulkano_win</span>::<span class="ident">VkSurfaceBuild</span>;
|
||||
<span class="kw">use</span> <span class="ident">sprite</span>::<span class="ident">Sprite</span>;
|
||||
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">util</span>::<span class="ident">load_raw</span>;
|
||||
|
||||
<span class="kw">use</span> <span class="ident">vulkano</span>::<span class="ident">instance</span>::<span class="ident">debug</span>::<span class="ident">DebugCallback</span>;
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">compute</span>::<span class="ident">compu_frame</span>::<span class="ident">CompuFrame</span>;
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">canvas</span>::<span class="ident">canvas_frame</span>::{<span class="ident">CanvasFrame</span>, <span class="ident">Drawable</span>};
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">compute</span>::<span class="ident">managed</span>::<span class="ident">compu_sprite</span>::<span class="ident">CompuSprite</span>;
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>;
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">canvas</span>::<span class="ident">managed</span>::<span class="ident">handles</span>::{<span class="ident">CanvasTextureHandle</span>, <span class="ident">Handle</span>, <span class="ident">CanvasFontHandle</span>};
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">util</span>::<span class="ident">vertex</span>::{<span class="ident">VertexTypes</span>, <span class="ident">TextureVertex3D</span>};
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">compute</span>::<span class="ident">managed</span>::<span class="ident">handles</span>::{<span class="ident">CompuBufferHandle</span>, <span class="ident">CompuKernelHandle</span>};
|
||||
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">drawables</span>::<span class="ident">sprite</span>::<span class="ident">Sprite</span>;
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">drawables</span>::<span class="ident">rect</span>::<span class="ident">Rect</span>;
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">drawables</span>::<span class="ident">compu_sprite</span>::<span class="ident">CompuSprite</span>;
|
||||
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">util</span>;
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">vkprocessor</span>;
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">sprite</span>;
|
||||
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">drawables</span>;
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">canvas</span>;
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">compute</span>;
|
||||
|
||||
<span class="comment">/*
|
||||
|
||||
Trac3r : A program to convert images to 2D toolpaths
|
||||
|
||||
TODO:
|
||||
+ Text rendering is half implemented.
|
||||
+ Need generalized interface for render (image, texture, text)
|
||||
+ Currently using local copies of a few libraries:
|
||||
shade_runner
|
||||
vulkano/vulkano-win
|
||||
vulkano/vulkano-shaders
|
||||
vulkano/vulkano
|
||||
+ Need to generate runtime vertex definitions if I want to have on the fly shaders
|
||||
|
||||
|
||||
|
||||
*/</span>
|
||||
|
||||
|
||||
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">main</span>() {
|
||||
<span class="ident">hprof</span>::<span class="ident">start_frame</span>();
|
||||
|
||||
@@ -378,8 +336,12 @@
|
||||
<span class="kw">let</span> <span class="ident">font_handle</span> : <span class="ident">Arc</span><span class="op"><</span><span class="ident">CanvasFontHandle</span><span class="op">></span> <span class="op">=</span>
|
||||
<span class="ident">processor</span>.<span class="ident">get_font_handle</span>(<span class="ident">String</span>::<span class="ident">from</span>(<span class="string">"sansation.ttf"</span>)).<span class="ident">unwrap</span>();
|
||||
|
||||
<span class="kw">let</span> <span class="ident">funky_sprite</span> <span class="op">=</span> <span class="ident">Sprite</span>::<span class="ident">new</span>((<span class="number">0.0</span>, <span class="op">-</span><span class="number">0.5</span>), (<span class="number">0.5</span>, <span class="number">0.5</span>), <span class="number">0</span>, <span class="ident">funky_handle</span>.<span class="ident">clone</span>());
|
||||
<span class="kw">let</span> <span class="ident">funky_sprite</span> <span class="op">=</span> <span class="ident">Sprite</span>::<span class="ident">new</span>((<span class="number">0.0</span>, <span class="number">0.5</span>), (<span class="number">0.5</span>, <span class="number">0.5</span>), <span class="number">0</span>, <span class="ident">funky_handle</span>.<span class="ident">clone</span>());
|
||||
<span class="kw">let</span> <span class="ident">sfml_sprite</span> <span class="op">=</span> <span class="ident">Sprite</span>::<span class="ident">new</span>((<span class="number">0.0</span>, <span class="op">-</span><span class="number">0.5</span>), (<span class="number">0.5</span>, <span class="number">0.5</span>), <span class="number">1</span>, <span class="ident">sfml_handle</span>.<span class="ident">clone</span>());
|
||||
<span class="kw">let</span> <span class="ident">rect</span> <span class="op">=</span> <span class="ident">Rect</span>::<span class="ident">new</span>((<span class="op">-</span><span class="number">0.5</span>, <span class="op">-</span><span class="number">0.5</span>), (<span class="number">0.5</span>, <span class="number">0.5</span>), <span class="number">1</span>);
|
||||
|
||||
|
||||
<span class="comment">//let sfml_sprite = Sprite::new((0.0, -0.5), (0.5, 0.5), 1, sfml_handle.clone());</span>
|
||||
<span class="comment">//let text_sprite = Text::new((-0.1,-0.1), (10.0, 10.0), font_handle.clone());</span>
|
||||
<span class="comment">//let test_polygon = Poly::new_with_color((-0.5, -0.5), (0.5, 0.5), 1, (1.0,0.0,0.0,0.0));</span>
|
||||
|
||||
@@ -440,20 +402,15 @@
|
||||
<span class="kw">break</span>;
|
||||
}
|
||||
|
||||
|
||||
<span class="kw">let</span> <span class="ident">funky_sprite</span> <span class="op">=</span> <span class="ident">Sprite</span>::<span class="ident">new</span>((<span class="number">0.0</span>, <span class="op">-</span><span class="number">0.5</span>), (<span class="number">0.5</span>, <span class="number">0.5</span>), <span class="number">0</span>, <span class="ident">funky_handle</span>.<span class="ident">clone</span>());
|
||||
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">canvas_frame</span> <span class="op">=</span> <span class="ident">CanvasFrame</span>::<span class="ident">default</span>();
|
||||
<span class="ident">canvas_frame</span>.<span class="ident">draw</span>(<span class="kw-2">&</span><span class="ident">funky_sprite</span>);
|
||||
<span class="ident">canvas_frame</span>.<span class="ident">draw</span>(<span class="kw-2">&</span><span class="ident">sfml_sprite</span>);
|
||||
<span class="ident">canvas_frame</span>.<span class="ident">draw</span>(<span class="kw-2">&</span><span class="ident">compu_sprite1</span>);
|
||||
<span class="comment">// canvas_frame.draw(&rect);</span>
|
||||
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">compu_frame</span> <span class="op">=</span> <span class="ident">CompuFrame</span>::<span class="ident">new</span>();
|
||||
<span class="comment">// compu_frame.add(compute_buffer.clone(), compute_kernel.clone());</span>
|
||||
<span class="comment">// compu_frame.add_with_image_swap(compute_buffer.clone(), compute_kernel.clone(), &compu_sprite1);</span>
|
||||
<span class="comment">//</span>
|
||||
<span class="comment">// let mut canvas = CanvasFrame::new();</span>
|
||||
<span class="comment">// canvas.draw(&funky_sprite);</span>
|
||||
<span class="comment">// canvas.draw(&test_polygon);</span>
|
||||
<span class="comment">//compu_frame.add(compute_buffer.clone(), compute_kernel.clone());</span>
|
||||
<span class="ident">compu_frame</span>.<span class="ident">add_with_image_swap</span>(<span class="ident">compute_buffer</span>.<span class="ident">clone</span>(), <span class="ident">compute_kernel</span>.<span class="ident">clone</span>(), <span class="kw-2">&</span><span class="ident">compu_sprite1</span>);
|
||||
|
||||
|
||||
{
|
||||
<span class="kw">let</span> <span class="ident">g</span> <span class="op">=</span> <span class="ident">hprof</span>::<span class="ident">enter</span>(<span class="string">"Run"</span>);
|
||||
@@ -466,7 +423,6 @@
|
||||
<span class="ident">drop</span>(<span class="ident">l</span>);
|
||||
|
||||
|
||||
<span class="kw">return</span>;
|
||||
<span class="ident">hprof</span>::<span class="ident">end_frame</span>();
|
||||
<span class="ident">hprof</span>::<span class="ident">profiler</span>().<span class="ident">print_timing</span>();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user