From b3e092e25af17a3bcbe18d884abd5347acf25f49 Mon Sep 17 00:00:00 2001 From: mitchellhansen Date: Sat, 22 Feb 2020 00:07:58 -0800 Subject: [PATCH] Piping just the vertex glyph representation first to test the stencil buffer --- doc/implementors/core/clone/trait.Clone.js | 2 +- doc/implementors/core/fmt/trait.Debug.js | 2 +- doc/implementors/core/marker/trait.Freeze.js | 2 +- doc/implementors/core/marker/trait.Send.js | 2 +- doc/implementors/core/marker/trait.Sync.js | 2 +- doc/implementors/core/marker/trait.Unpin.js | 2 +- .../std/panic/trait.RefUnwindSafe.js | 2 +- .../std/panic/trait.UnwindSafe.js | 2 +- doc/search-index.js | 4 +- doc/sfml_rust/all.html | 2 +- .../canvas/canvas_frame/trait.Drawable.html | 2 +- doc/sfml_rust/canvas/canvas_state/index.html | 2 +- .../canvas_state/struct.CanvasState.html | 20 +-- doc/sfml_rust/compute/compu_frame/index.html | 2 +- .../compu_frame/struct.CompuFrame.html | 4 +- .../compute/managed/compu_sprite/index.html | 2 - doc/sfml_rust/compute/managed/index.html | 4 +- .../compute/managed/sidebar-items.js | 2 +- .../drawables/compu_sprite/index.html | 2 + .../compu_sprite/sidebar-items.js | 0 .../compu_sprite/struct.CompuSprite.html | 9 +- doc/sfml_rust/drawables/index.html | 2 + doc/sfml_rust/drawables/polygon/index.html | 3 + .../drawables/polygon/sidebar-items.js | 1 + .../drawables/polygon/struct.Polygon.html | 32 ++++ doc/sfml_rust/drawables/rect/index.html | 2 + doc/sfml_rust/drawables/rect/sidebar-items.js | 1 + doc/sfml_rust/drawables/rect/struct.Rect.html | 31 ++++ doc/sfml_rust/drawables/sidebar-items.js | 1 + doc/sfml_rust/drawables/sprite/index.html | 2 + .../{ => drawables}/sprite/sidebar-items.js | 0 .../{ => drawables}/sprite/struct.Sprite.html | 14 +- doc/sfml_rust/fn.main.html | 2 +- doc/sfml_rust/index.html | 4 +- doc/sfml_rust/sidebar-items.js | 2 +- doc/sfml_rust/sprite/index.html | 2 - doc/sfml_rust/vkprocessor/index.html | 2 +- .../vkprocessor/struct.VkProcessor.html | 5 +- doc/source-files.js | 2 +- doc/src/sfml_rust/canvas/canvas_state.rs.html | 6 +- doc/src/sfml_rust/compute/compu_frame.rs.html | 16 +- doc/src/sfml_rust/compute/compu_state.rs.html | 6 +- .../compute/managed/compu_buffer.rs.html | 2 +- .../compute/managed/compu_sprite.rs.html | 101 ------------ doc/src/sfml_rust/compute/managed/mod.rs.html | 2 - .../sfml_rust/drawables/compu_sprite.rs.html | 120 +++++++++++++++ doc/src/sfml_rust/drawables/mod.rs.html | 10 ++ doc/src/sfml_rust/drawables/polygon.rs.html | 145 ++++++++++++++++++ doc/src/sfml_rust/drawables/rect.rs.html | 117 ++++++++++++++ .../sfml_rust/{ => drawables}/sprite.rs.html | 4 +- doc/src/sfml_rust/main.rs.html | 72 ++------- doc/src/sfml_rust/util/mod.rs.html | 2 +- doc/src/sfml_rust/vkprocessor.rs.html | 4 +- notes/Drawables.txt | 48 ++++++ notes/Home.txt | 60 +++----- notes/VKProcessor.txt | 6 - notes/VKProcessor/CanvasContainerClasses.txt | 8 - notes/VKProcessor/CanvasState.txt | 22 ++- .../VKProcessor/CompiledGraphicsPipeline.txt | 11 -- notes/VKProcessor/CompiledShader.txt | 44 ++++++ notes/VKProcessor/DynamicVertex.txt | 2 +- resources/shaders/simple-edge.compute | 8 +- resources/shaders/simple_text.frag | 15 +- resources/shaders/simple_text.vert | 12 +- src/canvas/canvas_state.rs | 107 ++++++++----- src/drawables/mod.rs | 3 +- src/drawables/text.rs | 133 ++++++++++++++++ src/main.rs | 5 +- src/util/vertex.rs | 3 + src/vkprocessor.rs | 2 +- 70 files changed, 906 insertions(+), 369 deletions(-) delete mode 100644 doc/sfml_rust/compute/managed/compu_sprite/index.html create mode 100644 doc/sfml_rust/drawables/compu_sprite/index.html rename doc/sfml_rust/{compute/managed => drawables}/compu_sprite/sidebar-items.js (100%) rename doc/sfml_rust/{compute/managed => drawables}/compu_sprite/struct.CompuSprite.html (53%) create mode 100644 doc/sfml_rust/drawables/index.html create mode 100644 doc/sfml_rust/drawables/polygon/index.html create mode 100644 doc/sfml_rust/drawables/polygon/sidebar-items.js create mode 100644 doc/sfml_rust/drawables/polygon/struct.Polygon.html create mode 100644 doc/sfml_rust/drawables/rect/index.html create mode 100644 doc/sfml_rust/drawables/rect/sidebar-items.js create mode 100644 doc/sfml_rust/drawables/rect/struct.Rect.html create mode 100644 doc/sfml_rust/drawables/sidebar-items.js create mode 100644 doc/sfml_rust/drawables/sprite/index.html rename doc/sfml_rust/{ => drawables}/sprite/sidebar-items.js (100%) rename doc/sfml_rust/{ => drawables}/sprite/struct.Sprite.html (63%) delete mode 100644 doc/sfml_rust/sprite/index.html delete mode 100644 doc/src/sfml_rust/compute/managed/compu_sprite.rs.html create mode 100644 doc/src/sfml_rust/drawables/compu_sprite.rs.html create mode 100644 doc/src/sfml_rust/drawables/mod.rs.html create mode 100644 doc/src/sfml_rust/drawables/polygon.rs.html create mode 100644 doc/src/sfml_rust/drawables/rect.rs.html rename doc/src/sfml_rust/{ => drawables}/sprite.rs.html (82%) create mode 100644 notes/Drawables.txt delete mode 100644 notes/VKProcessor/CompiledGraphicsPipeline.txt create mode 100644 notes/VKProcessor/CompiledShader.txt create mode 100644 src/drawables/text.rs diff --git a/doc/implementors/core/clone/trait.Clone.js b/doc/implementors/core/clone/trait.Clone.js index 0509d842..7dc8e91f 100644 --- a/doc/implementors/core/clone/trait.Clone.js +++ b/doc/implementors/core/clone/trait.Clone.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["sfml_rust"] = [{text:"impl Clone for TextureVertex3D",synthetic:false,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl Clone for ColorVertex3D",synthetic:false,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl Clone for ImageVertex3D",synthetic:false,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl Clone for Vertex3D",synthetic:false,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Clone for TextVertex3D",synthetic:false,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Clone for GlyphInstance",synthetic:false,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl Clone for VertexTypes",synthetic:false,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl Clone for CanvasFrameAllocation",synthetic:false,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl Clone for Sprite",synthetic:false,types:["sfml_rust::sprite::Sprite"]},{text:"impl Clone for CanvasState",synthetic:false,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Clone for TextShader",synthetic:false,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Clone for GenericShader",synthetic:false,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Clone for RuntimeVertexDef",synthetic:false,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Clone for ShaderType",synthetic:false,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Clone for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Clone for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Clone for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Clone for CompiledShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Clone for CanvasTexture",synthetic:false,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Clone for CanvasImage",synthetic:false,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Clone for CanvasFont",synthetic:false,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Clone for CompuBuffers",synthetic:false,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Clone for CompuKernel",synthetic:false,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Clone for ComputeSpecializationConstants",synthetic:false,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Clone for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Clone for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; +implementors["sfml_rust"] = [{text:"impl Clone for TextureVertex3D",synthetic:false,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl Clone for ColorVertex3D",synthetic:false,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl Clone for ImageVertex3D",synthetic:false,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl Clone for Vertex3D",synthetic:false,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Clone for TextVertex3D",synthetic:false,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Clone for GlyphInstance",synthetic:false,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl Clone for VertexTypes",synthetic:false,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl Clone for CanvasFrameAllocation",synthetic:false,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl Clone for Polygon",synthetic:false,types:["sfml_rust::drawables::polygon::Polygon"]},{text:"impl Clone for Sprite",synthetic:false,types:["sfml_rust::drawables::sprite::Sprite"]},{text:"impl Clone for Rect",synthetic:false,types:["sfml_rust::drawables::rect::Rect"]},{text:"impl Clone for CanvasState",synthetic:false,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Clone for TextShader",synthetic:false,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Clone for GenericShader",synthetic:false,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Clone for RuntimeVertexDef",synthetic:false,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Clone for ShaderType",synthetic:false,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Clone for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Clone for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Clone for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Clone for CompiledShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Clone for CanvasTexture",synthetic:false,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Clone for CanvasImage",synthetic:false,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Clone for CanvasFont",synthetic:false,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Clone for CompuBuffers",synthetic:false,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Clone for CompuKernel",synthetic:false,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Clone for ComputeSpecializationConstants",synthetic:false,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Clone for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Clone for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; if (window.register_implementors) { window.register_implementors(implementors); diff --git a/doc/implementors/core/fmt/trait.Debug.js b/doc/implementors/core/fmt/trait.Debug.js index 63ce726c..32ef93a4 100644 --- a/doc/implementors/core/fmt/trait.Debug.js +++ b/doc/implementors/core/fmt/trait.Debug.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["sfml_rust"] = [{text:"impl Debug for TextureVertex3D",synthetic:false,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl Debug for ColorVertex3D",synthetic:false,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl Debug for ImageVertex3D",synthetic:false,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl Debug for Vertex3D",synthetic:false,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Debug for TextVertex3D",synthetic:false,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Debug for GlyphInstance",synthetic:false,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl Debug for VertexTypes",synthetic:false,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl Debug for Sprite",synthetic:false,types:["sfml_rust::sprite::Sprite"]},{text:"impl Debug for RuntimeVertexDef",synthetic:false,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Debug for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Debug for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Debug for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Debug for CompiledShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Debug for ComputeSpecializationConstants",synthetic:false,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Debug for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Debug for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; +implementors["sfml_rust"] = [{text:"impl Debug for TextureVertex3D",synthetic:false,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl Debug for ColorVertex3D",synthetic:false,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl Debug for ImageVertex3D",synthetic:false,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl Debug for Vertex3D",synthetic:false,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Debug for TextVertex3D",synthetic:false,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Debug for GlyphInstance",synthetic:false,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl Debug for VertexTypes",synthetic:false,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl Debug for Polygon",synthetic:false,types:["sfml_rust::drawables::polygon::Polygon"]},{text:"impl Debug for Sprite",synthetic:false,types:["sfml_rust::drawables::sprite::Sprite"]},{text:"impl Debug for Rect",synthetic:false,types:["sfml_rust::drawables::rect::Rect"]},{text:"impl Debug for RuntimeVertexDef",synthetic:false,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Debug for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Debug for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Debug for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Debug for CompiledShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Debug for ComputeSpecializationConstants",synthetic:false,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Debug for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Debug for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; if (window.register_implementors) { window.register_implementors(implementors); diff --git a/doc/implementors/core/marker/trait.Freeze.js b/doc/implementors/core/marker/trait.Freeze.js index 3791775b..8fa253a9 100644 --- a/doc/implementors/core/marker/trait.Freeze.js +++ b/doc/implementors/core/marker/trait.Freeze.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["sfml_rust"] = [{text:"impl Freeze for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Freeze for TextureVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl Freeze for ColorVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl Freeze for ImageVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl Freeze for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Freeze for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Freeze for GlyphInstance",synthetic:true,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl Freeze for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl Freeze for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> Freeze for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Freeze for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl Freeze for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Freeze for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl Freeze for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Freeze for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Freeze for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Freeze for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Freeze for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Freeze for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Freeze for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Freeze for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Freeze for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl Freeze for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Freeze for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Freeze for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Freeze for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Freeze for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Freeze for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Freeze for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl Freeze for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Freeze for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Freeze for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Freeze for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; +implementors["sfml_rust"] = [{text:"impl Freeze for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Freeze for TextureVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl Freeze for ColorVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl Freeze for ImageVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl Freeze for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Freeze for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Freeze for GlyphInstance",synthetic:true,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl Freeze for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl Freeze for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> Freeze for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Freeze for Polygon",synthetic:true,types:["sfml_rust::drawables::polygon::Polygon"]},{text:"impl Freeze for Sprite",synthetic:true,types:["sfml_rust::drawables::sprite::Sprite"]},{text:"impl Freeze for Rect",synthetic:true,types:["sfml_rust::drawables::rect::Rect"]},{text:"impl Freeze for CompuSprite",synthetic:true,types:["sfml_rust::drawables::compu_sprite::CompuSprite"]},{text:"impl Freeze for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Freeze for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl Freeze for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Freeze for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Freeze for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Freeze for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Freeze for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Freeze for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Freeze for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Freeze for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Freeze for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl Freeze for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Freeze for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Freeze for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Freeze for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Freeze for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Freeze for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Freeze for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Freeze for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Freeze for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Freeze for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; if (window.register_implementors) { window.register_implementors(implementors); diff --git a/doc/implementors/core/marker/trait.Send.js b/doc/implementors/core/marker/trait.Send.js index 60067ec8..75ae3e0e 100644 --- a/doc/implementors/core/marker/trait.Send.js +++ b/doc/implementors/core/marker/trait.Send.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["sfml_rust"] = [{text:"impl Send for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Send for TextureVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl Send for ColorVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl Send for ImageVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl Send for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Send for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Send for GlyphInstance",synthetic:true,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl Send for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl Send for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> !Send for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Send for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl !Send for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Send for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl Send for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Send for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Send for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Send for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Send for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Send for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Send for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Send for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Send for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl Send for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Send for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Send for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Send for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Send for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Send for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Send for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl Send for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Send for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Send for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Send for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; +implementors["sfml_rust"] = [{text:"impl Send for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Send for TextureVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl Send for ColorVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl Send for ImageVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl Send for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Send for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Send for GlyphInstance",synthetic:true,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl Send for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl Send for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> !Send for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Send for Polygon",synthetic:true,types:["sfml_rust::drawables::polygon::Polygon"]},{text:"impl Send for Sprite",synthetic:true,types:["sfml_rust::drawables::sprite::Sprite"]},{text:"impl Send for Rect",synthetic:true,types:["sfml_rust::drawables::rect::Rect"]},{text:"impl Send for CompuSprite",synthetic:true,types:["sfml_rust::drawables::compu_sprite::CompuSprite"]},{text:"impl !Send for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Send for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl Send for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Send for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Send for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Send for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Send for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Send for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Send for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Send for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Send for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl Send for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Send for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Send for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Send for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Send for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Send for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Send for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Send for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Send for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Send for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; if (window.register_implementors) { window.register_implementors(implementors); diff --git a/doc/implementors/core/marker/trait.Sync.js b/doc/implementors/core/marker/trait.Sync.js index 40b96d64..fad777dc 100644 --- a/doc/implementors/core/marker/trait.Sync.js +++ b/doc/implementors/core/marker/trait.Sync.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["sfml_rust"] = [{text:"impl Sync for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Sync for TextureVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl Sync for ColorVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl Sync for ImageVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl Sync for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Sync for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Sync for GlyphInstance",synthetic:true,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl Sync for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl Sync for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> !Sync for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Sync for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl !Sync for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Sync for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl Sync for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Sync for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Sync for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Sync for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Sync for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Sync for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Sync for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Sync for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Sync for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl Sync for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Sync for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Sync for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Sync for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Sync for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Sync for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Sync for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl Sync for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Sync for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Sync for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Sync for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; +implementors["sfml_rust"] = [{text:"impl Sync for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Sync for TextureVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl Sync for ColorVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl Sync for ImageVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl Sync for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Sync for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Sync for GlyphInstance",synthetic:true,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl Sync for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl Sync for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> !Sync for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Sync for Polygon",synthetic:true,types:["sfml_rust::drawables::polygon::Polygon"]},{text:"impl Sync for Sprite",synthetic:true,types:["sfml_rust::drawables::sprite::Sprite"]},{text:"impl Sync for Rect",synthetic:true,types:["sfml_rust::drawables::rect::Rect"]},{text:"impl Sync for CompuSprite",synthetic:true,types:["sfml_rust::drawables::compu_sprite::CompuSprite"]},{text:"impl !Sync for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Sync for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl Sync for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Sync for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Sync for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Sync for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Sync for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Sync for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Sync for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Sync for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Sync for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl Sync for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Sync for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Sync for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Sync for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Sync for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Sync for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Sync for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Sync for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Sync for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Sync for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; if (window.register_implementors) { window.register_implementors(implementors); diff --git a/doc/implementors/core/marker/trait.Unpin.js b/doc/implementors/core/marker/trait.Unpin.js index fb3e4cb1..b18966af 100644 --- a/doc/implementors/core/marker/trait.Unpin.js +++ b/doc/implementors/core/marker/trait.Unpin.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["sfml_rust"] = [{text:"impl Unpin for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Unpin for TextureVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl Unpin for ColorVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl Unpin for ImageVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl Unpin for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Unpin for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Unpin for GlyphInstance",synthetic:true,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl Unpin for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl Unpin for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> Unpin for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Unpin for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl Unpin for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Unpin for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl Unpin for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Unpin for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Unpin for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Unpin for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Unpin for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Unpin for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Unpin for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Unpin for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Unpin for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl Unpin for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Unpin for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Unpin for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Unpin for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Unpin for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Unpin for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Unpin for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl Unpin for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Unpin for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Unpin for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Unpin for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; +implementors["sfml_rust"] = [{text:"impl Unpin for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Unpin for TextureVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl Unpin for ColorVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl Unpin for ImageVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl Unpin for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Unpin for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Unpin for GlyphInstance",synthetic:true,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl Unpin for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl Unpin for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> Unpin for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Unpin for Polygon",synthetic:true,types:["sfml_rust::drawables::polygon::Polygon"]},{text:"impl Unpin for Sprite",synthetic:true,types:["sfml_rust::drawables::sprite::Sprite"]},{text:"impl Unpin for Rect",synthetic:true,types:["sfml_rust::drawables::rect::Rect"]},{text:"impl Unpin for CompuSprite",synthetic:true,types:["sfml_rust::drawables::compu_sprite::CompuSprite"]},{text:"impl Unpin for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Unpin for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl Unpin for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Unpin for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Unpin for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Unpin for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Unpin for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Unpin for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Unpin for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Unpin for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Unpin for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl Unpin for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Unpin for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Unpin for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Unpin for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Unpin for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Unpin for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Unpin for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Unpin for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Unpin for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Unpin for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; if (window.register_implementors) { window.register_implementors(implementors); diff --git a/doc/implementors/std/panic/trait.RefUnwindSafe.js b/doc/implementors/std/panic/trait.RefUnwindSafe.js index 9d5eee24..4fbd86af 100644 --- a/doc/implementors/std/panic/trait.RefUnwindSafe.js +++ b/doc/implementors/std/panic/trait.RefUnwindSafe.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["sfml_rust"] = [{text:"impl RefUnwindSafe for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl RefUnwindSafe for TextureVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl RefUnwindSafe for ColorVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl RefUnwindSafe for ImageVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl RefUnwindSafe for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl RefUnwindSafe for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl RefUnwindSafe for GlyphInstance",synthetic:true,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl !RefUnwindSafe for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl RefUnwindSafe for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> !RefUnwindSafe for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl RefUnwindSafe for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl !RefUnwindSafe for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl RefUnwindSafe for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl !RefUnwindSafe for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl !RefUnwindSafe for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl RefUnwindSafe for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl RefUnwindSafe for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl RefUnwindSafe for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl RefUnwindSafe for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl RefUnwindSafe for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl RefUnwindSafe for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl RefUnwindSafe for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl RefUnwindSafe for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl RefUnwindSafe for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl !RefUnwindSafe for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl RefUnwindSafe for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl RefUnwindSafe for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl RefUnwindSafe for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl RefUnwindSafe for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl RefUnwindSafe for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl RefUnwindSafe for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl RefUnwindSafe for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl RefUnwindSafe for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; +implementors["sfml_rust"] = [{text:"impl RefUnwindSafe for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl RefUnwindSafe for TextureVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl RefUnwindSafe for ColorVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl RefUnwindSafe for ImageVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl RefUnwindSafe for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl RefUnwindSafe for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl RefUnwindSafe for GlyphInstance",synthetic:true,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl !RefUnwindSafe for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl RefUnwindSafe for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> !RefUnwindSafe for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl RefUnwindSafe for Polygon",synthetic:true,types:["sfml_rust::drawables::polygon::Polygon"]},{text:"impl RefUnwindSafe for Sprite",synthetic:true,types:["sfml_rust::drawables::sprite::Sprite"]},{text:"impl RefUnwindSafe for Rect",synthetic:true,types:["sfml_rust::drawables::rect::Rect"]},{text:"impl RefUnwindSafe for CompuSprite",synthetic:true,types:["sfml_rust::drawables::compu_sprite::CompuSprite"]},{text:"impl !RefUnwindSafe for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl RefUnwindSafe for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl !RefUnwindSafe for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl !RefUnwindSafe for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl RefUnwindSafe for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl RefUnwindSafe for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl RefUnwindSafe for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl RefUnwindSafe for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl RefUnwindSafe for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl RefUnwindSafe for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl RefUnwindSafe for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl RefUnwindSafe for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl RefUnwindSafe for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl !RefUnwindSafe for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl RefUnwindSafe for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl RefUnwindSafe for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl RefUnwindSafe for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl RefUnwindSafe for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl RefUnwindSafe for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl RefUnwindSafe for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl RefUnwindSafe for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; if (window.register_implementors) { window.register_implementors(implementors); diff --git a/doc/implementors/std/panic/trait.UnwindSafe.js b/doc/implementors/std/panic/trait.UnwindSafe.js index 27d03645..17d09ce7 100644 --- a/doc/implementors/std/panic/trait.UnwindSafe.js +++ b/doc/implementors/std/panic/trait.UnwindSafe.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["sfml_rust"] = [{text:"impl UnwindSafe for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl UnwindSafe for TextureVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl UnwindSafe for ColorVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl UnwindSafe for ImageVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl UnwindSafe for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl UnwindSafe for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl UnwindSafe for GlyphInstance",synthetic:true,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl !UnwindSafe for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl UnwindSafe for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> !UnwindSafe for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl UnwindSafe for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl !UnwindSafe for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl UnwindSafe for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl !UnwindSafe for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl !UnwindSafe for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl UnwindSafe for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl UnwindSafe for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl UnwindSafe for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl UnwindSafe for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl UnwindSafe for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl UnwindSafe for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl UnwindSafe for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl UnwindSafe for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl UnwindSafe for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl !UnwindSafe for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl UnwindSafe for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl UnwindSafe for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl UnwindSafe for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl UnwindSafe for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl UnwindSafe for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl UnwindSafe for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl UnwindSafe for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl UnwindSafe for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; +implementors["sfml_rust"] = [{text:"impl UnwindSafe for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl UnwindSafe for TextureVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex3D"]},{text:"impl UnwindSafe for ColorVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex3D"]},{text:"impl UnwindSafe for ImageVertex3D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex3D"]},{text:"impl UnwindSafe for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl UnwindSafe for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl UnwindSafe for GlyphInstance",synthetic:true,types:["sfml_rust::util::vertex::GlyphInstance"]},{text:"impl !UnwindSafe for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl UnwindSafe for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> !UnwindSafe for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl UnwindSafe for Polygon",synthetic:true,types:["sfml_rust::drawables::polygon::Polygon"]},{text:"impl UnwindSafe for Sprite",synthetic:true,types:["sfml_rust::drawables::sprite::Sprite"]},{text:"impl UnwindSafe for Rect",synthetic:true,types:["sfml_rust::drawables::rect::Rect"]},{text:"impl UnwindSafe for CompuSprite",synthetic:true,types:["sfml_rust::drawables::compu_sprite::CompuSprite"]},{text:"impl !UnwindSafe for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl UnwindSafe for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl !UnwindSafe for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl !UnwindSafe for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl UnwindSafe for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl UnwindSafe for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl UnwindSafe for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl UnwindSafe for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl UnwindSafe for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl UnwindSafe for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl UnwindSafe for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl UnwindSafe for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl UnwindSafe for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl !UnwindSafe for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl UnwindSafe for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl UnwindSafe for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl UnwindSafe for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl UnwindSafe for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl UnwindSafe for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl UnwindSafe for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl UnwindSafe for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},]; if (window.register_implementors) { window.register_implementors(implementors); diff --git a/doc/search-index.js b/doc/search-index.js index 0b99e963..d12fc4f0 100644 --- a/doc/search-index.js +++ b/doc/search-index.js @@ -1,5 +1,5 @@ var N=null,E="",T="t",U="u",searchIndex={}; -var R=["sfml_rust::util","v_position","ti_position","sfml_rust","vkprocessor","string","option","canvasimagehandle","compubufferhandle","canvastexturehandle","attachmentimage","physicaldevice","capabilities","compiledshaderhandle","Using the dimensions and suggested usage, load a…","canvasfonthandle","get_texture_handle","get_shader_handle","get_font_handle","immutableimage","canvasframe","framebufferabstract","canvasframeallocation","autocommandbufferbuilder","sfml_rust::canvas","sfml_rust::canvas::managed::shader","CanvasShader holds the pipeline and render pass for the…","device","shadertype","renderpassabstract","graphicspipelineabstract","sfml_rust::canvas::managed","Typed wrapper for a u32 handle","get_handle","descriptorset","get_descriptor_set","compuframe","compukernelhandle","sfml_rust::compute","new_compute_buffer","read_compute_buffer","write_compute_buffer","get_kernel_handle","canvasstate","computepipeline","persistentdescriptorset","cpuaccessiblebuffer","sfml_rust::compute::managed","compusprite","get_pipeline","pipelinelayout","get_name","sfml_rust::util::timer","sfml_rust::util::vertex","try_from","try_into","borrow_mut","to_subset","is_in_subset","to_subset_unchecked","from_subset","ref_from_ptr","is_size_suitable","indiv_size","to_owned","clone_into","result","type_id","borrow","typeid","sfml_rust::vkprocessor","sfml_rust::sprite","sfml_rust::canvas::canvas_state","sfml_rust::canvas::canvas_frame","sfml_rust::canvas::managed::shader::text_shader","sfml_rust::canvas::managed::shader::generic_shader","sfml_rust::canvas::managed::shader::dynamic_vertex","incompatiblevertexdefinitionerror","sfml_rust::canvas::managed::shader::shader_common","sfml_rust::canvas::managed::handles","sfml_rust::canvas::managed::gpu_buffers","sfml_rust::compute::compu_frame","sfml_rust::compute::compu_state","sfml_rust::compute::managed::compu_buffer","sfml_rust::compute::managed::compu_sprite","sfml_rust::compute::managed::compu_kernel","sfml_rust::compute::managed::handles","vertextypes","get_renderpass","recompile","textshader","This will explode when the shader does not want to compile","genericshader","default","runtimevertexdef","texturevertex3d","colorvertex3d","imagevertex3d","vertex3d","textvertex3d","glyphinstance","compubuffers","compukernel","computespecializationconstants","formatter","definition","vertexmemberinfo","TextureVertex3D","ColorVertex3D","ImageVertex3D","TextVertex3D","GlyphInstance","CanvasFrameAllocation","VertexTypes","VkProcessor","CanvasState","CanvasFrame","RuntimeVertexDef","ShaderType","CompiledShaderResources","CompiledShader","CanvasTextureHandle","DrawableHandle","CanvasTexture","CanvasImage","CanvasFont","CompuFrame","CompuState","CompuBuffers","CompuSprite","CompuKernel","TextShader","GenericShader","CanvasFontHandle","CanvasImageHandle","CompiledShaderHandle","ComputeSpecializationConstants","CompuBufferHandle","CompuKernelHandle"]; +var R=["sfml_rust::util","v_position","ti_position","sfml_rust","vkprocessor","string","option","canvasimagehandle","compubufferhandle","polygon","sfml_rust::drawables","canvastexturehandle","attachmentimage","physicaldevice","capabilities","compiledshaderhandle","Using the dimensions and suggested usage, load a…","canvasfonthandle","get_texture_handle","get_shader_handle","get_font_handle","immutableimage","canvasframe","framebufferabstract","canvasframeallocation","autocommandbufferbuilder","sfml_rust::canvas","sfml_rust::canvas::managed::shader","CanvasShader holds the pipeline and render pass for the…","device","shadertype","renderpassabstract","graphicspipelineabstract","sfml_rust::canvas::managed","Typed wrapper for a u32 handle","get_handle","descriptorset","get_descriptor_set","compuframe","compukernelhandle","compusprite","sfml_rust::compute","new_compute_buffer","read_compute_buffer","write_compute_buffer","get_kernel_handle","canvasstate","computepipeline","persistentdescriptorset","cpuaccessiblebuffer","sfml_rust::compute::managed","get_pipeline","pipelinelayout","get_name","sfml_rust::util::timer","sfml_rust::util::vertex","try_from","try_into","borrow_mut","to_subset","is_in_subset","to_subset_unchecked","from_subset","ref_from_ptr","is_size_suitable","indiv_size","to_owned","clone_into","result","type_id","borrow","typeid","sfml_rust::vkprocessor","sfml_rust::drawables::polygon","sfml_rust::drawables::sprite","sfml_rust::drawables::rect","sfml_rust::drawables::compu_sprite","sfml_rust::canvas::canvas_state","sfml_rust::canvas::canvas_frame","sfml_rust::canvas::managed::shader::text_shader","sfml_rust::canvas::managed::shader::generic_shader","sfml_rust::canvas::managed::shader::dynamic_vertex","incompatiblevertexdefinitionerror","sfml_rust::canvas::managed::shader::shader_common","sfml_rust::canvas::managed::handles","sfml_rust::canvas::managed::gpu_buffers","sfml_rust::compute::compu_frame","sfml_rust::compute::compu_state","sfml_rust::compute::managed::compu_buffer","sfml_rust::compute::managed::compu_kernel","sfml_rust::compute::managed::handles","vertextypes","get_renderpass","recompile","textshader","This will explode when the shader does not want to compile","genericshader","default","runtimevertexdef","texturevertex3d","colorvertex3d","imagevertex3d","textvertex3d","glyphinstance","compubuffers","compukernel","computespecializationconstants","formatter","definition","vertexmemberinfo","TextureVertex3D","ColorVertex3D","ImageVertex3D","TextVertex3D","GlyphInstance","CanvasFrameAllocation","VertexTypes","VkProcessor","CompuSprite","CanvasState","CanvasFrame","RuntimeVertexDef","ShaderType","CompiledShaderResources","CompiledShader","CanvasTextureHandle","DrawableHandle","CanvasTexture","CanvasImage","CanvasFont","CompuFrame","CompuState","CompuBuffers","CompuKernel","TextShader","GenericShader","CanvasFontHandle","CanvasImageHandle","CompiledShaderHandle","ComputeSpecializationConstants","CompuBufferHandle","CompuKernelHandle"]; -searchIndex["sfml_rust"]={"doc":E,"i":[[5,"main",R[3],E,N,[[]]],[0,"util",E,E,N,N],[5,"load_raw",R[0],E,N,[[[R[5]]]]],[0,"timer",E,E,N,N],[3,"Timer",R[52],E,N,N],[11,"new",E,E,0,[[],["timer"]]],[11,"elap_time",E,E,0,[[["self"]],["f32"]]],[11,"frame_time",E,E,0,[[["self"]],["f32"]]],[0,"vertex",R[0],E,N,N],[3,R[107],R[53],E,N,N],[12,R[1],E,E,1,N],[12,R[2],E,E,1,N],[3,R[108],E,E,N,N],[12,R[1],E,E,2,N],[12,"color",E,E,2,N],[3,R[109],E,E,N,N],[12,R[1],E,E,3,N],[12,R[2],E,E,3,N],[3,"Vertex3D",E,E,N,N],[12,R[1],E,E,4,N],[12,"color",E,E,4,N],[12,R[2],E,E,4,N],[3,R[110],E,"Text vertex 3d with vertex position",N,N],[12,"position",E,E,5,N],[3,R[111],E,E,N,N],[12,"screen_position",E,E,6,N],[12,"atlas_position",E,E,6,N],[12,"atlas_size",E,E,6,N],[12,"scale",E,E,6,N],[3,R[112],E,E,N,N],[12,"colored_vertex_buffer",E,E,7,N],[12,"textured_vertex_buffer",E,E,7,N],[12,"image_vertex_buffer",E,E,7,N],[12,"text_instances",E,E,7,N],[4,R[113],E,E,N,N],[13,"TextureType",E,E,8,N],[13,"ImageType",E,E,8,N],[13,"ColorType",E,E,8,N],[13,"ThreeDType",E,E,8,N],[0,R[4],R[3],E,N,N],[3,R[114],R[70],"VKProcessor holds the vulkan instance information, the…",N,N],[12,"instance",E,E,9,N],[12,"physical",E,E,9,N],[12,R[27],E,E,9,N],[12,"queues",E,E,9,N],[12,"queue",E,E,9,N],[12,"swapchain",E,E,9,N],[12,"swapchain_images",E,E,9,N],[11,"new",E,"Creates a new VkProcessor from an instance and surface…",9,[[["arc"],["arc"]],[R[4]]]],[11,"is_open",E,"VKProcessor controls the window. So it will let the main…",9,[[["self"]],["bool"]]],[11,"create_swapchain",E,"Using the surface, we calculate the surface capabilities…",9,[[["self"],["arc"]]]],[11,"recreate_swapchain",E,"On screen resizes, the swapchain and images must be…",9,[[["self"],["arc"]]]],[11,"preload_textures",E,"A hardcoded list of textures which can be preloaded from…",9,[[["self"]]]],[11,"preload_kernels",E,"A hardcoded list of kernels which can be preloaded from…",9,[[["self"]]]],[11,"preload_shaders",E,"A hardcoded list of shaders which can be preloaded from…",9,[[["self"]]]],[11,"preload_fonts",E,"A hardcoded list of shaders which can be proloaded from…",9,[[["self"]]]],[11,R[16],E,"O(n) Lookup for the matching texture string",9,[[["self"],[R[5]]],[["arc",[R[9]]],[R[6],["arc"]]]]],[11,R[42],E,"O(n) Lookup for the matching kernel string",9,[[["self"],[R[5]]],[["arc",[R[37]]],[R[6],["arc"]]]]],[11,R[17],E,"O(n) Lookup for the matching shader string",9,[[["self"],[R[5]]],[["arc",[R[13]]],[R[6],["arc"]]]]],[11,R[18],E,E,9,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[15]]]]]],[11,"new_swap_image",E,"Create a new image which has the transfer usage",9,[[["self"]],[["arc",[R[7]]],[R[7]]]]],[11,R[39],E,"Builds a compute buffer and returns it's handle",9,[[["self"],["u32"],["vec",["u8"]],["u8"]],[[R[8]],["arc",[R[8]]]]]],[11,R[40],E,"Takes a compute buffer handle and returns the read data",9,[[["self"],["arc",[R[8]]],[R[8]]],[["vec",["u8"]],["u8"]]]],[11,R[41],E,"Takes a compute buffer handle and writes the received data",9,[[["self"],["u8"],["arc",[R[8]]],["vec",["u8"]],[R[8]]]]],[11,"run",E,E,9,[[["self"],[R[20]],[R[36]],["arc"]]]],[0,"sprite",R[3],E,N,N],[3,"Sprite",R[71],E,N,N],[12,"verts",E,E,10,N],[11,"new",E,E,10,[[["u32"],[R[9]],["arc",[R[9]]]],["sprite"]]],[0,"canvas",R[3],E,N,N],[0,"canvas_state",R[24],E,N,N],[3,R[115],R[72],"Canvas state is used for storage of texture and image…",N,N],[11,"window_size_dependent_setup",E,"This method is called once during initialization, then…",11,[[["self"]],[["arc",[R[21]]],["vec",["arc"]]]]],[11,"new",E,"Creates a Canvas State. Which at this point is pretty empty",11,[[[R[12]],["arc",["queue"]],[R[27]],["arc",[R[27]]],[R[11]],["queue"]],[R[43]]]],[11,"create_image",E,R[14],11,[[["self"],["imageusage"]],[["arc",[R[7]]],[R[7]]]]],[11,"get_image",E,"Return the image buffer from an input image handle",11,[[["self"],["arc",[R[7]]],[R[7]]],[[R[10]],["arc",[R[10]]]]]],[11,"load_texture",E,"Load a texture using it's filename from a file. Returns…",11,[[["self"],[R[5]]],[["arc",[R[9]]],[R[6],["arc"]]]]],[11,"load_shader",E,"Load and Compile a shader with the filename at…",11,[[["self"],[R[5]],[R[11]],[R[12]]],[["arc",[R[13]]],[R[6],["arc"]]]]],[11,"load_font",E,R[14],11,[[["self"],[R[5]]],[[R[15]],["arc",[R[15]]]]]],[11,R[16],E,"Using the texture name, iterates through the stored…",11,[[["self"],[R[5]]],[["arc",[R[9]]],[R[6],["arc"]]]]],[11,R[17],E,"Using the shader name, iterates through the stored shaders…",11,[[["self"],[R[5]]],[["arc",[R[13]]],[R[6],["arc"]]]]],[11,R[18],E,"Using the font name, iterates through the stored fonts and…",11,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[15]]]]]],[11,"get_texture",E,"Using the texture handle, grab the stored texture and…",11,[[["self"],["arc",[R[9]]],[R[9]]],[[R[19],["format"]],["arc",[R[19]]]]]],[11,"allocate",E,"Consume and allocate the canvas frame data to the GPU",11,[[["self"],[R[20]]],[R[22]]]],[11,"draw_commands",E,"Pushes the draw commands to the command buffer. Requires…",11,[[["self"],[R[23]],["arc",[R[21]]],["vec",["arc"]],["usize"],[R[22]]],[R[23]]]],[0,"canvas_frame",R[24],E,N,N],[3,R[116],R[73],"Accumulator for Vectors of VertexTypes",N,N],[12,"map",E,E,12,N],[8,"Drawable",E,"Trait which may be inherited by objects that wish to be…",N,N],[10,"get",E,E,13,[[["self"]],[R[87]]]],[11,"draw",E,"Push this drawable onto the back of the accumulator",12,[[["self"],["drawable"]]]],[0,"managed",R[24],E,N,N],[0,"shader",R[31],E,N,N],[0,"text_shader",R[25],E,N,N],[3,R[131],R[74],R[26],N,N],[0,"generic_shader",R[25],E,N,N],[3,R[132],R[75],R[26],N,N],[0,"dynamic_vertex",R[25],E,N,N],[3,R[117],R[76],"Runtime Vertex def is just a generic holder of \"dynamic…",N,N],[11,"from_primitive",E,"primitive is an input value or struct which can then…",14,[[["u32"]],[R[94]]]],[11,"vertex_buffer_ids",E,"Returns the indices of the buffers to bind as vertex…",14,[[["self"]]]],[0,"shader_common",R[25],E,N,N],[4,R[118],R[78],"Legacy ShaderType enum for single type shaders.",N,N],[13,"VERTEX",E,E,15,N],[13,"FRAGMENT",E,E,15,N],[13,"GEOMETRY",E,E,15,N],[13,"TESSELLATION_CONTROL",E,E,15,N],[13,"TESSELLATION_EVALUATION",E,E,15,N],[8,R[119],E,"Inheriting this gives private functions to grab resources",N,N],[11,"get_path",E,E,16,[[[R[5]],[R[28]]],["pathbuf"]]],[11,"compile",E,E,16,[[[R[27]],["arc",[R[27]]],["pathbuf"],[R[28]]]]],[11,"convert_vk",E,E,16,[[[R[28]]],["graphicsshadertype"]]],[11,"convert_sr",E,E,16,[[[R[28]]],["shaderkind"]]],[8,R[120],E,E,N,N],[10,"new",E,E,17,[[["arc",[R[29]]],[R[29]],[R[27]],[R[5]],["arc",[R[27]]],["arc",[R[13]]],[R[13]]],["self"]]],[10,R[51],E,E,17,[[["self"]],[R[5]]]],[10,R[33],E,E,17,[[["self"]],[["arc",[R[13]]],[R[13]]]]],[10,R[49],E,E,17,[[["self"]],[["arc",[R[30]]],[R[30]]]]],[10,R[88],E,E,17,[[["self"]],[["arc",[R[29]]],[R[29]]]]],[10,R[89],E,E,17,[[["arc",[R[29]]],[R[29]]],["self"]]],[0,"handles",R[31],E,N,N],[3,R[133],R[79],R[32],N,N],[3,R[121],E,R[32],N,N],[12,"handle",E,E,18,N],[3,R[134],E,R[32],N,N],[3,R[135],E,R[32],N,N],[4,R[122],E,E,N,N],[13,"Texture",E,E,19,N],[13,"Image",E,E,19,N],[13,"Font",E,E,19,N],[8,"Handle",E,E,N,N],[10,R[33],E,E,20,[[["self"]],["u32"]]],[0,"canvas_text",R[31],E,N,N],[0,"gpu_buffers",E,E,N,N],[3,R[123],R[80],"Canvas buffer which represents an allocated Texture with a…",N,N],[3,R[124],E,"Canvas buffer which represents an allocated image and…",N,N],[3,R[125],E,"Canvas Font which represents an allocated image and…",N,N],[11,R[35],E,E,21,[[["self"],["arc",[R[30]]],[R[30]],["arc",["sampler"]],["sampler"]],[["box",[R[34]]],[R[34]]]]],[11,R[35],E,E,22,[[["self"],["arc",[R[30]]],[R[30]]],[["box",[R[34]]],[R[34]]]]],[11,R[35],E,E,23,[[["arc",[R[30]]],[R[30]]],[["box",[R[34]]],[R[34]]]]],[0,"compute",R[3],E,N,N],[0,"compu_frame",R[38],E,N,N],[3,R[126],R[81],E,N,N],[12,"pure_compute",E,E,24,N],[12,"swapped_to_image",E,E,24,N],[12,"swapped_to_buffer",E,E,24,N],[11,"new",E,E,24,[[],[R[36]]]],[11,"add",E,E,24,[[["self"],["arc",[R[37]]],["arc",[R[8]]],[R[37]],[R[8]]]]],[11,"add_chained",E,E,24,[[["self"],["arc",[R[37]]],["arc",[R[8]]],[R[37]],[R[8]]]]],[11,"add_with_image_swap",E,E,24,[[["self"],["arc",[R[37]]],["arc",[R[8]]],[R[37]],[R[48]],[R[8]]]]],[0,"compu_state",R[38],E,N,N],[3,R[127],R[82],"State holding the compute buffers for computation and the…",N,N],[11,"new",E,E,25,[[],["compustate"]]],[11,R[39],E,"Creates a 2d compute buffer from incoming data",25,[[["self"],["u32"],[R[27]],["vec",["u8"]],["arc",[R[27]]],["u8"]],[[R[8]],["arc",[R[8]]]]]],[11,R[40],E,"Read the compute buffer back into a Vec (TODO BROKEN)",25,[[["self"],["arc",[R[8]]],[R[8]]],[["vec",["u8"]],["u8"]]]],[11,R[41],E,"Write to the compute buffer, ostensibly overwriting what's…",25,[[["self"],["u8"],["arc",[R[8]]],["vec",["u8"]],[R[8]]]]],[11,"new_kernel",E,E,25,[[["self"],[R[27]],[R[5]],["arc",[R[27]]]],[["arc",[R[37]]],[R[37]]]]],[11,R[42],E,E,25,[[["self"],[R[5]]],[["arc",[R[37]]],[R[6],["arc"]]]]],[11,"compute_commands",E,E,25,[[["self"],[R[36]],[R[23]],[R[43]]],[R[23]]]],[0,"managed",R[38],E,N,N],[0,"compu_buffer",R[47],E,N,N],[3,R[128],R[83],E,N,N],[11,"new",E,E,26,[[["u8"],["u32"],["arc",[R[27]]],[R[27]],["vec",["u8"]],["arc",[R[8]]],[R[8]]],[R[101]]]],[11,"get_size",E,E,26,[[["self"]]]],[11,R[35],E,E,26,[[["self"],["arc",[R[44]]],[R[44],[R[50]]]],[[R[45],["arc"]],["arc",[R[45]]]]]],[11,"read_output_buffer",E,E,26,[[["self"]],[["vec",["u8"]],["rgba",["u8"]],["imagebuffer",["rgba","vec"]]]]],[11,"get_input_buffer",E,E,26,[[["self"]],[["arc",[R[46]]],[R[46]]]]],[11,"get_output_buffer",E,E,26,[[["self"]],[["arc",[R[46]]],[R[46]]]]],[0,"compu_sprite",R[47],E,N,N],[3,R[129],R[84],E,N,N],[12,"vertices",E,E,27,N],[12,R[2],E,E,27,N],[11,"new",E,E,27,[[["u32"],["arc",[R[7]]],[R[7]]],[R[48]]]],[0,"compu_kernel",R[47],E,N,N],[3,R[130],R[85],E,N,N],[3,R[136],E,E,N,N],[11,"new",E,E,28,[[["arc",[R[37]]],[R[27]],[R[5]],["arc",[R[27]]],[R[37]]],[R[102]]]],[11,R[49],E,E,28,[[["self"]],[["arc",[R[44]]],[R[44],[R[50]]]]]],[11,"recompile_kernel",E,E,28,[[["self"]],[[R[44],[R[50]]],["arc",[R[44]]]]]],[11,"compile_kernel",E,E,28,[[["self"],[R[5]]],[["arc",[R[44]]],[R[44],[R[50]]]]]],[11,R[33],E,E,28,[[["self"]],[["arc",[R[37]]],[R[37]]]]],[11,R[51],E,E,28,[[["self"]],[R[5]]]],[0,"handles",R[47],E,N,N],[3,R[137],R[86],R[32],N,N],[3,R[138],E,R[32],N,N],[11,"into",R[52],E,0,[[],[U]]],[11,"from",E,E,0,[[[T]],[T]]],[11,R[54],E,E,0,[[[U]],[R[66]]]],[11,R[55],E,E,0,[[],[R[66]]]],[11,R[56],E,E,0,[[["self"]],[T]]],[11,R[68],E,E,0,[[["self"]],[T]]],[11,R[67],E,E,0,[[["self"]],[R[69]]]],[11,R[57],E,E,0,[[["self"]],[R[6]]]],[11,R[58],E,E,0,[[["self"]],["bool"]]],[11,R[59],E,E,0,[[["self"]],["ss"]]],[11,R[60],E,E,0,[[["ss"]],["sp"]]],[11,R[61],E,E,0,[[["usize"]],[R[6]]]],[11,R[62],E,E,0,[[["usize"]],["bool"]]],[11,R[63],E,E,0,[[],["usize"]]],[11,R[64],R[53],E,1,[[["self"]],[T]]],[11,R[65],E,E,1,[[["self"],[T]]]],[11,"into",E,E,1,[[],[U]]],[11,"from",E,E,1,[[[T]],[T]]],[11,R[54],E,E,1,[[[U]],[R[66]]]],[11,R[55],E,E,1,[[],[R[66]]]],[11,R[56],E,E,1,[[["self"]],[T]]],[11,R[68],E,E,1,[[["self"]],[T]]],[11,R[67],E,E,1,[[["self"]],[R[69]]]],[11,R[57],E,E,1,[[["self"]],[R[6]]]],[11,R[58],E,E,1,[[["self"]],["bool"]]],[11,R[59],E,E,1,[[["self"]],["ss"]]],[11,R[60],E,E,1,[[["ss"]],["sp"]]],[11,R[61],E,E,1,[[["usize"]],[R[6]]]],[11,R[62],E,E,1,[[["usize"]],["bool"]]],[11,R[63],E,E,1,[[],["usize"]]],[11,R[64],E,E,2,[[["self"]],[T]]],[11,R[65],E,E,2,[[["self"],[T]]]],[11,"into",E,E,2,[[],[U]]],[11,"from",E,E,2,[[[T]],[T]]],[11,R[54],E,E,2,[[[U]],[R[66]]]],[11,R[55],E,E,2,[[],[R[66]]]],[11,R[56],E,E,2,[[["self"]],[T]]],[11,R[68],E,E,2,[[["self"]],[T]]],[11,R[67],E,E,2,[[["self"]],[R[69]]]],[11,R[57],E,E,2,[[["self"]],[R[6]]]],[11,R[58],E,E,2,[[["self"]],["bool"]]],[11,R[59],E,E,2,[[["self"]],["ss"]]],[11,R[60],E,E,2,[[["ss"]],["sp"]]],[11,R[61],E,E,2,[[["usize"]],[R[6]]]],[11,R[62],E,E,2,[[["usize"]],["bool"]]],[11,R[63],E,E,2,[[],["usize"]]],[11,R[64],E,E,3,[[["self"]],[T]]],[11,R[65],E,E,3,[[["self"],[T]]]],[11,"into",E,E,3,[[],[U]]],[11,"from",E,E,3,[[[T]],[T]]],[11,R[54],E,E,3,[[[U]],[R[66]]]],[11,R[55],E,E,3,[[],[R[66]]]],[11,R[56],E,E,3,[[["self"]],[T]]],[11,R[68],E,E,3,[[["self"]],[T]]],[11,R[67],E,E,3,[[["self"]],[R[69]]]],[11,R[57],E,E,3,[[["self"]],[R[6]]]],[11,R[58],E,E,3,[[["self"]],["bool"]]],[11,R[59],E,E,3,[[["self"]],["ss"]]],[11,R[60],E,E,3,[[["ss"]],["sp"]]],[11,R[61],E,E,3,[[["usize"]],[R[6]]]],[11,R[62],E,E,3,[[["usize"]],["bool"]]],[11,R[63],E,E,3,[[],["usize"]]],[11,R[64],E,E,4,[[["self"]],[T]]],[11,R[65],E,E,4,[[["self"],[T]]]],[11,"into",E,E,4,[[],[U]]],[11,"from",E,E,4,[[[T]],[T]]],[11,R[54],E,E,4,[[[U]],[R[66]]]],[11,R[55],E,E,4,[[],[R[66]]]],[11,R[56],E,E,4,[[["self"]],[T]]],[11,R[68],E,E,4,[[["self"]],[T]]],[11,R[67],E,E,4,[[["self"]],[R[69]]]],[11,R[57],E,E,4,[[["self"]],[R[6]]]],[11,R[58],E,E,4,[[["self"]],["bool"]]],[11,R[59],E,E,4,[[["self"]],["ss"]]],[11,R[60],E,E,4,[[["ss"]],["sp"]]],[11,R[61],E,E,4,[[["usize"]],[R[6]]]],[11,R[62],E,E,4,[[["usize"]],["bool"]]],[11,R[63],E,E,4,[[],["usize"]]],[11,R[64],E,E,5,[[["self"]],[T]]],[11,R[65],E,E,5,[[["self"],[T]]]],[11,"into",E,E,5,[[],[U]]],[11,"from",E,E,5,[[[T]],[T]]],[11,R[54],E,E,5,[[[U]],[R[66]]]],[11,R[55],E,E,5,[[],[R[66]]]],[11,R[56],E,E,5,[[["self"]],[T]]],[11,R[68],E,E,5,[[["self"]],[T]]],[11,R[67],E,E,5,[[["self"]],[R[69]]]],[11,R[57],E,E,5,[[["self"]],[R[6]]]],[11,R[58],E,E,5,[[["self"]],["bool"]]],[11,R[59],E,E,5,[[["self"]],["ss"]]],[11,R[60],E,E,5,[[["ss"]],["sp"]]],[11,R[61],E,E,5,[[["usize"]],[R[6]]]],[11,R[62],E,E,5,[[["usize"]],["bool"]]],[11,R[63],E,E,5,[[],["usize"]]],[11,R[64],E,E,6,[[["self"]],[T]]],[11,R[65],E,E,6,[[["self"],[T]]]],[11,"into",E,E,6,[[],[U]]],[11,"from",E,E,6,[[[T]],[T]]],[11,R[54],E,E,6,[[[U]],[R[66]]]],[11,R[55],E,E,6,[[],[R[66]]]],[11,R[56],E,E,6,[[["self"]],[T]]],[11,R[68],E,E,6,[[["self"]],[T]]],[11,R[67],E,E,6,[[["self"]],[R[69]]]],[11,R[57],E,E,6,[[["self"]],[R[6]]]],[11,R[58],E,E,6,[[["self"]],["bool"]]],[11,R[59],E,E,6,[[["self"]],["ss"]]],[11,R[60],E,E,6,[[["ss"]],["sp"]]],[11,R[61],E,E,6,[[["usize"]],[R[6]]]],[11,R[62],E,E,6,[[["usize"]],["bool"]]],[11,R[63],E,E,6,[[],["usize"]]],[11,R[64],E,E,7,[[["self"]],[T]]],[11,R[65],E,E,7,[[["self"],[T]]]],[11,"into",E,E,7,[[],[U]]],[11,"from",E,E,7,[[[T]],[T]]],[11,R[54],E,E,7,[[[U]],[R[66]]]],[11,R[55],E,E,7,[[],[R[66]]]],[11,R[56],E,E,7,[[["self"]],[T]]],[11,R[68],E,E,7,[[["self"]],[T]]],[11,R[67],E,E,7,[[["self"]],[R[69]]]],[11,R[57],E,E,7,[[["self"]],[R[6]]]],[11,R[58],E,E,7,[[["self"]],["bool"]]],[11,R[59],E,E,7,[[["self"]],["ss"]]],[11,R[60],E,E,7,[[["ss"]],["sp"]]],[11,R[61],E,E,7,[[["usize"]],[R[6]]]],[11,R[62],E,E,7,[[["usize"]],["bool"]]],[11,R[63],E,E,7,[[],["usize"]]],[11,R[64],E,E,8,[[["self"]],[T]]],[11,R[65],E,E,8,[[["self"],[T]]]],[11,"into",E,E,8,[[],[U]]],[11,"from",E,E,8,[[[T]],[T]]],[11,R[54],E,E,8,[[[U]],[R[66]]]],[11,R[55],E,E,8,[[],[R[66]]]],[11,R[56],E,E,8,[[["self"]],[T]]],[11,R[68],E,E,8,[[["self"]],[T]]],[11,R[67],E,E,8,[[["self"]],[R[69]]]],[11,R[57],E,E,8,[[["self"]],[R[6]]]],[11,R[58],E,E,8,[[["self"]],["bool"]]],[11,R[59],E,E,8,[[["self"]],["ss"]]],[11,R[60],E,E,8,[[["ss"]],["sp"]]],[11,R[61],E,E,8,[[["usize"]],[R[6]]]],[11,R[62],E,E,8,[[["usize"]],["bool"]]],[11,R[63],E,E,8,[[],["usize"]]],[11,"into",R[70],E,9,[[],[U]]],[11,"from",E,E,9,[[[T]],[T]]],[11,R[54],E,E,9,[[[U]],[R[66]]]],[11,R[55],E,E,9,[[],[R[66]]]],[11,R[56],E,E,9,[[["self"]],[T]]],[11,R[68],E,E,9,[[["self"]],[T]]],[11,R[67],E,E,9,[[["self"]],[R[69]]]],[11,R[57],E,E,9,[[["self"]],[R[6]]]],[11,R[58],E,E,9,[[["self"]],["bool"]]],[11,R[59],E,E,9,[[["self"]],["ss"]]],[11,R[60],E,E,9,[[["ss"]],["sp"]]],[11,R[61],E,E,9,[[["usize"]],[R[6]]]],[11,R[62],E,E,9,[[["usize"]],["bool"]]],[11,R[63],E,E,9,[[],["usize"]]],[11,R[64],R[71],E,10,[[["self"]],[T]]],[11,R[65],E,E,10,[[["self"],[T]]]],[11,"into",E,E,10,[[],[U]]],[11,"from",E,E,10,[[[T]],[T]]],[11,R[54],E,E,10,[[[U]],[R[66]]]],[11,R[55],E,E,10,[[],[R[66]]]],[11,R[56],E,E,10,[[["self"]],[T]]],[11,R[68],E,E,10,[[["self"]],[T]]],[11,R[67],E,E,10,[[["self"]],[R[69]]]],[11,R[57],E,E,10,[[["self"]],[R[6]]]],[11,R[58],E,E,10,[[["self"]],["bool"]]],[11,R[59],E,E,10,[[["self"]],["ss"]]],[11,R[60],E,E,10,[[["ss"]],["sp"]]],[11,R[61],E,E,10,[[["usize"]],[R[6]]]],[11,R[62],E,E,10,[[["usize"]],["bool"]]],[11,R[63],E,E,10,[[],["usize"]]],[11,R[64],R[72],E,11,[[["self"]],[T]]],[11,R[65],E,E,11,[[["self"],[T]]]],[11,"into",E,E,11,[[],[U]]],[11,"from",E,E,11,[[[T]],[T]]],[11,R[54],E,E,11,[[[U]],[R[66]]]],[11,R[55],E,E,11,[[],[R[66]]]],[11,R[56],E,E,11,[[["self"]],[T]]],[11,R[68],E,E,11,[[["self"]],[T]]],[11,R[67],E,E,11,[[["self"]],[R[69]]]],[11,R[57],E,E,11,[[["self"]],[R[6]]]],[11,R[58],E,E,11,[[["self"]],["bool"]]],[11,R[59],E,E,11,[[["self"]],["ss"]]],[11,R[60],E,E,11,[[["ss"]],["sp"]]],[11,R[61],E,E,11,[[["usize"]],[R[6]]]],[11,R[62],E,E,11,[[["usize"]],["bool"]]],[11,R[63],E,E,11,[[],["usize"]]],[11,"into",R[73],E,12,[[],[U]]],[11,"from",E,E,12,[[[T]],[T]]],[11,R[54],E,E,12,[[[U]],[R[66]]]],[11,R[55],E,E,12,[[],[R[66]]]],[11,R[56],E,E,12,[[["self"]],[T]]],[11,R[68],E,E,12,[[["self"]],[T]]],[11,R[67],E,E,12,[[["self"]],[R[69]]]],[11,R[57],E,E,12,[[["self"]],[R[6]]]],[11,R[58],E,E,12,[[["self"]],["bool"]]],[11,R[59],E,E,12,[[["self"]],["ss"]]],[11,R[60],E,E,12,[[["ss"]],["sp"]]],[11,R[61],E,E,12,[[["usize"]],[R[6]]]],[11,R[62],E,E,12,[[["usize"]],["bool"]]],[11,R[63],E,E,12,[[],["usize"]]],[11,R[64],R[74],E,29,[[["self"]],[T]]],[11,R[65],E,E,29,[[["self"],[T]]]],[11,"into",E,E,29,[[],[U]]],[11,"from",E,E,29,[[[T]],[T]]],[11,R[54],E,E,29,[[[U]],[R[66]]]],[11,R[55],E,E,29,[[],[R[66]]]],[11,R[56],E,E,29,[[["self"]],[T]]],[11,R[68],E,E,29,[[["self"]],[T]]],[11,R[67],E,E,29,[[["self"]],[R[69]]]],[11,R[57],E,E,29,[[["self"]],[R[6]]]],[11,R[58],E,E,29,[[["self"]],["bool"]]],[11,R[59],E,E,29,[[["self"]],["ss"]]],[11,R[60],E,E,29,[[["ss"]],["sp"]]],[11,R[61],E,E,29,[[["usize"]],[R[6]]]],[11,R[62],E,E,29,[[["usize"]],["bool"]]],[11,R[63],E,E,29,[[],["usize"]]],[11,R[64],R[75],E,30,[[["self"]],[T]]],[11,R[65],E,E,30,[[["self"],[T]]]],[11,"into",E,E,30,[[],[U]]],[11,"from",E,E,30,[[[T]],[T]]],[11,R[54],E,E,30,[[[U]],[R[66]]]],[11,R[55],E,E,30,[[],[R[66]]]],[11,R[56],E,E,30,[[["self"]],[T]]],[11,R[68],E,E,30,[[["self"]],[T]]],[11,R[67],E,E,30,[[["self"]],[R[69]]]],[11,R[57],E,E,30,[[["self"]],[R[6]]]],[11,R[58],E,E,30,[[["self"]],["bool"]]],[11,R[59],E,E,30,[[["self"]],["ss"]]],[11,R[60],E,E,30,[[["ss"]],["sp"]]],[11,R[61],E,E,30,[[["usize"]],[R[6]]]],[11,R[62],E,E,30,[[["usize"]],["bool"]]],[11,R[63],E,E,30,[[],["usize"]]],[11,R[64],R[76],E,14,[[["self"]],[T]]],[11,R[65],E,E,14,[[["self"],[T]]]],[11,"into",E,E,14,[[],[U]]],[11,"from",E,E,14,[[[T]],[T]]],[11,R[54],E,E,14,[[[U]],[R[66]]]],[11,R[55],E,E,14,[[],[R[66]]]],[11,R[56],E,E,14,[[["self"]],[T]]],[11,R[68],E,E,14,[[["self"]],[T]]],[11,R[67],E,E,14,[[["self"]],[R[69]]]],[11,R[57],E,E,14,[[["self"]],[R[6]]]],[11,R[58],E,E,14,[[["self"]],["bool"]]],[11,R[59],E,E,14,[[["self"]],["ss"]]],[11,R[60],E,E,14,[[["ss"]],["sp"]]],[11,R[61],E,E,14,[[["usize"]],[R[6]]]],[11,R[62],E,E,14,[[["usize"]],["bool"]]],[11,R[63],E,E,14,[[],["usize"]]],[11,"decode",E,E,14,[[["self"],["l"]]]],[11,R[105],E,E,14,[[["self"],["i"]],[[R[77]],[R[66],[R[77]]]]]],[11,R[64],R[78],E,15,[[["self"]],[T]]],[11,R[65],E,E,15,[[["self"],[T]]]],[11,"into",E,E,15,[[],[U]]],[11,"from",E,E,15,[[[T]],[T]]],[11,R[54],E,E,15,[[[U]],[R[66]]]],[11,R[55],E,E,15,[[],[R[66]]]],[11,R[56],E,E,15,[[["self"]],[T]]],[11,R[68],E,E,15,[[["self"]],[T]]],[11,R[67],E,E,15,[[["self"]],[R[69]]]],[11,R[57],E,E,15,[[["self"]],[R[6]]]],[11,R[58],E,E,15,[[["self"]],["bool"]]],[11,R[59],E,E,15,[[["self"]],["ss"]]],[11,R[60],E,E,15,[[["ss"]],["sp"]]],[11,R[61],E,E,15,[[["usize"]],[R[6]]]],[11,R[62],E,E,15,[[["usize"]],["bool"]]],[11,R[63],E,E,15,[[],["usize"]]],[11,R[64],R[79],E,31,[[["self"]],[T]]],[11,R[65],E,E,31,[[["self"],[T]]]],[11,"into",E,E,31,[[],[U]]],[11,"from",E,E,31,[[[T]],[T]]],[11,R[54],E,E,31,[[[U]],[R[66]]]],[11,R[55],E,E,31,[[],[R[66]]]],[11,R[56],E,E,31,[[["self"]],[T]]],[11,R[68],E,E,31,[[["self"]],[T]]],[11,R[67],E,E,31,[[["self"]],[R[69]]]],[11,R[57],E,E,31,[[["self"]],[R[6]]]],[11,R[58],E,E,31,[[["self"]],["bool"]]],[11,R[59],E,E,31,[[["self"]],["ss"]]],[11,R[60],E,E,31,[[["ss"]],["sp"]]],[11,R[61],E,E,31,[[["usize"]],[R[6]]]],[11,R[62],E,E,31,[[["usize"]],["bool"]]],[11,R[63],E,E,31,[[],["usize"]]],[11,R[64],E,E,18,[[["self"]],[T]]],[11,R[65],E,E,18,[[["self"],[T]]]],[11,"into",E,E,18,[[],[U]]],[11,"from",E,E,18,[[[T]],[T]]],[11,R[54],E,E,18,[[[U]],[R[66]]]],[11,R[55],E,E,18,[[],[R[66]]]],[11,R[56],E,E,18,[[["self"]],[T]]],[11,R[68],E,E,18,[[["self"]],[T]]],[11,R[67],E,E,18,[[["self"]],[R[69]]]],[11,R[57],E,E,18,[[["self"]],[R[6]]]],[11,R[58],E,E,18,[[["self"]],["bool"]]],[11,R[59],E,E,18,[[["self"]],["ss"]]],[11,R[60],E,E,18,[[["ss"]],["sp"]]],[11,R[61],E,E,18,[[["usize"]],[R[6]]]],[11,R[62],E,E,18,[[["usize"]],["bool"]]],[11,R[63],E,E,18,[[],["usize"]]],[11,R[64],E,E,32,[[["self"]],[T]]],[11,R[65],E,E,32,[[["self"],[T]]]],[11,"into",E,E,32,[[],[U]]],[11,"from",E,E,32,[[[T]],[T]]],[11,R[54],E,E,32,[[[U]],[R[66]]]],[11,R[55],E,E,32,[[],[R[66]]]],[11,R[56],E,E,32,[[["self"]],[T]]],[11,R[68],E,E,32,[[["self"]],[T]]],[11,R[67],E,E,32,[[["self"]],[R[69]]]],[11,R[57],E,E,32,[[["self"]],[R[6]]]],[11,R[58],E,E,32,[[["self"]],["bool"]]],[11,R[59],E,E,32,[[["self"]],["ss"]]],[11,R[60],E,E,32,[[["ss"]],["sp"]]],[11,R[61],E,E,32,[[["usize"]],[R[6]]]],[11,R[62],E,E,32,[[["usize"]],["bool"]]],[11,R[63],E,E,32,[[],["usize"]]],[11,R[64],E,E,33,[[["self"]],[T]]],[11,R[65],E,E,33,[[["self"],[T]]]],[11,"into",E,E,33,[[],[U]]],[11,"from",E,E,33,[[[T]],[T]]],[11,R[54],E,E,33,[[[U]],[R[66]]]],[11,R[55],E,E,33,[[],[R[66]]]],[11,R[56],E,E,33,[[["self"]],[T]]],[11,R[68],E,E,33,[[["self"]],[T]]],[11,R[67],E,E,33,[[["self"]],[R[69]]]],[11,R[57],E,E,33,[[["self"]],[R[6]]]],[11,R[58],E,E,33,[[["self"]],["bool"]]],[11,R[59],E,E,33,[[["self"]],["ss"]]],[11,R[60],E,E,33,[[["ss"]],["sp"]]],[11,R[61],E,E,33,[[["usize"]],[R[6]]]],[11,R[62],E,E,33,[[["usize"]],["bool"]]],[11,R[63],E,E,33,[[],["usize"]]],[11,"into",E,E,19,[[],[U]]],[11,"from",E,E,19,[[[T]],[T]]],[11,R[54],E,E,19,[[[U]],[R[66]]]],[11,R[55],E,E,19,[[],[R[66]]]],[11,R[56],E,E,19,[[["self"]],[T]]],[11,R[68],E,E,19,[[["self"]],[T]]],[11,R[67],E,E,19,[[["self"]],[R[69]]]],[11,R[57],E,E,19,[[["self"]],[R[6]]]],[11,R[58],E,E,19,[[["self"]],["bool"]]],[11,R[59],E,E,19,[[["self"]],["ss"]]],[11,R[60],E,E,19,[[["ss"]],["sp"]]],[11,R[61],E,E,19,[[["usize"]],[R[6]]]],[11,R[62],E,E,19,[[["usize"]],["bool"]]],[11,R[63],E,E,19,[[],["usize"]]],[11,R[64],R[80],E,21,[[["self"]],[T]]],[11,R[65],E,E,21,[[["self"],[T]]]],[11,"into",E,E,21,[[],[U]]],[11,"from",E,E,21,[[[T]],[T]]],[11,R[54],E,E,21,[[[U]],[R[66]]]],[11,R[55],E,E,21,[[],[R[66]]]],[11,R[56],E,E,21,[[["self"]],[T]]],[11,R[68],E,E,21,[[["self"]],[T]]],[11,R[67],E,E,21,[[["self"]],[R[69]]]],[11,R[57],E,E,21,[[["self"]],[R[6]]]],[11,R[58],E,E,21,[[["self"]],["bool"]]],[11,R[59],E,E,21,[[["self"]],["ss"]]],[11,R[60],E,E,21,[[["ss"]],["sp"]]],[11,R[61],E,E,21,[[["usize"]],[R[6]]]],[11,R[62],E,E,21,[[["usize"]],["bool"]]],[11,R[63],E,E,21,[[],["usize"]]],[11,R[64],E,E,22,[[["self"]],[T]]],[11,R[65],E,E,22,[[["self"],[T]]]],[11,"into",E,E,22,[[],[U]]],[11,"from",E,E,22,[[[T]],[T]]],[11,R[54],E,E,22,[[[U]],[R[66]]]],[11,R[55],E,E,22,[[],[R[66]]]],[11,R[56],E,E,22,[[["self"]],[T]]],[11,R[68],E,E,22,[[["self"]],[T]]],[11,R[67],E,E,22,[[["self"]],[R[69]]]],[11,R[57],E,E,22,[[["self"]],[R[6]]]],[11,R[58],E,E,22,[[["self"]],["bool"]]],[11,R[59],E,E,22,[[["self"]],["ss"]]],[11,R[60],E,E,22,[[["ss"]],["sp"]]],[11,R[61],E,E,22,[[["usize"]],[R[6]]]],[11,R[62],E,E,22,[[["usize"]],["bool"]]],[11,R[63],E,E,22,[[],["usize"]]],[11,R[64],E,E,23,[[["self"]],[T]]],[11,R[65],E,E,23,[[["self"],[T]]]],[11,"into",E,E,23,[[],[U]]],[11,"from",E,E,23,[[[T]],[T]]],[11,R[54],E,E,23,[[[U]],[R[66]]]],[11,R[55],E,E,23,[[],[R[66]]]],[11,R[56],E,E,23,[[["self"]],[T]]],[11,R[68],E,E,23,[[["self"]],[T]]],[11,R[67],E,E,23,[[["self"]],[R[69]]]],[11,R[57],E,E,23,[[["self"]],[R[6]]]],[11,R[58],E,E,23,[[["self"]],["bool"]]],[11,R[59],E,E,23,[[["self"]],["ss"]]],[11,R[60],E,E,23,[[["ss"]],["sp"]]],[11,R[61],E,E,23,[[["usize"]],[R[6]]]],[11,R[62],E,E,23,[[["usize"]],["bool"]]],[11,R[63],E,E,23,[[],["usize"]]],[11,"into",R[81],E,24,[[],[U]]],[11,"from",E,E,24,[[[T]],[T]]],[11,R[54],E,E,24,[[[U]],[R[66]]]],[11,R[55],E,E,24,[[],[R[66]]]],[11,R[56],E,E,24,[[["self"]],[T]]],[11,R[68],E,E,24,[[["self"]],[T]]],[11,R[67],E,E,24,[[["self"]],[R[69]]]],[11,R[57],E,E,24,[[["self"]],[R[6]]]],[11,R[58],E,E,24,[[["self"]],["bool"]]],[11,R[59],E,E,24,[[["self"]],["ss"]]],[11,R[60],E,E,24,[[["ss"]],["sp"]]],[11,R[61],E,E,24,[[["usize"]],[R[6]]]],[11,R[62],E,E,24,[[["usize"]],["bool"]]],[11,R[63],E,E,24,[[],["usize"]]],[11,"into",R[82],E,25,[[],[U]]],[11,"from",E,E,25,[[[T]],[T]]],[11,R[54],E,E,25,[[[U]],[R[66]]]],[11,R[55],E,E,25,[[],[R[66]]]],[11,R[56],E,E,25,[[["self"]],[T]]],[11,R[68],E,E,25,[[["self"]],[T]]],[11,R[67],E,E,25,[[["self"]],[R[69]]]],[11,R[57],E,E,25,[[["self"]],[R[6]]]],[11,R[58],E,E,25,[[["self"]],["bool"]]],[11,R[59],E,E,25,[[["self"]],["ss"]]],[11,R[60],E,E,25,[[["ss"]],["sp"]]],[11,R[61],E,E,25,[[["usize"]],[R[6]]]],[11,R[62],E,E,25,[[["usize"]],["bool"]]],[11,R[63],E,E,25,[[],["usize"]]],[11,R[64],R[83],E,26,[[["self"]],[T]]],[11,R[65],E,E,26,[[["self"],[T]]]],[11,"into",E,E,26,[[],[U]]],[11,"from",E,E,26,[[[T]],[T]]],[11,R[54],E,E,26,[[[U]],[R[66]]]],[11,R[55],E,E,26,[[],[R[66]]]],[11,R[56],E,E,26,[[["self"]],[T]]],[11,R[68],E,E,26,[[["self"]],[T]]],[11,R[67],E,E,26,[[["self"]],[R[69]]]],[11,R[57],E,E,26,[[["self"]],[R[6]]]],[11,R[58],E,E,26,[[["self"]],["bool"]]],[11,R[59],E,E,26,[[["self"]],["ss"]]],[11,R[60],E,E,26,[[["ss"]],["sp"]]],[11,R[61],E,E,26,[[["usize"]],[R[6]]]],[11,R[62],E,E,26,[[["usize"]],["bool"]]],[11,R[63],E,E,26,[[],["usize"]]],[11,"into",R[84],E,27,[[],[U]]],[11,"from",E,E,27,[[[T]],[T]]],[11,R[54],E,E,27,[[[U]],[R[66]]]],[11,R[55],E,E,27,[[],[R[66]]]],[11,R[56],E,E,27,[[["self"]],[T]]],[11,R[68],E,E,27,[[["self"]],[T]]],[11,R[67],E,E,27,[[["self"]],[R[69]]]],[11,R[57],E,E,27,[[["self"]],[R[6]]]],[11,R[58],E,E,27,[[["self"]],["bool"]]],[11,R[59],E,E,27,[[["self"]],["ss"]]],[11,R[60],E,E,27,[[["ss"]],["sp"]]],[11,R[61],E,E,27,[[["usize"]],[R[6]]]],[11,R[62],E,E,27,[[["usize"]],["bool"]]],[11,R[63],E,E,27,[[],["usize"]]],[11,R[64],R[85],E,28,[[["self"]],[T]]],[11,R[65],E,E,28,[[["self"],[T]]]],[11,"into",E,E,28,[[],[U]]],[11,"from",E,E,28,[[[T]],[T]]],[11,R[54],E,E,28,[[[U]],[R[66]]]],[11,R[55],E,E,28,[[],[R[66]]]],[11,R[56],E,E,28,[[["self"]],[T]]],[11,R[68],E,E,28,[[["self"]],[T]]],[11,R[67],E,E,28,[[["self"]],[R[69]]]],[11,R[57],E,E,28,[[["self"]],[R[6]]]],[11,R[58],E,E,28,[[["self"]],["bool"]]],[11,R[59],E,E,28,[[["self"]],["ss"]]],[11,R[60],E,E,28,[[["ss"]],["sp"]]],[11,R[61],E,E,28,[[["usize"]],[R[6]]]],[11,R[62],E,E,28,[[["usize"]],["bool"]]],[11,R[63],E,E,28,[[],["usize"]]],[11,R[64],E,E,34,[[["self"]],[T]]],[11,R[65],E,E,34,[[["self"],[T]]]],[11,"into",E,E,34,[[],[U]]],[11,"from",E,E,34,[[[T]],[T]]],[11,R[54],E,E,34,[[[U]],[R[66]]]],[11,R[55],E,E,34,[[],[R[66]]]],[11,R[56],E,E,34,[[["self"]],[T]]],[11,R[68],E,E,34,[[["self"]],[T]]],[11,R[67],E,E,34,[[["self"]],[R[69]]]],[11,R[57],E,E,34,[[["self"]],[R[6]]]],[11,R[58],E,E,34,[[["self"]],["bool"]]],[11,R[59],E,E,34,[[["self"]],["ss"]]],[11,R[60],E,E,34,[[["ss"]],["sp"]]],[11,R[61],E,E,34,[[["usize"]],[R[6]]]],[11,R[62],E,E,34,[[["usize"]],["bool"]]],[11,R[63],E,E,34,[[],["usize"]]],[11,R[64],R[86],E,35,[[["self"]],[T]]],[11,R[65],E,E,35,[[["self"],[T]]]],[11,"into",E,E,35,[[],[U]]],[11,"from",E,E,35,[[[T]],[T]]],[11,R[54],E,E,35,[[[U]],[R[66]]]],[11,R[55],E,E,35,[[],[R[66]]]],[11,R[56],E,E,35,[[["self"]],[T]]],[11,R[68],E,E,35,[[["self"]],[T]]],[11,R[67],E,E,35,[[["self"]],[R[69]]]],[11,R[57],E,E,35,[[["self"]],[R[6]]]],[11,R[58],E,E,35,[[["self"]],["bool"]]],[11,R[59],E,E,35,[[["self"]],["ss"]]],[11,R[60],E,E,35,[[["ss"]],["sp"]]],[11,R[61],E,E,35,[[["usize"]],[R[6]]]],[11,R[62],E,E,35,[[["usize"]],["bool"]]],[11,R[63],E,E,35,[[],["usize"]]],[11,R[64],E,E,36,[[["self"]],[T]]],[11,R[65],E,E,36,[[["self"],[T]]]],[11,"into",E,E,36,[[],[U]]],[11,"from",E,E,36,[[[T]],[T]]],[11,R[54],E,E,36,[[[U]],[R[66]]]],[11,R[55],E,E,36,[[],[R[66]]]],[11,R[56],E,E,36,[[["self"]],[T]]],[11,R[68],E,E,36,[[["self"]],[T]]],[11,R[67],E,E,36,[[["self"]],[R[69]]]],[11,R[57],E,E,36,[[["self"]],[R[6]]]],[11,R[58],E,E,36,[[["self"]],["bool"]]],[11,R[59],E,E,36,[[["self"]],["ss"]]],[11,R[60],E,E,36,[[["ss"]],["sp"]]],[11,R[61],E,E,36,[[["usize"]],[R[6]]]],[11,R[62],E,E,36,[[["usize"]],["bool"]]],[11,R[63],E,E,36,[[],["usize"]]],[11,"get",R[71],E,10,[[["self"]],[R[87]]]],[11,"new",R[74],R[91],29,[[["arc",[R[29]]],[R[29]],[R[27]],[R[5]],["arc",[R[27]]],["arc",[R[13]]],[R[13]]],[R[90]]]],[11,R[51],E,E,29,[[["self"]],[R[5]]]],[11,R[33],E,E,29,[[["self"]],[["arc",[R[13]]],[R[13]]]]],[11,R[49],E,E,29,[[["self"]],[["arc",[R[30]]],[R[30]]]]],[11,R[88],E,E,29,[[["self"]],[["arc",[R[29]]],[R[29]]]]],[11,R[89],E,E,29,[[["arc",[R[29]]],[R[29]]],[R[90]]]],[11,"new",R[75],R[91],30,[[["arc",[R[29]]],[R[29]],[R[27]],[R[5]],["arc",[R[27]]],["arc",[R[13]]],[R[13]]],[R[92]]]],[11,R[51],E,E,30,[[["self"]],[R[5]]]],[11,R[33],E,E,30,[[["self"]],[["arc",[R[13]]],[R[13]]]]],[11,R[49],E,E,30,[[["self"]],[["arc",[R[30]]],[R[30]]]]],[11,R[88],E,E,30,[[["self"]],[["arc",[R[29]]],[R[29]]]]],[11,R[89],E,E,30,[[["arc",[R[29]]],[R[29]]],[R[92]]]],[11,R[33],R[79],E,31,[[["self"]],["u32"]]],[11,R[33],E,E,18,[[["self"]],["u32"]]],[11,R[33],E,E,32,[[["self"]],["u32"]]],[11,R[33],E,E,33,[[["self"]],["u32"]]],[11,R[33],R[86],E,35,[[["self"]],["u32"]]],[11,R[33],E,E,36,[[["self"]],["u32"]]],[11,R[93],R[53],E,1,[[],[R[95]]]],[11,R[93],E,E,2,[[],[R[96]]]],[11,R[93],E,E,3,[[],[R[97]]]],[11,R[93],E,E,4,[[],[R[98]]]],[11,R[93],E,E,5,[[],[R[99]]]],[11,R[93],E,E,6,[[],[R[100]]]],[11,R[93],R[73],E,12,[[],[R[20]]]],[11,R[93],R[76],E,14,[[],[R[94]]]],[11,R[93],R[79],E,31,[[],[R[15]]]],[11,R[93],E,E,18,[[],[R[9]]]],[11,R[93],E,E,32,[[],[R[7]]]],[11,R[93],E,E,33,[[],[R[13]]]],[11,R[93],R[85],E,34,[[],[R[103]]]],[11,R[93],R[86],E,35,[[],[R[8]]]],[11,R[93],E,E,36,[[],[R[37]]]],[11,"clone",R[53],E,1,[[["self"]],[R[95]]]],[11,"clone",E,E,2,[[["self"]],[R[96]]]],[11,"clone",E,E,3,[[["self"]],[R[97]]]],[11,"clone",E,E,4,[[["self"]],[R[98]]]],[11,"clone",E,E,5,[[["self"]],[R[99]]]],[11,"clone",E,E,6,[[["self"]],[R[100]]]],[11,"clone",E,E,8,[[["self"]],[R[87]]]],[11,"clone",E,E,7,[[["self"]],[R[22]]]],[11,"clone",R[71],E,10,[[["self"]],["sprite"]]],[11,"clone",R[72],E,11,[[["self"]],[R[43]]]],[11,"clone",R[74],E,29,[[["self"]],[R[90]]]],[11,"clone",R[75],E,30,[[["self"]],[R[92]]]],[11,"clone",R[76],E,14,[[["self"]],[R[94]]]],[11,"clone",R[78],E,15,[[["self"]],[R[28]]]],[11,"clone",R[79],E,31,[[["self"]],[R[15]]]],[11,"clone",E,E,18,[[["self"]],[R[9]]]],[11,"clone",E,E,32,[[["self"]],[R[7]]]],[11,"clone",E,E,33,[[["self"]],[R[13]]]],[11,"clone",R[80],E,21,[[["self"]],["canvastexture"]]],[11,"clone",E,E,22,[[["self"]],["canvasimage"]]],[11,"clone",E,E,23,[[["self"]],["canvasfont"]]],[11,"clone",R[83],E,26,[[["self"]],[R[101]]]],[11,"clone",R[85],E,28,[[["self"]],[R[102]]]],[11,"clone",E,E,34,[[["self"]],[R[103]]]],[11,"clone",R[86],E,35,[[["self"]],[R[8]]]],[11,"clone",E,E,36,[[["self"]],[R[37]]]],[11,"eq",R[78],E,15,[[["self"],[R[28]]],["bool"]]],[11,"eq",R[79],E,31,[[["self"],[R[15]]],["bool"]]],[11,"ne",E,E,31,[[["self"],[R[15]]],["bool"]]],[11,"eq",E,E,18,[[["self"],[R[9]]],["bool"]]],[11,"ne",E,E,18,[[["self"],[R[9]]],["bool"]]],[11,"eq",E,E,32,[[["self"],[R[7]]],["bool"]]],[11,"ne",E,E,32,[[["self"],[R[7]]],["bool"]]],[11,"eq",E,E,33,[[["self"],[R[13]]],["bool"]]],[11,"ne",E,E,33,[[["self"],[R[13]]],["bool"]]],[11,"eq",R[86],E,35,[[["self"],[R[8]]],["bool"]]],[11,"ne",E,E,35,[[["self"],[R[8]]],["bool"]]],[11,"eq",E,E,36,[[["self"],[R[37]]],["bool"]]],[11,"ne",E,E,36,[[["self"],[R[37]]],["bool"]]],[11,"hash",R[78],E,15,[[["self"],["__h"]]]],[11,"hash",R[79],E,31,[[["self"],["__h"]]]],[11,"hash",E,E,18,[[["self"],["__h"]]]],[11,"hash",E,E,32,[[["self"],["__h"]]]],[11,"hash",E,E,33,[[["self"],["__h"]]]],[11,"hash",R[86],E,35,[[["self"],["__h"]]]],[11,"hash",E,E,36,[[["self"],["__h"]]]],[11,"fmt",R[53],E,1,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,2,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,3,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,4,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,5,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,6,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,8,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",R[71],E,10,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",R[76],E,14,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",R[79],E,31,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,18,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,32,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,33,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",R[85],E,34,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",R[86],E,35,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,36,[[["self"],[R[104]]],[R[66]]]],[11,"decode",R[76],E,14,[[["self"],["vec",["arc"]],["arc",["bufferaccess"]]]]],[11,"descriptors",R[85],E,34,[[]]],[11,R[105],R[76],"Builds the vertex definition to use to link this…",14,[[["self"],["i"]],[[R[77]],[R[66],[R[77]]]]]],[11,"member",R[53],E,1,[[["str"]],[[R[6],[R[106]]],[R[106]]]]],[11,"member",E,E,2,[[["str"]],[[R[6],[R[106]]],[R[106]]]]],[11,"member",E,E,3,[[["str"]],[[R[6],[R[106]]],[R[106]]]]],[11,"member",E,E,4,[[["str"]],[[R[6],[R[106]]],[R[106]]]]],[11,"member",E,E,5,[[["str"]],[[R[6],[R[106]]],[R[106]]]]],[11,"member",E,E,6,[[["str"]],[[R[6],[R[106]]],[R[106]]]]]],"p":[[3,"Timer"],[3,R[107]],[3,R[108]],[3,R[109]],[3,"Vertex3D"],[3,R[110]],[3,R[111]],[3,R[112]],[4,R[113]],[3,R[114]],[3,"Sprite"],[3,R[115]],[3,R[116]],[8,"Drawable"],[3,R[117]],[4,R[118]],[8,R[119]],[8,R[120]],[3,R[121]],[4,R[122]],[8,"Handle"],[3,R[123]],[3,R[124]],[3,R[125]],[3,R[126]],[3,R[127]],[3,R[128]],[3,R[129]],[3,R[130]],[3,R[131]],[3,R[132]],[3,R[133]],[3,R[134]],[3,R[135]],[3,R[136]],[3,R[137]],[3,R[138]]]}; +searchIndex["sfml_rust"]={"doc":E,"i":[[5,"main",R[3],E,N,[[]]],[0,"util",E,E,N,N],[5,"load_raw",R[0],E,N,[[[R[5]]]]],[0,"timer",E,E,N,N],[3,"Timer",R[54],E,N,N],[11,"new",E,E,0,[[],["timer"]]],[11,"elap_time",E,E,0,[[["self"]],["f32"]]],[11,"frame_time",E,E,0,[[["self"]],["f32"]]],[0,"vertex",R[0],E,N,N],[3,R[110],R[55],E,N,N],[12,R[1],E,E,1,N],[12,R[2],E,E,1,N],[3,R[111],E,E,N,N],[12,R[1],E,E,2,N],[12,"color",E,E,2,N],[3,R[112],E,E,N,N],[12,R[1],E,E,3,N],[12,R[2],E,E,3,N],[3,"Vertex3D",E,E,N,N],[12,R[1],E,E,4,N],[12,"color",E,E,4,N],[12,R[2],E,E,4,N],[3,R[113],E,"Text vertex 3d with vertex position",N,N],[12,"position",E,E,5,N],[3,R[114],E,E,N,N],[12,"screen_position",E,E,6,N],[12,"atlas_position",E,E,6,N],[12,"atlas_size",E,E,6,N],[12,"scale",E,E,6,N],[3,R[115],E,E,N,N],[12,"colored_vertex_buffer",E,E,7,N],[12,"textured_vertex_buffer",E,E,7,N],[12,"image_vertex_buffer",E,E,7,N],[12,"text_instances",E,E,7,N],[4,R[116],E,E,N,N],[13,"TextureType",E,E,8,N],[13,"ImageType",E,E,8,N],[13,"ColorType",E,E,8,N],[13,"ThreeDType",E,E,8,N],[0,R[4],R[3],E,N,N],[3,R[117],R[72],"VKProcessor holds the vulkan instance information, the…",N,N],[12,"instance",E,E,9,N],[12,"physical",E,E,9,N],[12,R[29],E,E,9,N],[12,"queues",E,E,9,N],[12,"queue",E,E,9,N],[12,"swapchain",E,E,9,N],[12,"swapchain_images",E,E,9,N],[11,"new",E,"Creates a new VkProcessor from an instance and surface…",9,[[["arc"],["arc"]],[R[4]]]],[11,"is_open",E,"VKProcessor controls the window. So it will let the main…",9,[[["self"]],["bool"]]],[11,"create_swapchain",E,"Using the surface, we calculate the surface capabilities…",9,[[["self"],["arc"]]]],[11,"recreate_swapchain",E,"On screen resizes, the swapchain and images must be…",9,[[["self"],["arc"]]]],[11,"preload_textures",E,"A hardcoded list of textures which can be preloaded from…",9,[[["self"]]]],[11,"preload_kernels",E,"A hardcoded list of kernels which can be preloaded from…",9,[[["self"]]]],[11,"preload_shaders",E,"A hardcoded list of shaders which can be preloaded from…",9,[[["self"]]]],[11,"preload_fonts",E,"A hardcoded list of shaders which can be proloaded from…",9,[[["self"]]]],[11,R[18],E,"O(n) Lookup for the matching texture string",9,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[11]]]]]],[11,R[45],E,"O(n) Lookup for the matching kernel string",9,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[39]]]]]],[11,R[19],E,"O(n) Lookup for the matching shader string",9,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[15]]]]]],[11,R[20],E,E,9,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[17]]]]]],[11,"new_swap_image",E,"Create a new image which has the transfer usage",9,[[["self"]],[["arc",[R[7]]],[R[7]]]]],[11,R[42],E,"Builds a compute buffer and returns it's handle",9,[[["self"],["u32"],["vec",["u8"]],["u8"]],[["arc",[R[8]]],[R[8]]]]],[11,R[43],E,"Takes a compute buffer handle and returns the read data",9,[[["self"],["arc",[R[8]]],[R[8]]],[["vec",["u8"]],["u8"]]]],[11,R[44],E,"Takes a compute buffer handle and writes the received data",9,[[["self"],["arc",[R[8]]],["vec",["u8"]],[R[8]],["u8"]]]],[11,"run",E,"Run the VKprocessor for a single frame, consuming the…",9,[[["self"],[R[22]],[R[38]],["arc"]]]],[0,"drawables",R[3],E,N,N],[0,R[9],R[10],E,N,N],[3,"Polygon",R[73],"Convex multi verticy polygon",N,N],[12,"verts",E,E,10,N],[11,"new",E,E,10,[[["u32"]],[R[9]]]],[0,"sprite",R[10],E,N,N],[3,"Sprite",R[74],E,N,N],[12,"verts",E,E,11,N],[11,"new",E,E,11,[[["u32"],[R[11]],["arc",[R[11]]]],["sprite"]]],[0,"rect",R[10],E,N,N],[3,"Rect",R[75],E,N,N],[12,"verts",E,E,12,N],[11,"new",E,E,12,[[["u32"]],["rect"]]],[0,"compu_sprite",R[10],E,N,N],[3,R[118],R[76],E,N,N],[12,"verts",E,E,13,N],[11,"new",E,E,13,[[["u32"],[R[7]],["arc",[R[7]]]],[R[40]]]],[0,"canvas",R[3],E,N,N],[0,"canvas_state",R[26],E,N,N],[3,R[119],R[77],"Canvas state is used for storage of texture and image…",N,N],[11,"window_size_dependent_setup",E,"This method is called once during initialization, then…",14,[[["self"]],[["arc",[R[23]]],["vec",["arc"]]]]],[11,"new",E,"Creates a Canvas State. Which at this point is pretty empty",14,[[[R[14]],["arc",["queue"]],[R[29]],["arc",[R[29]]],[R[13]],["queue"]],[R[46]]]],[11,"create_image",E,R[16],14,[[["self"],["imageusage"]],[["arc",[R[7]]],[R[7]]]]],[11,"get_image",E,"Return the image buffer from an input image handle",14,[[["self"],["arc",[R[7]]],[R[7]]],[[R[12]],["arc",[R[12]]]]]],[11,"load_texture",E,"Load a texture using it's filename from a file. Returns…",14,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[11]]]]]],[11,"load_shader",E,"Load and Compile a shader with the filename at…",14,[[["self"],[R[5]],[R[13]],[R[14]]],[[R[6],["arc"]],["arc",[R[15]]]]]],[11,"load_font",E,R[16],14,[[["self"],[R[5]]],[["arc",[R[17]]],[R[17]]]]],[11,R[18],E,"Using the texture name, iterates through the stored…",14,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[11]]]]]],[11,R[19],E,"Using the shader name, iterates through the stored shaders…",14,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[15]]]]]],[11,R[20],E,"Using the font name, iterates through the stored fonts and…",14,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[17]]]]]],[11,"get_texture",E,"Using the texture handle, grab the stored texture and…",14,[[["self"],["arc",[R[11]]],[R[11]]],[[R[21],["format"]],["arc",[R[21]]]]]],[11,"allocate",E,"Consume and allocate the canvas frame data to the GPU",14,[[["self"],[R[22]]],[R[24]]]],[11,"draw_commands",E,"Pushes the draw commands to the command buffer. Requires…",14,[[["self"],[R[25]],["arc",[R[23]]],["vec",["arc"]],["usize"],[R[24]]],[R[25]]]],[0,"canvas_frame",R[26],E,N,N],[3,R[120],R[78],"Accumulator for Vectors of VertexTypes",N,N],[12,"map",E,E,15,N],[8,"Drawable",E,"Trait which may be inherited by objects that wish to be…",N,N],[10,"get",E,E,16,[[["self"]],[R[91]]]],[11,"draw",E,"Push this drawable onto the back of the accumulator",15,[[["self"],["drawable"]]]],[0,"managed",R[26],E,N,N],[0,"shader",R[33],E,N,N],[0,"text_shader",R[27],E,N,N],[3,R[134],R[79],R[28],N,N],[0,"generic_shader",R[27],E,N,N],[3,R[135],R[80],R[28],N,N],[0,"dynamic_vertex",R[27],E,N,N],[3,R[121],R[81],"Runtime Vertex def is just a generic holder of \"dynamic…",N,N],[11,"from_primitive",E,"primitive is an input value or struct which can then…",17,[[["u32"]],[R[98]]]],[11,"vertex_buffer_ids",E,"Returns the indices of the buffers to bind as vertex…",17,[[["self"]]]],[0,"shader_common",R[27],E,N,N],[4,R[122],R[83],"Legacy ShaderType enum for single type shaders.",N,N],[13,"VERTEX",E,E,18,N],[13,"FRAGMENT",E,E,18,N],[13,"GEOMETRY",E,E,18,N],[13,"TESSELLATION_CONTROL",E,E,18,N],[13,"TESSELLATION_EVALUATION",E,E,18,N],[8,R[123],E,"Inheriting this gives private functions to grab resources",N,N],[11,"get_path",E,E,19,[[[R[5]],[R[30]]],["pathbuf"]]],[11,"compile",E,E,19,[[[R[29]],["arc",[R[29]]],["pathbuf"],[R[30]]]]],[11,"convert_vk",E,E,19,[[[R[30]]],["graphicsshadertype"]]],[11,"convert_sr",E,E,19,[[[R[30]]],["shaderkind"]]],[8,R[124],E,E,N,N],[10,"new",E,E,20,[[[R[15]],["arc",[R[31]]],[R[31]],[R[29]],[R[5]],["arc",[R[29]]],["arc",[R[15]]]],["self"]]],[10,R[53],E,E,20,[[["self"]],[R[5]]]],[10,R[35],E,E,20,[[["self"]],[[R[15]],["arc",[R[15]]]]]],[10,R[51],E,E,20,[[["self"]],[["arc",[R[32]]],[R[32]]]]],[10,R[92],E,E,20,[[["self"]],[["arc",[R[31]]],[R[31]]]]],[10,R[93],E,E,20,[[["arc",[R[31]]],[R[31]]],["self"]]],[0,"handles",R[33],E,N,N],[3,R[136],R[84],R[34],N,N],[3,R[125],E,R[34],N,N],[12,"handle",E,E,21,N],[3,R[137],E,R[34],N,N],[3,R[138],E,R[34],N,N],[4,R[126],E,E,N,N],[13,"Texture",E,E,22,N],[13,"Image",E,E,22,N],[13,"Font",E,E,22,N],[8,"Handle",E,E,N,N],[10,R[35],E,E,23,[[["self"]],["u32"]]],[0,"canvas_text",R[33],E,N,N],[0,"gpu_buffers",E,E,N,N],[3,R[127],R[85],"Canvas buffer which represents an allocated Texture with a…",N,N],[3,R[128],E,"Canvas buffer which represents an allocated image and…",N,N],[3,R[129],E,"Canvas Font which represents an allocated image and…",N,N],[11,R[37],E,E,24,[[["self"],["arc",[R[32]]],[R[32]],["arc",["sampler"]],["sampler"]],[["box",[R[36]]],[R[36]]]]],[11,R[37],E,E,25,[[["self"],["arc",[R[32]]],[R[32]]],[["box",[R[36]]],[R[36]]]]],[11,R[37],E,E,26,[[["arc",[R[32]]],[R[32]]],[["box",[R[36]]],[R[36]]]]],[0,"compute",R[3],E,N,N],[0,"compu_frame",R[41],E,N,N],[3,R[130],R[86],E,N,N],[12,"pure_compute",E,E,27,N],[12,"swapped_to_image",E,E,27,N],[12,"swapped_to_buffer",E,E,27,N],[11,"new",E,E,27,[[],[R[38]]]],[11,"add",E,E,27,[[["self"],["arc",[R[8]]],[R[39]],[R[8]],["arc",[R[39]]]]]],[11,"add_chained",E,E,27,[[["self"],["arc",[R[8]]],[R[39]],[R[8]],["arc",[R[39]]]]]],[11,"add_with_image_swap",E,E,27,[[["self"],["arc",[R[8]]],[R[39]],[R[8]],["arc",[R[39]]],[R[40]]]]],[0,"compu_state",R[41],E,N,N],[3,R[131],R[87],"State holding the compute buffers for computation and the…",N,N],[11,"new",E,E,28,[[],["compustate"]]],[11,R[42],E,"Creates a 2d compute buffer from incoming data",28,[[["self"],["u32"],[R[29]],["vec",["u8"]],["arc",[R[29]]],["u8"]],[["arc",[R[8]]],[R[8]]]]],[11,R[43],E,"Read the compute buffer back into a Vec (TODO BROKEN)",28,[[["self"],["arc",[R[8]]],[R[8]]],[["vec",["u8"]],["u8"]]]],[11,R[44],E,"Write to the compute buffer, ostensibly overwriting what's…",28,[[["self"],["arc",[R[8]]],["vec",["u8"]],[R[8]],["u8"]]]],[11,"new_kernel",E,E,28,[[["self"],[R[29]],[R[5]],["arc",[R[29]]]],[[R[39]],["arc",[R[39]]]]]],[11,R[45],E,E,28,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[39]]]]]],[11,"compute_commands",E,E,28,[[["self"],[R[25]],[R[38]],[R[46]]],[R[25]]]],[0,"managed",R[41],E,N,N],[0,"compu_buffer",R[50],E,N,N],[3,R[132],R[88],E,N,N],[11,"new",E,E,29,[[["arc",[R[8]]],["u32"],["arc",[R[29]]],[R[8]],[R[29]],["vec",["u8"]],["u8"]],[R[104]]]],[11,"get_size",E,E,29,[[["self"]]]],[11,R[37],E,E,29,[[["self"],["arc",[R[47]]],[R[47],[R[52]]]],[[R[48],["arc"]],["arc",[R[48]]]]]],[11,"read_output_buffer",E,E,29,[[["self"]],[["vec",["u8"]],["rgba",["u8"]],["imagebuffer",["rgba","vec"]]]]],[11,"get_input_buffer",E,E,29,[[["self"]],[["arc",[R[49]]],[R[49]]]]],[11,"get_output_buffer",E,E,29,[[["self"]],[["arc",[R[49]]],[R[49]]]]],[0,"compu_kernel",R[50],E,N,N],[3,R[133],R[89],E,N,N],[3,R[139],E,E,N,N],[11,"new",E,E,30,[[[R[29]],[R[5]],["arc",[R[29]]],[R[39]],["arc",[R[39]]]],[R[105]]]],[11,R[51],E,E,30,[[["self"]],[["arc",[R[47]]],[R[47],[R[52]]]]]],[11,"recompile_kernel",E,E,30,[[["self"]],[[R[47],[R[52]]],["arc",[R[47]]]]]],[11,"compile_kernel",E,E,30,[[["self"],[R[5]]],[["arc",[R[47]]],[R[47],[R[52]]]]]],[11,R[35],E,E,30,[[["self"]],[[R[39]],["arc",[R[39]]]]]],[11,R[53],E,E,30,[[["self"]],[R[5]]]],[0,"handles",R[50],E,N,N],[3,R[140],R[90],R[34],N,N],[3,R[141],E,R[34],N,N],[11,"into",R[54],E,0,[[],[U]]],[11,"from",E,E,0,[[[T]],[T]]],[11,R[56],E,E,0,[[[U]],[R[68]]]],[11,R[57],E,E,0,[[],[R[68]]]],[11,R[58],E,E,0,[[["self"]],[T]]],[11,R[70],E,E,0,[[["self"]],[T]]],[11,R[69],E,E,0,[[["self"]],[R[71]]]],[11,R[59],E,E,0,[[["self"]],[R[6]]]],[11,R[60],E,E,0,[[["self"]],["bool"]]],[11,R[61],E,E,0,[[["self"]],["ss"]]],[11,R[62],E,E,0,[[["ss"]],["sp"]]],[11,R[63],E,E,0,[[["usize"]],[R[6]]]],[11,R[64],E,E,0,[[["usize"]],["bool"]]],[11,R[65],E,E,0,[[],["usize"]]],[11,R[66],R[55],E,1,[[["self"]],[T]]],[11,R[67],E,E,1,[[["self"],[T]]]],[11,"into",E,E,1,[[],[U]]],[11,"from",E,E,1,[[[T]],[T]]],[11,R[56],E,E,1,[[[U]],[R[68]]]],[11,R[57],E,E,1,[[],[R[68]]]],[11,R[58],E,E,1,[[["self"]],[T]]],[11,R[70],E,E,1,[[["self"]],[T]]],[11,R[69],E,E,1,[[["self"]],[R[71]]]],[11,R[59],E,E,1,[[["self"]],[R[6]]]],[11,R[60],E,E,1,[[["self"]],["bool"]]],[11,R[61],E,E,1,[[["self"]],["ss"]]],[11,R[62],E,E,1,[[["ss"]],["sp"]]],[11,R[63],E,E,1,[[["usize"]],[R[6]]]],[11,R[64],E,E,1,[[["usize"]],["bool"]]],[11,R[65],E,E,1,[[],["usize"]]],[11,R[66],E,E,2,[[["self"]],[T]]],[11,R[67],E,E,2,[[["self"],[T]]]],[11,"into",E,E,2,[[],[U]]],[11,"from",E,E,2,[[[T]],[T]]],[11,R[56],E,E,2,[[[U]],[R[68]]]],[11,R[57],E,E,2,[[],[R[68]]]],[11,R[58],E,E,2,[[["self"]],[T]]],[11,R[70],E,E,2,[[["self"]],[T]]],[11,R[69],E,E,2,[[["self"]],[R[71]]]],[11,R[59],E,E,2,[[["self"]],[R[6]]]],[11,R[60],E,E,2,[[["self"]],["bool"]]],[11,R[61],E,E,2,[[["self"]],["ss"]]],[11,R[62],E,E,2,[[["ss"]],["sp"]]],[11,R[63],E,E,2,[[["usize"]],[R[6]]]],[11,R[64],E,E,2,[[["usize"]],["bool"]]],[11,R[65],E,E,2,[[],["usize"]]],[11,R[66],E,E,3,[[["self"]],[T]]],[11,R[67],E,E,3,[[["self"],[T]]]],[11,"into",E,E,3,[[],[U]]],[11,"from",E,E,3,[[[T]],[T]]],[11,R[56],E,E,3,[[[U]],[R[68]]]],[11,R[57],E,E,3,[[],[R[68]]]],[11,R[58],E,E,3,[[["self"]],[T]]],[11,R[70],E,E,3,[[["self"]],[T]]],[11,R[69],E,E,3,[[["self"]],[R[71]]]],[11,R[59],E,E,3,[[["self"]],[R[6]]]],[11,R[60],E,E,3,[[["self"]],["bool"]]],[11,R[61],E,E,3,[[["self"]],["ss"]]],[11,R[62],E,E,3,[[["ss"]],["sp"]]],[11,R[63],E,E,3,[[["usize"]],[R[6]]]],[11,R[64],E,E,3,[[["usize"]],["bool"]]],[11,R[65],E,E,3,[[],["usize"]]],[11,R[66],E,E,4,[[["self"]],[T]]],[11,R[67],E,E,4,[[["self"],[T]]]],[11,"into",E,E,4,[[],[U]]],[11,"from",E,E,4,[[[T]],[T]]],[11,R[56],E,E,4,[[[U]],[R[68]]]],[11,R[57],E,E,4,[[],[R[68]]]],[11,R[58],E,E,4,[[["self"]],[T]]],[11,R[70],E,E,4,[[["self"]],[T]]],[11,R[69],E,E,4,[[["self"]],[R[71]]]],[11,R[59],E,E,4,[[["self"]],[R[6]]]],[11,R[60],E,E,4,[[["self"]],["bool"]]],[11,R[61],E,E,4,[[["self"]],["ss"]]],[11,R[62],E,E,4,[[["ss"]],["sp"]]],[11,R[63],E,E,4,[[["usize"]],[R[6]]]],[11,R[64],E,E,4,[[["usize"]],["bool"]]],[11,R[65],E,E,4,[[],["usize"]]],[11,R[66],E,E,5,[[["self"]],[T]]],[11,R[67],E,E,5,[[["self"],[T]]]],[11,"into",E,E,5,[[],[U]]],[11,"from",E,E,5,[[[T]],[T]]],[11,R[56],E,E,5,[[[U]],[R[68]]]],[11,R[57],E,E,5,[[],[R[68]]]],[11,R[58],E,E,5,[[["self"]],[T]]],[11,R[70],E,E,5,[[["self"]],[T]]],[11,R[69],E,E,5,[[["self"]],[R[71]]]],[11,R[59],E,E,5,[[["self"]],[R[6]]]],[11,R[60],E,E,5,[[["self"]],["bool"]]],[11,R[61],E,E,5,[[["self"]],["ss"]]],[11,R[62],E,E,5,[[["ss"]],["sp"]]],[11,R[63],E,E,5,[[["usize"]],[R[6]]]],[11,R[64],E,E,5,[[["usize"]],["bool"]]],[11,R[65],E,E,5,[[],["usize"]]],[11,R[66],E,E,6,[[["self"]],[T]]],[11,R[67],E,E,6,[[["self"],[T]]]],[11,"into",E,E,6,[[],[U]]],[11,"from",E,E,6,[[[T]],[T]]],[11,R[56],E,E,6,[[[U]],[R[68]]]],[11,R[57],E,E,6,[[],[R[68]]]],[11,R[58],E,E,6,[[["self"]],[T]]],[11,R[70],E,E,6,[[["self"]],[T]]],[11,R[69],E,E,6,[[["self"]],[R[71]]]],[11,R[59],E,E,6,[[["self"]],[R[6]]]],[11,R[60],E,E,6,[[["self"]],["bool"]]],[11,R[61],E,E,6,[[["self"]],["ss"]]],[11,R[62],E,E,6,[[["ss"]],["sp"]]],[11,R[63],E,E,6,[[["usize"]],[R[6]]]],[11,R[64],E,E,6,[[["usize"]],["bool"]]],[11,R[65],E,E,6,[[],["usize"]]],[11,R[66],E,E,7,[[["self"]],[T]]],[11,R[67],E,E,7,[[["self"],[T]]]],[11,"into",E,E,7,[[],[U]]],[11,"from",E,E,7,[[[T]],[T]]],[11,R[56],E,E,7,[[[U]],[R[68]]]],[11,R[57],E,E,7,[[],[R[68]]]],[11,R[58],E,E,7,[[["self"]],[T]]],[11,R[70],E,E,7,[[["self"]],[T]]],[11,R[69],E,E,7,[[["self"]],[R[71]]]],[11,R[59],E,E,7,[[["self"]],[R[6]]]],[11,R[60],E,E,7,[[["self"]],["bool"]]],[11,R[61],E,E,7,[[["self"]],["ss"]]],[11,R[62],E,E,7,[[["ss"]],["sp"]]],[11,R[63],E,E,7,[[["usize"]],[R[6]]]],[11,R[64],E,E,7,[[["usize"]],["bool"]]],[11,R[65],E,E,7,[[],["usize"]]],[11,R[66],E,E,8,[[["self"]],[T]]],[11,R[67],E,E,8,[[["self"],[T]]]],[11,"into",E,E,8,[[],[U]]],[11,"from",E,E,8,[[[T]],[T]]],[11,R[56],E,E,8,[[[U]],[R[68]]]],[11,R[57],E,E,8,[[],[R[68]]]],[11,R[58],E,E,8,[[["self"]],[T]]],[11,R[70],E,E,8,[[["self"]],[T]]],[11,R[69],E,E,8,[[["self"]],[R[71]]]],[11,R[59],E,E,8,[[["self"]],[R[6]]]],[11,R[60],E,E,8,[[["self"]],["bool"]]],[11,R[61],E,E,8,[[["self"]],["ss"]]],[11,R[62],E,E,8,[[["ss"]],["sp"]]],[11,R[63],E,E,8,[[["usize"]],[R[6]]]],[11,R[64],E,E,8,[[["usize"]],["bool"]]],[11,R[65],E,E,8,[[],["usize"]]],[11,"into",R[72],E,9,[[],[U]]],[11,"from",E,E,9,[[[T]],[T]]],[11,R[56],E,E,9,[[[U]],[R[68]]]],[11,R[57],E,E,9,[[],[R[68]]]],[11,R[58],E,E,9,[[["self"]],[T]]],[11,R[70],E,E,9,[[["self"]],[T]]],[11,R[69],E,E,9,[[["self"]],[R[71]]]],[11,R[59],E,E,9,[[["self"]],[R[6]]]],[11,R[60],E,E,9,[[["self"]],["bool"]]],[11,R[61],E,E,9,[[["self"]],["ss"]]],[11,R[62],E,E,9,[[["ss"]],["sp"]]],[11,R[63],E,E,9,[[["usize"]],[R[6]]]],[11,R[64],E,E,9,[[["usize"]],["bool"]]],[11,R[65],E,E,9,[[],["usize"]]],[11,R[66],R[73],E,10,[[["self"]],[T]]],[11,R[67],E,E,10,[[["self"],[T]]]],[11,"into",E,E,10,[[],[U]]],[11,"from",E,E,10,[[[T]],[T]]],[11,R[56],E,E,10,[[[U]],[R[68]]]],[11,R[57],E,E,10,[[],[R[68]]]],[11,R[58],E,E,10,[[["self"]],[T]]],[11,R[70],E,E,10,[[["self"]],[T]]],[11,R[69],E,E,10,[[["self"]],[R[71]]]],[11,R[59],E,E,10,[[["self"]],[R[6]]]],[11,R[60],E,E,10,[[["self"]],["bool"]]],[11,R[61],E,E,10,[[["self"]],["ss"]]],[11,R[62],E,E,10,[[["ss"]],["sp"]]],[11,R[63],E,E,10,[[["usize"]],[R[6]]]],[11,R[64],E,E,10,[[["usize"]],["bool"]]],[11,R[65],E,E,10,[[],["usize"]]],[11,R[66],R[74],E,11,[[["self"]],[T]]],[11,R[67],E,E,11,[[["self"],[T]]]],[11,"into",E,E,11,[[],[U]]],[11,"from",E,E,11,[[[T]],[T]]],[11,R[56],E,E,11,[[[U]],[R[68]]]],[11,R[57],E,E,11,[[],[R[68]]]],[11,R[58],E,E,11,[[["self"]],[T]]],[11,R[70],E,E,11,[[["self"]],[T]]],[11,R[69],E,E,11,[[["self"]],[R[71]]]],[11,R[59],E,E,11,[[["self"]],[R[6]]]],[11,R[60],E,E,11,[[["self"]],["bool"]]],[11,R[61],E,E,11,[[["self"]],["ss"]]],[11,R[62],E,E,11,[[["ss"]],["sp"]]],[11,R[63],E,E,11,[[["usize"]],[R[6]]]],[11,R[64],E,E,11,[[["usize"]],["bool"]]],[11,R[65],E,E,11,[[],["usize"]]],[11,R[66],R[75],E,12,[[["self"]],[T]]],[11,R[67],E,E,12,[[["self"],[T]]]],[11,"into",E,E,12,[[],[U]]],[11,"from",E,E,12,[[[T]],[T]]],[11,R[56],E,E,12,[[[U]],[R[68]]]],[11,R[57],E,E,12,[[],[R[68]]]],[11,R[58],E,E,12,[[["self"]],[T]]],[11,R[70],E,E,12,[[["self"]],[T]]],[11,R[69],E,E,12,[[["self"]],[R[71]]]],[11,R[59],E,E,12,[[["self"]],[R[6]]]],[11,R[60],E,E,12,[[["self"]],["bool"]]],[11,R[61],E,E,12,[[["self"]],["ss"]]],[11,R[62],E,E,12,[[["ss"]],["sp"]]],[11,R[63],E,E,12,[[["usize"]],[R[6]]]],[11,R[64],E,E,12,[[["usize"]],["bool"]]],[11,R[65],E,E,12,[[],["usize"]]],[11,"into",R[76],E,13,[[],[U]]],[11,"from",E,E,13,[[[T]],[T]]],[11,R[56],E,E,13,[[[U]],[R[68]]]],[11,R[57],E,E,13,[[],[R[68]]]],[11,R[58],E,E,13,[[["self"]],[T]]],[11,R[70],E,E,13,[[["self"]],[T]]],[11,R[69],E,E,13,[[["self"]],[R[71]]]],[11,R[59],E,E,13,[[["self"]],[R[6]]]],[11,R[60],E,E,13,[[["self"]],["bool"]]],[11,R[61],E,E,13,[[["self"]],["ss"]]],[11,R[62],E,E,13,[[["ss"]],["sp"]]],[11,R[63],E,E,13,[[["usize"]],[R[6]]]],[11,R[64],E,E,13,[[["usize"]],["bool"]]],[11,R[65],E,E,13,[[],["usize"]]],[11,R[66],R[77],E,14,[[["self"]],[T]]],[11,R[67],E,E,14,[[["self"],[T]]]],[11,"into",E,E,14,[[],[U]]],[11,"from",E,E,14,[[[T]],[T]]],[11,R[56],E,E,14,[[[U]],[R[68]]]],[11,R[57],E,E,14,[[],[R[68]]]],[11,R[58],E,E,14,[[["self"]],[T]]],[11,R[70],E,E,14,[[["self"]],[T]]],[11,R[69],E,E,14,[[["self"]],[R[71]]]],[11,R[59],E,E,14,[[["self"]],[R[6]]]],[11,R[60],E,E,14,[[["self"]],["bool"]]],[11,R[61],E,E,14,[[["self"]],["ss"]]],[11,R[62],E,E,14,[[["ss"]],["sp"]]],[11,R[63],E,E,14,[[["usize"]],[R[6]]]],[11,R[64],E,E,14,[[["usize"]],["bool"]]],[11,R[65],E,E,14,[[],["usize"]]],[11,"into",R[78],E,15,[[],[U]]],[11,"from",E,E,15,[[[T]],[T]]],[11,R[56],E,E,15,[[[U]],[R[68]]]],[11,R[57],E,E,15,[[],[R[68]]]],[11,R[58],E,E,15,[[["self"]],[T]]],[11,R[70],E,E,15,[[["self"]],[T]]],[11,R[69],E,E,15,[[["self"]],[R[71]]]],[11,R[59],E,E,15,[[["self"]],[R[6]]]],[11,R[60],E,E,15,[[["self"]],["bool"]]],[11,R[61],E,E,15,[[["self"]],["ss"]]],[11,R[62],E,E,15,[[["ss"]],["sp"]]],[11,R[63],E,E,15,[[["usize"]],[R[6]]]],[11,R[64],E,E,15,[[["usize"]],["bool"]]],[11,R[65],E,E,15,[[],["usize"]]],[11,R[66],R[79],E,31,[[["self"]],[T]]],[11,R[67],E,E,31,[[["self"],[T]]]],[11,"into",E,E,31,[[],[U]]],[11,"from",E,E,31,[[[T]],[T]]],[11,R[56],E,E,31,[[[U]],[R[68]]]],[11,R[57],E,E,31,[[],[R[68]]]],[11,R[58],E,E,31,[[["self"]],[T]]],[11,R[70],E,E,31,[[["self"]],[T]]],[11,R[69],E,E,31,[[["self"]],[R[71]]]],[11,R[59],E,E,31,[[["self"]],[R[6]]]],[11,R[60],E,E,31,[[["self"]],["bool"]]],[11,R[61],E,E,31,[[["self"]],["ss"]]],[11,R[62],E,E,31,[[["ss"]],["sp"]]],[11,R[63],E,E,31,[[["usize"]],[R[6]]]],[11,R[64],E,E,31,[[["usize"]],["bool"]]],[11,R[65],E,E,31,[[],["usize"]]],[11,R[66],R[80],E,32,[[["self"]],[T]]],[11,R[67],E,E,32,[[["self"],[T]]]],[11,"into",E,E,32,[[],[U]]],[11,"from",E,E,32,[[[T]],[T]]],[11,R[56],E,E,32,[[[U]],[R[68]]]],[11,R[57],E,E,32,[[],[R[68]]]],[11,R[58],E,E,32,[[["self"]],[T]]],[11,R[70],E,E,32,[[["self"]],[T]]],[11,R[69],E,E,32,[[["self"]],[R[71]]]],[11,R[59],E,E,32,[[["self"]],[R[6]]]],[11,R[60],E,E,32,[[["self"]],["bool"]]],[11,R[61],E,E,32,[[["self"]],["ss"]]],[11,R[62],E,E,32,[[["ss"]],["sp"]]],[11,R[63],E,E,32,[[["usize"]],[R[6]]]],[11,R[64],E,E,32,[[["usize"]],["bool"]]],[11,R[65],E,E,32,[[],["usize"]]],[11,R[66],R[81],E,17,[[["self"]],[T]]],[11,R[67],E,E,17,[[["self"],[T]]]],[11,"into",E,E,17,[[],[U]]],[11,"from",E,E,17,[[[T]],[T]]],[11,R[56],E,E,17,[[[U]],[R[68]]]],[11,R[57],E,E,17,[[],[R[68]]]],[11,R[58],E,E,17,[[["self"]],[T]]],[11,R[70],E,E,17,[[["self"]],[T]]],[11,R[69],E,E,17,[[["self"]],[R[71]]]],[11,R[59],E,E,17,[[["self"]],[R[6]]]],[11,R[60],E,E,17,[[["self"]],["bool"]]],[11,R[61],E,E,17,[[["self"]],["ss"]]],[11,R[62],E,E,17,[[["ss"]],["sp"]]],[11,R[63],E,E,17,[[["usize"]],[R[6]]]],[11,R[64],E,E,17,[[["usize"]],["bool"]]],[11,R[65],E,E,17,[[],["usize"]]],[11,"decode",E,E,17,[[["self"],["l"]]]],[11,R[108],E,E,17,[[["self"],["i"]],[[R[82]],[R[68],[R[82]]]]]],[11,R[66],R[83],E,18,[[["self"]],[T]]],[11,R[67],E,E,18,[[["self"],[T]]]],[11,"into",E,E,18,[[],[U]]],[11,"from",E,E,18,[[[T]],[T]]],[11,R[56],E,E,18,[[[U]],[R[68]]]],[11,R[57],E,E,18,[[],[R[68]]]],[11,R[58],E,E,18,[[["self"]],[T]]],[11,R[70],E,E,18,[[["self"]],[T]]],[11,R[69],E,E,18,[[["self"]],[R[71]]]],[11,R[59],E,E,18,[[["self"]],[R[6]]]],[11,R[60],E,E,18,[[["self"]],["bool"]]],[11,R[61],E,E,18,[[["self"]],["ss"]]],[11,R[62],E,E,18,[[["ss"]],["sp"]]],[11,R[63],E,E,18,[[["usize"]],[R[6]]]],[11,R[64],E,E,18,[[["usize"]],["bool"]]],[11,R[65],E,E,18,[[],["usize"]]],[11,R[66],R[84],E,33,[[["self"]],[T]]],[11,R[67],E,E,33,[[["self"],[T]]]],[11,"into",E,E,33,[[],[U]]],[11,"from",E,E,33,[[[T]],[T]]],[11,R[56],E,E,33,[[[U]],[R[68]]]],[11,R[57],E,E,33,[[],[R[68]]]],[11,R[58],E,E,33,[[["self"]],[T]]],[11,R[70],E,E,33,[[["self"]],[T]]],[11,R[69],E,E,33,[[["self"]],[R[71]]]],[11,R[59],E,E,33,[[["self"]],[R[6]]]],[11,R[60],E,E,33,[[["self"]],["bool"]]],[11,R[61],E,E,33,[[["self"]],["ss"]]],[11,R[62],E,E,33,[[["ss"]],["sp"]]],[11,R[63],E,E,33,[[["usize"]],[R[6]]]],[11,R[64],E,E,33,[[["usize"]],["bool"]]],[11,R[65],E,E,33,[[],["usize"]]],[11,R[66],E,E,21,[[["self"]],[T]]],[11,R[67],E,E,21,[[["self"],[T]]]],[11,"into",E,E,21,[[],[U]]],[11,"from",E,E,21,[[[T]],[T]]],[11,R[56],E,E,21,[[[U]],[R[68]]]],[11,R[57],E,E,21,[[],[R[68]]]],[11,R[58],E,E,21,[[["self"]],[T]]],[11,R[70],E,E,21,[[["self"]],[T]]],[11,R[69],E,E,21,[[["self"]],[R[71]]]],[11,R[59],E,E,21,[[["self"]],[R[6]]]],[11,R[60],E,E,21,[[["self"]],["bool"]]],[11,R[61],E,E,21,[[["self"]],["ss"]]],[11,R[62],E,E,21,[[["ss"]],["sp"]]],[11,R[63],E,E,21,[[["usize"]],[R[6]]]],[11,R[64],E,E,21,[[["usize"]],["bool"]]],[11,R[65],E,E,21,[[],["usize"]]],[11,R[66],E,E,34,[[["self"]],[T]]],[11,R[67],E,E,34,[[["self"],[T]]]],[11,"into",E,E,34,[[],[U]]],[11,"from",E,E,34,[[[T]],[T]]],[11,R[56],E,E,34,[[[U]],[R[68]]]],[11,R[57],E,E,34,[[],[R[68]]]],[11,R[58],E,E,34,[[["self"]],[T]]],[11,R[70],E,E,34,[[["self"]],[T]]],[11,R[69],E,E,34,[[["self"]],[R[71]]]],[11,R[59],E,E,34,[[["self"]],[R[6]]]],[11,R[60],E,E,34,[[["self"]],["bool"]]],[11,R[61],E,E,34,[[["self"]],["ss"]]],[11,R[62],E,E,34,[[["ss"]],["sp"]]],[11,R[63],E,E,34,[[["usize"]],[R[6]]]],[11,R[64],E,E,34,[[["usize"]],["bool"]]],[11,R[65],E,E,34,[[],["usize"]]],[11,R[66],E,E,35,[[["self"]],[T]]],[11,R[67],E,E,35,[[["self"],[T]]]],[11,"into",E,E,35,[[],[U]]],[11,"from",E,E,35,[[[T]],[T]]],[11,R[56],E,E,35,[[[U]],[R[68]]]],[11,R[57],E,E,35,[[],[R[68]]]],[11,R[58],E,E,35,[[["self"]],[T]]],[11,R[70],E,E,35,[[["self"]],[T]]],[11,R[69],E,E,35,[[["self"]],[R[71]]]],[11,R[59],E,E,35,[[["self"]],[R[6]]]],[11,R[60],E,E,35,[[["self"]],["bool"]]],[11,R[61],E,E,35,[[["self"]],["ss"]]],[11,R[62],E,E,35,[[["ss"]],["sp"]]],[11,R[63],E,E,35,[[["usize"]],[R[6]]]],[11,R[64],E,E,35,[[["usize"]],["bool"]]],[11,R[65],E,E,35,[[],["usize"]]],[11,"into",E,E,22,[[],[U]]],[11,"from",E,E,22,[[[T]],[T]]],[11,R[56],E,E,22,[[[U]],[R[68]]]],[11,R[57],E,E,22,[[],[R[68]]]],[11,R[58],E,E,22,[[["self"]],[T]]],[11,R[70],E,E,22,[[["self"]],[T]]],[11,R[69],E,E,22,[[["self"]],[R[71]]]],[11,R[59],E,E,22,[[["self"]],[R[6]]]],[11,R[60],E,E,22,[[["self"]],["bool"]]],[11,R[61],E,E,22,[[["self"]],["ss"]]],[11,R[62],E,E,22,[[["ss"]],["sp"]]],[11,R[63],E,E,22,[[["usize"]],[R[6]]]],[11,R[64],E,E,22,[[["usize"]],["bool"]]],[11,R[65],E,E,22,[[],["usize"]]],[11,R[66],R[85],E,24,[[["self"]],[T]]],[11,R[67],E,E,24,[[["self"],[T]]]],[11,"into",E,E,24,[[],[U]]],[11,"from",E,E,24,[[[T]],[T]]],[11,R[56],E,E,24,[[[U]],[R[68]]]],[11,R[57],E,E,24,[[],[R[68]]]],[11,R[58],E,E,24,[[["self"]],[T]]],[11,R[70],E,E,24,[[["self"]],[T]]],[11,R[69],E,E,24,[[["self"]],[R[71]]]],[11,R[59],E,E,24,[[["self"]],[R[6]]]],[11,R[60],E,E,24,[[["self"]],["bool"]]],[11,R[61],E,E,24,[[["self"]],["ss"]]],[11,R[62],E,E,24,[[["ss"]],["sp"]]],[11,R[63],E,E,24,[[["usize"]],[R[6]]]],[11,R[64],E,E,24,[[["usize"]],["bool"]]],[11,R[65],E,E,24,[[],["usize"]]],[11,R[66],E,E,25,[[["self"]],[T]]],[11,R[67],E,E,25,[[["self"],[T]]]],[11,"into",E,E,25,[[],[U]]],[11,"from",E,E,25,[[[T]],[T]]],[11,R[56],E,E,25,[[[U]],[R[68]]]],[11,R[57],E,E,25,[[],[R[68]]]],[11,R[58],E,E,25,[[["self"]],[T]]],[11,R[70],E,E,25,[[["self"]],[T]]],[11,R[69],E,E,25,[[["self"]],[R[71]]]],[11,R[59],E,E,25,[[["self"]],[R[6]]]],[11,R[60],E,E,25,[[["self"]],["bool"]]],[11,R[61],E,E,25,[[["self"]],["ss"]]],[11,R[62],E,E,25,[[["ss"]],["sp"]]],[11,R[63],E,E,25,[[["usize"]],[R[6]]]],[11,R[64],E,E,25,[[["usize"]],["bool"]]],[11,R[65],E,E,25,[[],["usize"]]],[11,R[66],E,E,26,[[["self"]],[T]]],[11,R[67],E,E,26,[[["self"],[T]]]],[11,"into",E,E,26,[[],[U]]],[11,"from",E,E,26,[[[T]],[T]]],[11,R[56],E,E,26,[[[U]],[R[68]]]],[11,R[57],E,E,26,[[],[R[68]]]],[11,R[58],E,E,26,[[["self"]],[T]]],[11,R[70],E,E,26,[[["self"]],[T]]],[11,R[69],E,E,26,[[["self"]],[R[71]]]],[11,R[59],E,E,26,[[["self"]],[R[6]]]],[11,R[60],E,E,26,[[["self"]],["bool"]]],[11,R[61],E,E,26,[[["self"]],["ss"]]],[11,R[62],E,E,26,[[["ss"]],["sp"]]],[11,R[63],E,E,26,[[["usize"]],[R[6]]]],[11,R[64],E,E,26,[[["usize"]],["bool"]]],[11,R[65],E,E,26,[[],["usize"]]],[11,"into",R[86],E,27,[[],[U]]],[11,"from",E,E,27,[[[T]],[T]]],[11,R[56],E,E,27,[[[U]],[R[68]]]],[11,R[57],E,E,27,[[],[R[68]]]],[11,R[58],E,E,27,[[["self"]],[T]]],[11,R[70],E,E,27,[[["self"]],[T]]],[11,R[69],E,E,27,[[["self"]],[R[71]]]],[11,R[59],E,E,27,[[["self"]],[R[6]]]],[11,R[60],E,E,27,[[["self"]],["bool"]]],[11,R[61],E,E,27,[[["self"]],["ss"]]],[11,R[62],E,E,27,[[["ss"]],["sp"]]],[11,R[63],E,E,27,[[["usize"]],[R[6]]]],[11,R[64],E,E,27,[[["usize"]],["bool"]]],[11,R[65],E,E,27,[[],["usize"]]],[11,"into",R[87],E,28,[[],[U]]],[11,"from",E,E,28,[[[T]],[T]]],[11,R[56],E,E,28,[[[U]],[R[68]]]],[11,R[57],E,E,28,[[],[R[68]]]],[11,R[58],E,E,28,[[["self"]],[T]]],[11,R[70],E,E,28,[[["self"]],[T]]],[11,R[69],E,E,28,[[["self"]],[R[71]]]],[11,R[59],E,E,28,[[["self"]],[R[6]]]],[11,R[60],E,E,28,[[["self"]],["bool"]]],[11,R[61],E,E,28,[[["self"]],["ss"]]],[11,R[62],E,E,28,[[["ss"]],["sp"]]],[11,R[63],E,E,28,[[["usize"]],[R[6]]]],[11,R[64],E,E,28,[[["usize"]],["bool"]]],[11,R[65],E,E,28,[[],["usize"]]],[11,R[66],R[88],E,29,[[["self"]],[T]]],[11,R[67],E,E,29,[[["self"],[T]]]],[11,"into",E,E,29,[[],[U]]],[11,"from",E,E,29,[[[T]],[T]]],[11,R[56],E,E,29,[[[U]],[R[68]]]],[11,R[57],E,E,29,[[],[R[68]]]],[11,R[58],E,E,29,[[["self"]],[T]]],[11,R[70],E,E,29,[[["self"]],[T]]],[11,R[69],E,E,29,[[["self"]],[R[71]]]],[11,R[59],E,E,29,[[["self"]],[R[6]]]],[11,R[60],E,E,29,[[["self"]],["bool"]]],[11,R[61],E,E,29,[[["self"]],["ss"]]],[11,R[62],E,E,29,[[["ss"]],["sp"]]],[11,R[63],E,E,29,[[["usize"]],[R[6]]]],[11,R[64],E,E,29,[[["usize"]],["bool"]]],[11,R[65],E,E,29,[[],["usize"]]],[11,R[66],R[89],E,30,[[["self"]],[T]]],[11,R[67],E,E,30,[[["self"],[T]]]],[11,"into",E,E,30,[[],[U]]],[11,"from",E,E,30,[[[T]],[T]]],[11,R[56],E,E,30,[[[U]],[R[68]]]],[11,R[57],E,E,30,[[],[R[68]]]],[11,R[58],E,E,30,[[["self"]],[T]]],[11,R[70],E,E,30,[[["self"]],[T]]],[11,R[69],E,E,30,[[["self"]],[R[71]]]],[11,R[59],E,E,30,[[["self"]],[R[6]]]],[11,R[60],E,E,30,[[["self"]],["bool"]]],[11,R[61],E,E,30,[[["self"]],["ss"]]],[11,R[62],E,E,30,[[["ss"]],["sp"]]],[11,R[63],E,E,30,[[["usize"]],[R[6]]]],[11,R[64],E,E,30,[[["usize"]],["bool"]]],[11,R[65],E,E,30,[[],["usize"]]],[11,R[66],E,E,36,[[["self"]],[T]]],[11,R[67],E,E,36,[[["self"],[T]]]],[11,"into",E,E,36,[[],[U]]],[11,"from",E,E,36,[[[T]],[T]]],[11,R[56],E,E,36,[[[U]],[R[68]]]],[11,R[57],E,E,36,[[],[R[68]]]],[11,R[58],E,E,36,[[["self"]],[T]]],[11,R[70],E,E,36,[[["self"]],[T]]],[11,R[69],E,E,36,[[["self"]],[R[71]]]],[11,R[59],E,E,36,[[["self"]],[R[6]]]],[11,R[60],E,E,36,[[["self"]],["bool"]]],[11,R[61],E,E,36,[[["self"]],["ss"]]],[11,R[62],E,E,36,[[["ss"]],["sp"]]],[11,R[63],E,E,36,[[["usize"]],[R[6]]]],[11,R[64],E,E,36,[[["usize"]],["bool"]]],[11,R[65],E,E,36,[[],["usize"]]],[11,R[66],R[90],E,37,[[["self"]],[T]]],[11,R[67],E,E,37,[[["self"],[T]]]],[11,"into",E,E,37,[[],[U]]],[11,"from",E,E,37,[[[T]],[T]]],[11,R[56],E,E,37,[[[U]],[R[68]]]],[11,R[57],E,E,37,[[],[R[68]]]],[11,R[58],E,E,37,[[["self"]],[T]]],[11,R[70],E,E,37,[[["self"]],[T]]],[11,R[69],E,E,37,[[["self"]],[R[71]]]],[11,R[59],E,E,37,[[["self"]],[R[6]]]],[11,R[60],E,E,37,[[["self"]],["bool"]]],[11,R[61],E,E,37,[[["self"]],["ss"]]],[11,R[62],E,E,37,[[["ss"]],["sp"]]],[11,R[63],E,E,37,[[["usize"]],[R[6]]]],[11,R[64],E,E,37,[[["usize"]],["bool"]]],[11,R[65],E,E,37,[[],["usize"]]],[11,R[66],E,E,38,[[["self"]],[T]]],[11,R[67],E,E,38,[[["self"],[T]]]],[11,"into",E,E,38,[[],[U]]],[11,"from",E,E,38,[[[T]],[T]]],[11,R[56],E,E,38,[[[U]],[R[68]]]],[11,R[57],E,E,38,[[],[R[68]]]],[11,R[58],E,E,38,[[["self"]],[T]]],[11,R[70],E,E,38,[[["self"]],[T]]],[11,R[69],E,E,38,[[["self"]],[R[71]]]],[11,R[59],E,E,38,[[["self"]],[R[6]]]],[11,R[60],E,E,38,[[["self"]],["bool"]]],[11,R[61],E,E,38,[[["self"]],["ss"]]],[11,R[62],E,E,38,[[["ss"]],["sp"]]],[11,R[63],E,E,38,[[["usize"]],[R[6]]]],[11,R[64],E,E,38,[[["usize"]],["bool"]]],[11,R[65],E,E,38,[[],["usize"]]],[11,"get",R[73],E,10,[[["self"]],[R[91]]]],[11,"get",R[74],E,11,[[["self"]],[R[91]]]],[11,"get",R[75],E,12,[[["self"]],[R[91]]]],[11,"get",R[76],E,13,[[["self"]],[R[91]]]],[11,"new",R[79],R[95],31,[[[R[15]],["arc",[R[31]]],[R[31]],[R[29]],[R[5]],["arc",[R[29]]],["arc",[R[15]]]],[R[94]]]],[11,R[53],E,E,31,[[["self"]],[R[5]]]],[11,R[35],E,E,31,[[["self"]],[[R[15]],["arc",[R[15]]]]]],[11,R[51],E,E,31,[[["self"]],[["arc",[R[32]]],[R[32]]]]],[11,R[92],E,E,31,[[["self"]],[["arc",[R[31]]],[R[31]]]]],[11,R[93],E,E,31,[[["arc",[R[31]]],[R[31]]],[R[94]]]],[11,"new",R[80],R[95],32,[[[R[15]],["arc",[R[31]]],[R[31]],[R[29]],[R[5]],["arc",[R[29]]],["arc",[R[15]]]],[R[96]]]],[11,R[53],E,E,32,[[["self"]],[R[5]]]],[11,R[35],E,E,32,[[["self"]],[[R[15]],["arc",[R[15]]]]]],[11,R[51],E,E,32,[[["self"]],[["arc",[R[32]]],[R[32]]]]],[11,R[92],E,E,32,[[["self"]],[["arc",[R[31]]],[R[31]]]]],[11,R[93],E,E,32,[[["arc",[R[31]]],[R[31]]],[R[96]]]],[11,R[35],R[84],E,33,[[["self"]],["u32"]]],[11,R[35],E,E,21,[[["self"]],["u32"]]],[11,R[35],E,E,34,[[["self"]],["u32"]]],[11,R[35],E,E,35,[[["self"]],["u32"]]],[11,R[35],R[90],E,37,[[["self"]],["u32"]]],[11,R[35],E,E,38,[[["self"]],["u32"]]],[11,R[97],R[55],E,1,[[],[R[99]]]],[11,R[97],E,E,2,[[],[R[100]]]],[11,R[97],E,E,3,[[],[R[101]]]],[11,R[97],E,E,4,[[],["vertex3d"]]],[11,R[97],E,E,5,[[],[R[102]]]],[11,R[97],E,E,6,[[],[R[103]]]],[11,R[97],R[78],E,15,[[],[R[22]]]],[11,R[97],R[81],E,17,[[],[R[98]]]],[11,R[97],R[84],E,33,[[],[R[17]]]],[11,R[97],E,E,21,[[],[R[11]]]],[11,R[97],E,E,34,[[],[R[7]]]],[11,R[97],E,E,35,[[],[R[15]]]],[11,R[97],R[89],E,36,[[],[R[106]]]],[11,R[97],R[90],E,37,[[],[R[8]]]],[11,R[97],E,E,38,[[],[R[39]]]],[11,"clone",R[55],E,1,[[["self"]],[R[99]]]],[11,"clone",E,E,2,[[["self"]],[R[100]]]],[11,"clone",E,E,3,[[["self"]],[R[101]]]],[11,"clone",E,E,4,[[["self"]],["vertex3d"]]],[11,"clone",E,E,5,[[["self"]],[R[102]]]],[11,"clone",E,E,6,[[["self"]],[R[103]]]],[11,"clone",E,E,8,[[["self"]],[R[91]]]],[11,"clone",E,E,7,[[["self"]],[R[24]]]],[11,"clone",R[73],E,10,[[["self"]],[R[9]]]],[11,"clone",R[74],E,11,[[["self"]],["sprite"]]],[11,"clone",R[75],E,12,[[["self"]],["rect"]]],[11,"clone",R[77],E,14,[[["self"]],[R[46]]]],[11,"clone",R[79],E,31,[[["self"]],[R[94]]]],[11,"clone",R[80],E,32,[[["self"]],[R[96]]]],[11,"clone",R[81],E,17,[[["self"]],[R[98]]]],[11,"clone",R[83],E,18,[[["self"]],[R[30]]]],[11,"clone",R[84],E,33,[[["self"]],[R[17]]]],[11,"clone",E,E,21,[[["self"]],[R[11]]]],[11,"clone",E,E,34,[[["self"]],[R[7]]]],[11,"clone",E,E,35,[[["self"]],[R[15]]]],[11,"clone",R[85],E,24,[[["self"]],["canvastexture"]]],[11,"clone",E,E,25,[[["self"]],["canvasimage"]]],[11,"clone",E,E,26,[[["self"]],["canvasfont"]]],[11,"clone",R[88],E,29,[[["self"]],[R[104]]]],[11,"clone",R[89],E,30,[[["self"]],[R[105]]]],[11,"clone",E,E,36,[[["self"]],[R[106]]]],[11,"clone",R[90],E,37,[[["self"]],[R[8]]]],[11,"clone",E,E,38,[[["self"]],[R[39]]]],[11,"eq",R[83],E,18,[[["self"],[R[30]]],["bool"]]],[11,"eq",R[84],E,33,[[["self"],[R[17]]],["bool"]]],[11,"ne",E,E,33,[[["self"],[R[17]]],["bool"]]],[11,"eq",E,E,21,[[["self"],[R[11]]],["bool"]]],[11,"ne",E,E,21,[[["self"],[R[11]]],["bool"]]],[11,"eq",E,E,34,[[["self"],[R[7]]],["bool"]]],[11,"ne",E,E,34,[[["self"],[R[7]]],["bool"]]],[11,"eq",E,E,35,[[["self"],[R[15]]],["bool"]]],[11,"ne",E,E,35,[[["self"],[R[15]]],["bool"]]],[11,"eq",R[90],E,37,[[["self"],[R[8]]],["bool"]]],[11,"ne",E,E,37,[[["self"],[R[8]]],["bool"]]],[11,"eq",E,E,38,[[["self"],[R[39]]],["bool"]]],[11,"ne",E,E,38,[[["self"],[R[39]]],["bool"]]],[11,"hash",R[83],E,18,[[["self"],["__h"]]]],[11,"hash",R[84],E,33,[[["self"],["__h"]]]],[11,"hash",E,E,21,[[["self"],["__h"]]]],[11,"hash",E,E,34,[[["self"],["__h"]]]],[11,"hash",E,E,35,[[["self"],["__h"]]]],[11,"hash",R[90],E,37,[[["self"],["__h"]]]],[11,"hash",E,E,38,[[["self"],["__h"]]]],[11,"fmt",R[55],E,1,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",E,E,2,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",E,E,3,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",E,E,4,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",E,E,5,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",E,E,6,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",E,E,8,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",R[73],E,10,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",R[74],E,11,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",R[75],E,12,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",R[81],E,17,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",R[84],E,33,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",E,E,21,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",E,E,34,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",E,E,35,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",R[89],E,36,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",R[90],E,37,[[["self"],[R[107]]],[R[68]]]],[11,"fmt",E,E,38,[[["self"],[R[107]]],[R[68]]]],[11,"decode",R[81],E,17,[[["self"],["vec",["arc"]],["arc",["bufferaccess"]]]]],[11,"descriptors",R[89],E,36,[[]]],[11,R[108],R[81],"Builds the vertex definition to use to link this…",17,[[["self"],["i"]],[[R[82]],[R[68],[R[82]]]]]],[11,"member",R[55],E,1,[[["str"]],[[R[6],[R[109]]],[R[109]]]]],[11,"member",E,E,2,[[["str"]],[[R[6],[R[109]]],[R[109]]]]],[11,"member",E,E,3,[[["str"]],[[R[6],[R[109]]],[R[109]]]]],[11,"member",E,E,4,[[["str"]],[[R[6],[R[109]]],[R[109]]]]],[11,"member",E,E,5,[[["str"]],[[R[6],[R[109]]],[R[109]]]]],[11,"member",E,E,6,[[["str"]],[[R[6],[R[109]]],[R[109]]]]]],"p":[[3,"Timer"],[3,R[110]],[3,R[111]],[3,R[112]],[3,"Vertex3D"],[3,R[113]],[3,R[114]],[3,R[115]],[4,R[116]],[3,R[117]],[3,"Polygon"],[3,"Sprite"],[3,"Rect"],[3,R[118]],[3,R[119]],[3,R[120]],[8,"Drawable"],[3,R[121]],[4,R[122]],[8,R[123]],[8,R[124]],[3,R[125]],[4,R[126]],[8,"Handle"],[3,R[127]],[3,R[128]],[3,R[129]],[3,R[130]],[3,R[131]],[3,R[132]],[3,R[133]],[3,R[134]],[3,R[135]],[3,R[136]],[3,R[137]],[3,R[138]],[3,R[139]],[3,R[140]],[3,R[141]]]}; initSearch(searchIndex);addSearchOptions(searchIndex); \ No newline at end of file diff --git a/doc/sfml_rust/all.html b/doc/sfml_rust/all.html index 0a13ceeb..52b18f9c 100644 --- a/doc/sfml_rust/all.html +++ b/doc/sfml_rust/all.html @@ -1,3 +1,3 @@ List of all items in this crate

[] - List of all items

Structs

Enums

Traits

Functions

\ No newline at end of file + List of all items

Structs

Enums

Traits

Functions

\ No newline at end of file diff --git a/doc/sfml_rust/canvas/canvas_frame/trait.Drawable.html b/doc/sfml_rust/canvas/canvas_frame/trait.Drawable.html index 477ee167..94632aca 100644 --- a/doc/sfml_rust/canvas/canvas_frame/trait.Drawable.html +++ b/doc/sfml_rust/canvas/canvas_frame/trait.Drawable.html @@ -3,6 +3,6 @@ }

Trait which may be inherited by objects that wish to be drawn to the screen

Required methods

fn get(&self) -> VertexTypes

Loading content... -

Implementors

impl Drawable for Sprite[src]

Loading content... \ No newline at end of file diff --git a/doc/sfml_rust/canvas/canvas_state/index.html b/doc/sfml_rust/canvas/canvas_state/index.html index 472e6381..02e06041 100644 --- a/doc/sfml_rust/canvas/canvas_state/index.html +++ b/doc/sfml_rust/canvas/canvas_state/index.html @@ -1,4 +1,4 @@ -sfml_rust::canvas::canvas_state - Rust

[][src]Module sfml_rust::canvas::canvas_state

Structs

+sfml_rust::canvas::canvas_state - Rust

[][src]Module sfml_rust::canvas::canvas_state

Structs

CanvasState

Canvas state is used for storage of texture and image buffers in addition to vertex buffers Canvas state also contains logic for writing the stored buffers to the command_buffer

\ No newline at end of file diff --git a/doc/sfml_rust/canvas/canvas_state/struct.CanvasState.html b/doc/sfml_rust/canvas/canvas_state/struct.CanvasState.html index a5ae9c3a..467e037a 100644 --- a/doc/sfml_rust/canvas/canvas_state/struct.CanvasState.html +++ b/doc/sfml_rust/canvas/canvas_state/struct.CanvasState.html @@ -1,19 +1,19 @@ sfml_rust::canvas::canvas_state::CanvasState - Rust

[][src]Struct sfml_rust::canvas::canvas_state::CanvasState

pub struct CanvasState { /* fields omitted */ }

Canvas state is used for storage of texture and image buffers in addition to vertex buffers Canvas state also contains logic for writing the stored buffers to the command_buffer

-

Methods

impl CanvasState[src]

pub fn window_size_dependent_setup(
    &mut self,
    images: &[Arc<SwapchainImage<Window>>]
) -> Vec<Arc<dyn FramebufferAbstract + Send + Sync>>
[src]

This method is called once during initialization, then again whenever the window is resized

+

Methods

impl CanvasState[src]

pub fn window_size_dependent_setup(
    &mut self,
    images: &[Arc<SwapchainImage<Window>>]
) -> Vec<Arc<dyn FramebufferAbstract + Send + Sync>>
[src]

This method is called once during initialization, then again whenever the window is resized

pub fn new(
    queue: Arc<Queue>,
    device: Arc<Device>,
    physical: PhysicalDevice,
    capabilities: Capabilities
) -> CanvasState
[src]

Creates a Canvas State. Which at this point is pretty empty

pub fn create_image(
    &mut self,
    dimensions: (u32, u32),
    usage: ImageUsage
) -> Arc<CanvasImageHandle>
[src]

Using the dimensions and suggested usage, load a CanvasImage and return it's handle

pub fn get_image(
    &self,
    image_handle: Arc<CanvasImageHandle>
) -> Arc<AttachmentImage>
[src]

Return the image buffer from an input image handle

-

pub fn load_texture(
    &mut self,
    filename: String
) -> Option<Arc<CanvasTextureHandle>>
[src]

Load a texture using it's filename from a file. Returns the handle of the loaded texture

-

pub fn load_shader<T: 'static, V>(
    &mut self,
    filename: String,
    physical: PhysicalDevice,
    capabilities: Capabilities
) -> Option<Arc<CompiledShaderHandle>> where
    T: CompiledShader,
    V: Vertex, 
[src]

Load and Compile a shader with the filename at resources/shaders +

pub fn load_texture(
    &mut self,
    filename: String
) -> Option<Arc<CanvasTextureHandle>>
[src]

Load a texture using it's filename from a file. Returns the handle of the loaded texture

+

pub fn load_shader<T: 'static, V>(
    &mut self,
    filename: String,
    physical: PhysicalDevice,
    capabilities: Capabilities
) -> Option<Arc<CompiledShaderHandle>> where
    T: CompiledShader,
    V: Vertex, 
[src]

Load and Compile a shader with the filename at resources/shaders Takes physical and capabilities as we don't store that in Canvas

-

pub fn load_font(&mut self, name: String) -> Arc<CanvasFontHandle>[src]

Using the dimensions and suggested usage, load a CanvasImage and return it's handle

-

pub fn get_texture_handle(
    &self,
    texture_name: String
) -> Option<Arc<CanvasTextureHandle>>
[src]

Using the texture name, iterates through the stored textures and matches by the name

-

pub fn get_shader_handle(
    &self,
    shader_name: String
) -> Option<Arc<CompiledShaderHandle>>
[src]

Using the shader name, iterates through the stored shaders and matches by the name

-

pub fn get_font_handle(
    &self,
    font_name: String
) -> Option<Arc<CanvasFontHandle>>
[src]

Using the font name, iterates through the stored fonts and matches by the name

-

pub fn get_texture(
    &self,
    texture_handle: Arc<CanvasTextureHandle>
) -> Arc<ImmutableImage<Format>>
[src]

Using the texture handle, grab the stored texture and return the buffer

-

pub fn allocate(&mut self, canvas_frame: CanvasFrame) -> CanvasFrameAllocation[src]

Consume and allocate the canvas frame data to the GPU

-

pub fn draw_commands(
    &mut self,
    command_buffer: AutoCommandBufferBuilder,
    framebuffers: Vec<Arc<dyn FramebufferAbstract + Send + Sync>>,
    image_num: usize,
    allocated_buffers: CanvasFrameAllocation
) -> AutoCommandBufferBuilder
[src]

Pushes the draw commands to the command buffer. Requires the framebuffers and +

pub fn load_font(&mut self, name: String) -> Arc<CanvasFontHandle>[src]

Using the dimensions and suggested usage, load a CanvasImage and return it's handle

+

pub fn get_texture_handle(
    &self,
    texture_name: String
) -> Option<Arc<CanvasTextureHandle>>
[src]

Using the texture name, iterates through the stored textures and matches by the name

+

pub fn get_shader_handle(
    &self,
    shader_name: String
) -> Option<Arc<CompiledShaderHandle>>
[src]

Using the shader name, iterates through the stored shaders and matches by the name

+

pub fn get_font_handle(
    &self,
    font_name: String
) -> Option<Arc<CanvasFontHandle>>
[src]

Using the font name, iterates through the stored fonts and matches by the name

+

pub fn get_texture(
    &self,
    texture_handle: Arc<CanvasTextureHandle>
) -> Arc<ImmutableImage<Format>>
[src]

Using the texture handle, grab the stored texture and return the buffer

+

pub fn allocate(&mut self, canvas_frame: CanvasFrame) -> CanvasFrameAllocation[src]

Consume and allocate the canvas frame data to the GPU

+

pub fn draw_commands(
    &mut self,
    command_buffer: AutoCommandBufferBuilder,
    framebuffers: Vec<Arc<dyn FramebufferAbstract + Send + Sync>>,
    image_num: usize,
    allocated_buffers: CanvasFrameAllocation
) -> AutoCommandBufferBuilder
[src]

Pushes the draw commands to the command buffer. Requires the framebuffers and image number to be passed in as they are taken care of by the vkprocessor

Trait Implementations

impl Clone for CanvasState[src]

\ No newline at end of file diff --git a/doc/sfml_rust/fn.main.html b/doc/sfml_rust/fn.main.html index c687dea8..2b026565 100644 --- a/doc/sfml_rust/fn.main.html +++ b/doc/sfml_rust/fn.main.html @@ -1 +1 @@ -sfml_rust::main - Rust

[][src]Function sfml_rust::main

pub fn main()
\ No newline at end of file +sfml_rust::main - Rust

[][src]Function sfml_rust::main

pub fn main()
\ No newline at end of file diff --git a/doc/sfml_rust/index.html b/doc/sfml_rust/index.html index 333461a6..86af5546 100644 --- a/doc/sfml_rust/index.html +++ b/doc/sfml_rust/index.html @@ -1,3 +1,3 @@ -sfml_rust - Rust

[][src]Crate sfml_rust

Modules

-
canvas
compute
sprite
util
vkprocessor

Functions

+sfml_rust - Rust

[][src]Crate sfml_rust

Modules

+
canvas
compute
drawables
util
vkprocessor

Functions

main
\ No newline at end of file diff --git a/doc/sfml_rust/sidebar-items.js b/doc/sfml_rust/sidebar-items.js index 45f4f17a..51750d8b 100644 --- a/doc/sfml_rust/sidebar-items.js +++ b/doc/sfml_rust/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["main",""]],"mod":[["canvas",""],["compute",""],["sprite",""],["util",""],["vkprocessor",""]]}); \ No newline at end of file +initSidebarItems({"fn":[["main",""]],"mod":[["canvas",""],["compute",""],["drawables",""],["util",""],["vkprocessor",""]]}); \ No newline at end of file diff --git a/doc/sfml_rust/sprite/index.html b/doc/sfml_rust/sprite/index.html deleted file mode 100644 index adf5bed3..00000000 --- a/doc/sfml_rust/sprite/index.html +++ /dev/null @@ -1,2 +0,0 @@ -sfml_rust::sprite - Rust

[][src]Module sfml_rust::sprite

Structs

-
Sprite
\ No newline at end of file diff --git a/doc/sfml_rust/vkprocessor/index.html b/doc/sfml_rust/vkprocessor/index.html index f2448f35..ea66cc43 100644 --- a/doc/sfml_rust/vkprocessor/index.html +++ b/doc/sfml_rust/vkprocessor/index.html @@ -1,4 +1,4 @@ -sfml_rust::vkprocessor - Rust

[][src]Module sfml_rust::vkprocessor

Structs

+sfml_rust::vkprocessor - Rust

[][src]Module sfml_rust::vkprocessor

Structs

VkProcessor

VKProcessor holds the vulkan instance information, the swapchain, and the compute and canvas states

\ No newline at end of file diff --git a/doc/sfml_rust/vkprocessor/struct.VkProcessor.html b/doc/sfml_rust/vkprocessor/struct.VkProcessor.html index 27b1ef09..5540a413 100644 --- a/doc/sfml_rust/vkprocessor/struct.VkProcessor.html +++ b/doc/sfml_rust/vkprocessor/struct.VkProcessor.html @@ -10,7 +10,7 @@ }

VKProcessor holds the vulkan instance information, the swapchain, and the compute and canvas states

- Fields

instance: Arc<Instance>physical: PhysicalDevice<'a>device: Arc<Device>queues: QueuesIterqueue: Arc<Queue>swapchain: Option<Arc<Swapchain<Window>>>swapchain_images: Option<Vec<Arc<SwapchainImage<Window>>>>

Methods

impl<'a> VkProcessor<'a>[src]

pub fn new(
    instance: &'a Arc<Instance>,
    surface: &'a Arc<Surface<Window>>
) -> VkProcessor<'a>
[src]

Creates a new VkProcessor from an instance and surface + Fieldsinstance: Arc<Instance>physical: PhysicalDevice<'a>device: Arc<Device>queues: QueuesIterqueue: Arc<Queue>swapchain: Option<Arc<Swapchain<Window>>>swapchain_images: Option<Vec<Arc<SwapchainImage<Window>>>>

Methods

impl<'a> VkProcessor<'a>[src]

pub fn new(
    instance: &'a Arc<Instance>,
    surface: &'a Arc<Surface<Window>>
) -> VkProcessor<'a>
[src]

Creates a new VkProcessor from an instance and surface This includes the physical device, queues, compute and canvas state

pub fn is_open(&mut self) -> bool[src]

VKProcessor controls the window. So it will let the main loop know when it is done

pub fn create_swapchain(&mut self, surface: &'a Arc<Surface<Window>>)[src]

Using the surface, we calculate the surface capabilities and create the swapchain and swapchain images

@@ -26,7 +26,8 @@ This includes the physical device, queues, compute and canvas state

pub fn new_compute_buffer(
    &mut self,
    data: Vec<u8>,
    dimensions: (u32, u32),
    stride: u32
) -> Arc<CompuBufferHandle>
[src]

Builds a compute buffer and returns it's handle

pub fn read_compute_buffer(&mut self, handle: Arc<CompuBufferHandle>) -> Vec<u8>[src]

Takes a compute buffer handle and returns the read data

pub fn write_compute_buffer(
    &self,
    handle: Arc<CompuBufferHandle>,
    data: Vec<u8>
)
[src]

Takes a compute buffer handle and writes the received data

-

pub fn run(
    &mut self,
    surface: &'a Arc<Surface<Window>>,
    canvas_frame: CanvasFrame,
    compute_frame: CompuFrame
)
[src]

Auto Trait Implementations

impl<'a> !Send for VkProcessor<'a>

impl<'a> Unpin for VkProcessor<'a>

impl<'a> !Sync for VkProcessor<'a>

impl<'a> !UnwindSafe for VkProcessor<'a>

impl<'a> !RefUnwindSafe for VkProcessor<'a>

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn run(
    &mut self,
    surface: &'a Arc<Surface<Window>>,
    canvas_frame: CanvasFrame,
    compute_frame: CompuFrame
)
[src]

Run the VKprocessor for a single frame, consuming the Canvas/Compu Frames

+

Auto Trait Implementations

impl<'a> !Send for VkProcessor<'a>

impl<'a> Unpin for VkProcessor<'a>

impl<'a> !Sync for VkProcessor<'a>

impl<'a> !UnwindSafe for VkProcessor<'a>

impl<'a> !RefUnwindSafe for VkProcessor<'a>

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

\ No newline at end of file diff --git a/doc/src/sfml_rust/compute/compu_state.rs.html b/doc/src/sfml_rust/compute/compu_state.rs.html index 841e219a..69a4c584 100644 --- a/doc/src/sfml_rust/compute/compu_state.rs.html +++ b/doc/src/sfml_rust/compute/compu_state.rs.html @@ -279,13 +279,13 @@ let buffer = self.compute_buffers.get(buffer_id).unwrap(); let kernel = self.kernels.get(kernel_id).unwrap(); - let p = kernel.clone().get_pipeline(); - let d = buffer.get_descriptor_set(kernel.clone().get_pipeline()); + let pipeline = kernel.clone().get_pipeline(); + let descriptorset = buffer.get_descriptor_set(kernel.clone().get_pipeline()); let size = buffer.get_size(); command_buffer = command_buffer - .dispatch([size.0 / 8, size.1 / 8, 1], p, d, ()).unwrap() + .dispatch([size.0 / 8, size.1 / 8, 1], pipeline, descriptorset, ()).unwrap() } // i = (Buffer, Image, Kernel) diff --git a/doc/src/sfml_rust/compute/managed/compu_buffer.rs.html b/doc/src/sfml_rust/compute/managed/compu_buffer.rs.html index 2f7eb51b..95eb929a 100644 --- a/doc/src/sfml_rust/compute/managed/compu_buffer.rs.html +++ b/doc/src/sfml_rust/compute/managed/compu_buffer.rs.html @@ -144,7 +144,7 @@ }; // Settings buffer which holds i32's - // Compile macros into the kernel eventually to index them + // TODO: Compile macros into the kernel eventually to index them let settings_buffer = { let vec = vec![dimensions.0, dimensions.1]; let mut buff = vec.iter(); diff --git a/doc/src/sfml_rust/compute/managed/compu_sprite.rs.html b/doc/src/sfml_rust/compute/managed/compu_sprite.rs.html deleted file mode 100644 index 0ad67d77..00000000 --- a/doc/src/sfml_rust/compute/managed/compu_sprite.rs.html +++ /dev/null @@ -1,101 +0,0 @@ -compu_sprite.rs.html -- source
 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-
-use std::sync::Arc;
-use crate::canvas::managed::handles::{CanvasImageHandle, CanvasTextureHandle};
-
-pub struct CompuSprite {
-    pub vertices: [(f32, f32, f32); 6],
-    pub ti_position: [(f32, f32); 6],
-
-    position: (f32, f32),
-    size: (f32, f32),
-    color: (f32, f32, f32, f32),
-    image_handle: Arc<CanvasImageHandle>,
-
-}
-
-impl CompuSprite {
-    pub fn new(position: (f32, f32),
-               size: (f32, f32),
-               depth: u32,
-               image_size: (f32, f32),
-               image_handle: Arc<CanvasImageHandle>) -> CompuSprite {
-
-        let normalized_depth = (depth as f32 / 255.0);
-
-        CompuSprite {
-            vertices: [
-                (position.0, position.1                  , normalized_depth),    // top left
-                (position.0, position.1 + size.1         , normalized_depth),    // bottom left
-                (position.0 + size.0, position.1 + size.1, normalized_depth),    // bottom right
-                (position.0, position.1                  , normalized_depth),    // top left
-                (position.0 + size.0, position.1 + size.1, normalized_depth),    // bottom right
-                (position.0 + size.0, position.1         , normalized_depth),    // top right
-            ],
-
-            ti_position: [
-                (0.0         ,  0.0         ),          // top left
-                (0.0         ,  image_size.1),          // bottom left
-                (image_size.0,  image_size.1),          // bottom right
-                (0.0         ,  0.0         ),          // top left
-                (image_size.0,  image_size.1),          // bottom right
-                (image_size.0,  0.0         ),          // top right
-            ],
-            position: position,
-            size: size,
-            color: (0.0, 0.0, 0.0, 0.0),
-            image_handle: image_handle.clone(),
-        }
-    }
-}
-
-
-
\ No newline at end of file diff --git a/doc/src/sfml_rust/compute/managed/mod.rs.html b/doc/src/sfml_rust/compute/managed/mod.rs.html index 68a8ae3d..96cbf350 100644 --- a/doc/src/sfml_rust/compute/managed/mod.rs.html +++ b/doc/src/sfml_rust/compute/managed/mod.rs.html @@ -2,11 +2,9 @@ 2 3 4 -5
 
 pub mod compu_buffer;
-pub mod compu_sprite;
 pub mod compu_kernel;
 pub mod handles;
\ No newline at end of file diff --git a/doc/src/sfml_rust/drawables/compu_sprite.rs.html b/doc/src/sfml_rust/drawables/compu_sprite.rs.html new file mode 100644 index 00000000..5524e230 --- /dev/null +++ b/doc/src/sfml_rust/drawables/compu_sprite.rs.html @@ -0,0 +1,120 @@ +compu_sprite.rs.html -- source
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+
+use std::sync::Arc;
+use crate::canvas::managed::handles::{CanvasImageHandle, CanvasTextureHandle};
+use crate::canvas::canvas_frame::Drawable;
+use crate::util::vertex::{VertexTypes, ImageVertex3D};
+
+pub struct CompuSprite {
+
+    pub verts: VertexTypes,
+
+    position: (f32, f32),
+    size: (f32, f32),
+    color: (f32, f32, f32, f32),
+
+}
+
+impl CompuSprite {
+    pub fn new(position: (f32, f32),
+               size: (f32, f32),
+               depth: u32,
+               image_size: (f32, f32),
+               image_handle: Arc<CanvasImageHandle>) -> CompuSprite {
+
+        let normalized_depth = (depth as f32 / 255.0);
+
+        let verts = vec![
+            ImageVertex3D {
+                v_position: [position.0, position.1, normalized_depth],                   // top left
+                ti_position: [-0.0, -0.0] },
+            ImageVertex3D {
+                v_position: [position.0, position.1 + size.1, normalized_depth],          // bottom left
+                ti_position: [-0.0, image_size.1] },
+            ImageVertex3D {
+                v_position: [position.0 + size.0, position.1 + size.1, normalized_depth], // bottom right
+                ti_position: [image_size.0, image_size.1] },
+            ImageVertex3D {
+                v_position: [position.0, position.1, normalized_depth],                   // top left
+                ti_position: [-0.0, -0.0] },
+            ImageVertex3D {
+                v_position: [position.0 + size.0, position.1 + size.1, normalized_depth], // bottom right
+                ti_position: [image_size.0, image_size.1] },
+            ImageVertex3D {
+                v_position: [position.0 + size.0, position.1, normalized_depth],          // top right
+                ti_position: [image_size.0, -0.0] },
+        ];
+
+        CompuSprite {
+            verts: VertexTypes::ImageType(verts, image_handle.clone()),
+            position: position,
+            size: size,
+            color: (0.0, 0.0, 0.0, 0.0),
+        }
+    }
+}
+
+impl Drawable for CompuSprite {
+    fn get(&self) -> VertexTypes {
+        self.verts.clone()
+    }
+}
+
\ No newline at end of file diff --git a/doc/src/sfml_rust/drawables/mod.rs.html b/doc/src/sfml_rust/drawables/mod.rs.html new file mode 100644 index 00000000..3f3fe6d6 --- /dev/null +++ b/doc/src/sfml_rust/drawables/mod.rs.html @@ -0,0 +1,10 @@ +mod.rs.html -- source
1
+2
+3
+4
+
+pub mod polygon;
+pub mod sprite;
+pub mod rect;
+pub mod compu_sprite;
+
\ No newline at end of file diff --git a/doc/src/sfml_rust/drawables/polygon.rs.html b/doc/src/sfml_rust/drawables/polygon.rs.html new file mode 100644 index 00000000..4a1e8612 --- /dev/null +++ b/doc/src/sfml_rust/drawables/polygon.rs.html @@ -0,0 +1,145 @@ +polygon.rs.html -- source
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+
+use std::sync::Arc;
+use crate::canvas::*;
+use crate::canvas::managed::handles::{CanvasFontHandle, CanvasImageHandle, CanvasTextureHandle, Handle};
+use crate::canvas::canvas_frame::{Drawable};
+use crate::util::vertex::{VertexTypes, TextureVertex3D, Vertex3D, ColorVertex3D};
+use crate::drawables::sprite::Sprite;
+
+/// Convex multi verticy polygon
+#[derive(Debug, Clone)]
+pub struct Polygon {
+
+    pub verts: VertexTypes,
+
+    position: (f32, f32),
+    size: (f32, f32),
+}
+
+/// Container class which implements drawable.
+impl Polygon {
+
+    ///
+    pub fn new(position: (f32, f32),
+               size: (f32, f32),
+               depth: u32,) -> Polygon {
+
+        let normalized_depth = (depth as f32 / 255.0);
+
+        let verts = vec![
+            ColorVertex3D{v_position: [-0.5, -0.5, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [-1.0, 1.0, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [-0.25, 0.0, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [-0.25, 0.0, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [-1.0, 1.0, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [0.0, 0.5, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [0.25, 0.0, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [-1.0, 1.0, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [0.0, 0.5, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [0.5, -0.5, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [-1.0, 1.0, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [0.25, 0.0, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [0.25, -0.5, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [-1.0, 1.0, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [0.5, -0.5, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [0.25, -0.5, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [-1.0, 1.0, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [0.0, -0.1, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [-0.25, -0.5, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [-1.0, 1.0, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [0.0, -0.1, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [-0.5, -0.5, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [-1.0, 1.0, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+            ColorVertex3D{v_position: [-0.25, -0.5, normalized_depth], color: [1.0, 1.0, 0.0, 1.0] },
+        ];
+
+
+        Polygon {
+            verts: VertexTypes::ColorType(verts),
+            position: position,
+            size: size,
+        }
+    }
+}
+impl Drawable for Polygon {
+    fn get(&self) -> VertexTypes {
+        self.verts.clone()
+    }
+
+}
+
+
+
+
+
\ No newline at end of file diff --git a/doc/src/sfml_rust/drawables/rect.rs.html b/doc/src/sfml_rust/drawables/rect.rs.html new file mode 100644 index 00000000..fe400184 --- /dev/null +++ b/doc/src/sfml_rust/drawables/rect.rs.html @@ -0,0 +1,117 @@ +rect.rs.html -- source
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+
+use crate::canvas::canvas_frame::Drawable;
+use crate::util::vertex::{VertexTypes, ColorVertex3D};
+
+///
+#[derive(Debug, Clone)]
+pub struct Rect {
+
+    pub verts: VertexTypes,
+
+    position: (f32, f32),
+    size: (f32, f32),
+}
+
+/// Container class which implements drawable.
+impl Rect {
+
+    ///
+    pub fn new(position: (f32, f32),
+               size: (f32, f32),
+               depth: u32) -> Rect {
+
+        let normalized_depth = (depth as f32 / 255.0);
+
+        let verts = vec![
+            ColorVertex3D{
+                v_position: [position.0, position.1, normalized_depth],                   // top left
+                color: [0.0, 1.0, 1.0, 0.5] },
+            ColorVertex3D{
+                v_position: [position.0, position.1 + size.1, normalized_depth],          // bottom left
+                color: [1.0, 1.0, 1.0, 1.0] },
+            ColorVertex3D{
+                v_position: [position.0 + size.0, position.1 + size.1, normalized_depth], // bottom right
+                color: [1.0, 1.0, 1.0, 1.0] },
+            ColorVertex3D{
+                v_position: [position.0, position.1, normalized_depth],                   // top left
+                color: [1.0, 1.0, 1.0, 1.0] },
+            ColorVertex3D{
+                v_position: [position.0 + size.0, position.1 + size.1, normalized_depth], // bottom right
+                color: [1.0, 1.0, 1.0, 1.0] },
+            ColorVertex3D{
+                v_position: [position.0 + size.0, position.1, normalized_depth],          // top right
+                color: [1.0, 1.0, 1.0, 1.0] },
+        ];
+
+        Rect {
+            verts: VertexTypes::ColorType(verts),
+            position: position,
+            size: size,
+        }
+    }
+}
+impl Drawable for Rect {
+    fn get(&self) -> VertexTypes {
+        self.verts.clone()
+    }
+
+}
+
+
\ No newline at end of file diff --git a/doc/src/sfml_rust/sprite.rs.html b/doc/src/sfml_rust/drawables/sprite.rs.html similarity index 82% rename from doc/src/sfml_rust/sprite.rs.html rename to doc/src/sfml_rust/drawables/sprite.rs.html index a4a6d4f6..603e66e3 100644 --- a/doc/src/sfml_rust/sprite.rs.html +++ b/doc/src/sfml_rust/drawables/sprite.rs.html @@ -1,4 +1,4 @@ -sprite.rs.html -- source
 1
+sprite.rs.html -- source
 1
  2
  3
  4
@@ -128,4 +128,4 @@
 
 
 
-
\ No newline at end of file +
\ No newline at end of file diff --git a/doc/src/sfml_rust/main.rs.html b/doc/src/sfml_rust/main.rs.html index e0b52699..e88edcfc 100644 --- a/doc/src/sfml_rust/main.rs.html +++ b/doc/src/sfml_rust/main.rs.html @@ -228,28 +228,6 @@ 228 229 230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252
 #![allow(dead_code)]
 #![allow(unused_variables)]
@@ -271,46 +249,26 @@
 use winit::{EventsLoop, WindowBuilder, WindowEvent, Event, DeviceEvent, VirtualKeyCode, ElementState};
 use winit::dpi::LogicalSize;
 use vulkano_win::VkSurfaceBuild;
-use sprite::Sprite;
 
 use crate::util::load_raw;
 
 use vulkano::instance::debug::DebugCallback;
 use crate::compute::compu_frame::CompuFrame;
 use crate::canvas::canvas_frame::{CanvasFrame, Drawable};
-use crate::compute::managed::compu_sprite::CompuSprite;
 use std::sync::Arc;
 use crate::canvas::managed::handles::{CanvasTextureHandle, Handle, CanvasFontHandle};
 use crate::util::vertex::{VertexTypes, TextureVertex3D};
 use crate::compute::managed::handles::{CompuBufferHandle, CompuKernelHandle};
-
+use crate::drawables::sprite::Sprite;
+use crate::drawables::rect::Rect;
+use crate::drawables::compu_sprite::CompuSprite;
 
 pub mod util;
 pub mod vkprocessor;
-pub mod sprite;
-
+pub mod drawables;
 pub mod canvas;
 pub mod compute;
 
-/*
-
-    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
-
-
-
-*/
-
-
 pub fn main() {
     hprof::start_frame();
 
@@ -378,8 +336,12 @@
     let font_handle : Arc<CanvasFontHandle> =
         processor.get_font_handle(String::from("sansation.ttf")).unwrap();
 
-    let funky_sprite = Sprite::new((0.0, -0.5), (0.5, 0.5), 0, funky_handle.clone());
+    let funky_sprite = Sprite::new((0.0, 0.5), (0.5, 0.5), 0, funky_handle.clone());
     let sfml_sprite  = Sprite::new((0.0, -0.5), (0.5, 0.5), 1, sfml_handle.clone());
+    let rect  = Rect::new((-0.5, -0.5), (0.5, 0.5), 1);
+
+
+    //let sfml_sprite  = Sprite::new((0.0, -0.5), (0.5, 0.5), 1, sfml_handle.clone());
     //let text_sprite = Text::new((-0.1,-0.1), (10.0, 10.0), font_handle.clone());
     //let test_polygon = Poly::new_with_color((-0.5, -0.5), (0.5, 0.5), 1, (1.0,0.0,0.0,0.0));
 
@@ -440,20 +402,15 @@
             break;
         }
 
-
-        let funky_sprite = Sprite::new((0.0, -0.5), (0.5, 0.5), 0, funky_handle.clone());
-
         let mut canvas_frame = CanvasFrame::default();
         canvas_frame.draw(&funky_sprite);
-        canvas_frame.draw(&sfml_sprite);
+        canvas_frame.draw(&compu_sprite1);
+//        canvas_frame.draw(&rect);
 
         let mut compu_frame = CompuFrame::new();
-//        compu_frame.add(compute_buffer.clone(), compute_kernel.clone());
-//        compu_frame.add_with_image_swap(compute_buffer.clone(), compute_kernel.clone(), &compu_sprite1);
-//
-//        let mut canvas = CanvasFrame::new();
-//        canvas.draw(&funky_sprite);
-//        canvas.draw(&test_polygon);
+        //compu_frame.add(compute_buffer.clone(), compute_kernel.clone());
+        compu_frame.add_with_image_swap(compute_buffer.clone(), compute_kernel.clone(), &compu_sprite1);
+
 
         {
             let g = hprof::enter("Run");
@@ -466,7 +423,6 @@
     drop(l);
 
 
-return;
     hprof::end_frame();
     hprof::profiler().print_timing();
 }
diff --git a/doc/src/sfml_rust/util/mod.rs.html b/doc/src/sfml_rust/util/mod.rs.html
index 7901a996..c1454091 100644
--- a/doc/src/sfml_rust/util/mod.rs.html
+++ b/doc/src/sfml_rust/util/mod.rs.html
@@ -69,7 +69,7 @@
     let mut image_buffer = Vec::new();
 
     if pixel_count != data_length as usize {
-        println!("Creating apha channel...");
+        println!("Creating alpha channel for {}", filename);
         for i in img.raw_pixels().iter() {
             if (image_buffer.len() + 1) % 4 == 0 {
                 image_buffer.push(255);
diff --git a/doc/src/sfml_rust/vkprocessor.rs.html b/doc/src/sfml_rust/vkprocessor.rs.html
index 684448b9..ab3542e4 100644
--- a/doc/src/sfml_rust/vkprocessor.rs.html
+++ b/doc/src/sfml_rust/vkprocessor.rs.html
@@ -337,7 +337,6 @@
 337
 338
 339
-340
 
 use vulkano::command_buffer::{AutoCommandBufferBuilder, DynamicState};
 use vulkano::device::{Device, DeviceExtensions, QueuesIter, Queue};
@@ -563,10 +562,9 @@
         self.compute_state.write_compute_buffer(handle, data)
     }
 
-    ///
+    /// Run the VKprocessor for a single frame, consuming the Canvas/Compu Frames
     pub fn run(&mut self,
                surface: &'a Arc<Surface<Window>>,
-               //canvas_frame: CanvasFrame,
                canvas_frame: CanvasFrame,
                compute_frame: CompuFrame,
     ) {
diff --git a/notes/Drawables.txt b/notes/Drawables.txt
new file mode 100644
index 00000000..f93038da
--- /dev/null
+++ b/notes/Drawables.txt
@@ -0,0 +1,48 @@
+Content-Type: text/x-zim-wiki
+Wiki-Format: zim 0.4
+Creation-Date: 2020-02-21T22:54:06-08:00
+
+====== Drawables ======
+[[/doc/sfml_rust/drawables/index.html|Documentation]]
+
+=== Details ===
+Drawables are all able to be passed to the canvas frame to be rendered
+
+The implementation of the Drawable trait is tightly coupled to the data types defined in VertexType and ingested by the canvas frame
+
+Right now I have a couple of types that I'm using:
+	
+	TextureType(vec, handle)
+	ImageType(vec, handle)
+	ColorType(vec)
+	ThreeDType(vec)
+
+This maps to the drawables I have implemented
+
+	compu_sprite	: ImageType
+	polygon		: ColorType
+	rect		: ColorType
+	sprite		: TextureType
+
+
+It doesn't matter, how these objects get the VertexType that it needs to return. Generating them on the fly should be generally OK. It won't scale to very large amounts of sprites. But it's fine for now.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/notes/Home.txt b/notes/Home.txt
index 0a1dfff5..c3edb2e7 100644
--- a/notes/Home.txt
+++ b/notes/Home.txt
@@ -2,67 +2,43 @@ Content-Type: text/x-zim-wiki
 Wiki-Format: zim 0.4
 Creation-Date: 2020-02-03T22:11:42-08:00
 
-====== Home ======
-
-[[~/source/Trac3r-rust/doc/sfml_rust/index.html|Documentation Root]]
-
-Main Systems:
-	[[~/source/Trac3r-rust/doc/sfml_rust/sprite/index.html|Spri]][[~/source/Trac3r-rust/doc/sfml_rust/sprite/index.html|te]]
-	[[VKProcessor:CanvasContainerClasses]]
-	
-											  Docs
-[[VkProcessor]]                                [[~/source/Trac3r-rust/doc/sfml_rust/vkprocessor/struct.VkProcessor.html|===========]]
-	[[VKProcessor:CanvasState|CanvasState]]                             [[~/source/Trac3r-rust/doc/sfml_rust/canvas/canvas_state/index.html|===========]]
-	[[VKProcessor:DynamicVertex|DynamicVertex]]                           ===========
-	[[VKProcessor:CompuState|CompuState]]                              [[~/source/Trac3r-rust/doc/sfml_rust/compute/compu_state/struct.CompuState.html|===========]]
-	
 
 --------------------
 
-
 === 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:
+	[ ] Text rendering is half implemented.
+	[ ] Currently using local copies of a few libraries:
 		shade_runner
 		vulkano/vulkano-win
 		vulkano/vulkano-shaders
 		vulkano/vulkano
+	[ ] Get a new GPU
 
---------------------
-
-====== Warming Up ======
-
-Currently I'm getting my bearings again on this project. 
 
-=== canvas ===
-I made a maybe(?) good change to the heirarchy of the canvas. Hiding the construction of handles from anything outside.
-
-Currently, canvas is separated out to 
-	* A state container: CanvasState
-	* An Interface class CanvasFrame
-	* `Managed` objects. Aka, everything that CanvasState holds
-
-CanvasText is just laying around until I use it...
-Shader pipeline objects exists in one level of managed
-Handle and Buffer objects exists in the base managed level
-
-== Do I commit to the all handles in handles.rs? ==
+--------------------
 
-FYI The shader API is actually pretty badass
+[[~/source/Trac3r-rust/doc/sfml_rust/index.html|Documentation Root]]
+															 Docs
+[[VkProcessor]]                                [[~/source/Trac3r-rust/doc/sfml_rust/vkprocessor/struct.VkProcessor.html|===========]]
+	[[VKProcessor:CanvasState|CanvasState]]                             [[~/source/Trac3r-rust/doc/sfml_rust/canvas/canvas_state/index.html|===========]]
+	[[VKProcessor::CanvasFrame|CanvasFrame]]                             ===========
+	[[VKProcessor:CompiledShader|CompiledShader]]                          ===========
+	[[VKProcessor:CompuState|CompuState]]                              [[~/source/Trac3r-rust/doc/sfml_rust/compute/compu_state/struct.CompuState.html|===========]]
+	
+	[[VKProcessor:DynamicVertex|DynamicVertex]] (dead)                    ===========
+	
+[[Drawables]]	                           ===========
 
-load_shader::("shadername", a, b);
 
 --------------------
 
-So right now it looks like I am having some trouble in the drawing of the CanvasFrame I've crafted.
-
-It is seriously just a Vector of VertexTypes. Which should be fine
-
+==== Context switching ====
 
+So lets finish this text rendering!
 
+I remember using a triangle fan to render the fonts using the stencil buffer swapping
 
 
 --------------------
diff --git a/notes/VKProcessor.txt b/notes/VKProcessor.txt
index b2ded561..04221dac 100644
--- a/notes/VKProcessor.txt
+++ b/notes/VKProcessor.txt
@@ -16,12 +16,6 @@ Vk Processors is a do_all class for interaction with the render window, vulkan s
 	[[./vkprocessor.drawio]] 
 
 
-
-
-
-
-
-
 --------------------
 
 ===== Data =====
diff --git a/notes/VKProcessor/CanvasContainerClasses.txt b/notes/VKProcessor/CanvasContainerClasses.txt
index 11613aaf..05532f26 100644
--- a/notes/VKProcessor/CanvasContainerClasses.txt
+++ b/notes/VKProcessor/CanvasContainerClasses.txt
@@ -12,14 +12,6 @@ The Canvas needs to package certain buffers along with their metadata. These tak
 All buffers will have a coupled handle type stored in [[/src/canvas/managed/handles.rs|handles.rs]] and a reference to that handle 
 
 
-===== CanvasImage =====
-
-
-===== CanvasTexture =====
-
-
-===== CanvasFont =====
-
 
 
 
diff --git a/notes/VKProcessor/CanvasState.txt b/notes/VKProcessor/CanvasState.txt
index f7ff3529..42ee93f9 100644
--- a/notes/VKProcessor/CanvasState.txt
+++ b/notes/VKProcessor/CanvasState.txt
@@ -25,6 +25,26 @@ Creation-Date: 2020-02-03T23:30:41-08:00
 		An object which accumulate frame draws. The State will then parse this list of calls and display them on the screen
 
 
+--------------------
+
+=== canvas ===
+I made a maybe(?) good change to the heirarchy of the canvas. Hiding the construction of handles from anything outside.
+
+Currently, canvas is separated out to 
+	* A state container: CanvasState
+	* An Interface class CanvasFrame
+	* `Managed` objects. Aka, everything that CanvasState holds
+
+CanvasText is just laying around until I use it...
+Shader pipeline objects exists in one level of managed
+Handle and Buffer objects exists in the base managed level
+
+== Do I commit to the all handles in handles.rs? ==
+
+FYI The shader API is actually pretty badass
+
+load_shader::("shadername", a, b);
+
 --------------------
 
 ===== Data =====
@@ -38,7 +58,7 @@ Creation-Date: 2020-02-03T23:30:41-08:00
 	[[CanvasImage]]
 	[[VKProcessor:CanvasTexture|CanvasTexture]]
 	[[CanvasFont]]
-	[[CompiledGraphicsPipeline]]
+	[[CompiledShader]]
 
 --------------------
 
diff --git a/notes/VKProcessor/CompiledGraphicsPipeline.txt b/notes/VKProcessor/CompiledGraphicsPipeline.txt
deleted file mode 100644
index dff40e17..00000000
--- a/notes/VKProcessor/CompiledGraphicsPipeline.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-Content-Type: text/x-zim-wiki
-Wiki-Format: zim 0.4
-Creation-Date: 2020-02-12T23:22:51-08:00
-
-====== CompiledGraphicsPipeline ======
-
-
-
-
-Unfortunately we have to explicitly provide the type to the graphics pipeline if we don't want to fall out into the 
-
diff --git a/notes/VKProcessor/CompiledShader.txt b/notes/VKProcessor/CompiledShader.txt
new file mode 100644
index 00000000..5a1599a7
--- /dev/null
+++ b/notes/VKProcessor/CompiledShader.txt
@@ -0,0 +1,44 @@
+Content-Type: text/x-zim-wiki
+Wiki-Format: zim 0.4
+Creation-Date: 2020-02-12T23:22:51-08:00
+
+====== CompiledShader ======
+
+[[/doc/sfml_rust/canvas/managed/shader/shader_common/trait.CompiledShader.html|Documentation]]
+
+==== Details ====
+
+This trait returns: 
+	* It's pipeline
+	* It's own assigned handle
+	* The renderpass it copied from the constructor
+
+==== Implementors ====
+
+**GenericShader**
+	For basic 2D drawing we just these shaders
+		* Vertex
+		* Fragment
+	We also use a **SingleBufferDefinition**
+	For vertices, we use a **Triangle List**
+	We also use the **generic** depth stencil
+
+**TextShader**
+	
+	Very similar to the GenericShader, but specialized with the depth stencil to draw text.
+	Still using the shaders :
+		* Vertex
+		* Fragment
+	**SingleBufferDefinition**
+	**TriangleList**
+	**DepthStencil** with our own specialized depth stencil values
+
+
+
+
+
+
+
+
+
+
diff --git a/notes/VKProcessor/DynamicVertex.txt b/notes/VKProcessor/DynamicVertex.txt
index 9651ba3a..61b24de0 100644
--- a/notes/VKProcessor/DynamicVertex.txt
+++ b/notes/VKProcessor/DynamicVertex.txt
@@ -10,7 +10,7 @@ Creation-Date: 2020-02-04T23:22:14-08:00
 
 ===== Details =====
 
-So, the **pipeline** we create over in the **shader** needs to know about the vertex data it will be using. This lines up pretty well because the Shader is precisely the mechanism which would know about this data.
+So, the **pipeline** we create over in the **shader** needs to know about the vertex data it will be using. 
 
 
 --------------------
diff --git a/resources/shaders/simple-edge.compute b/resources/shaders/simple-edge.compute
index 01f2570e..187096ab 100644
--- a/resources/shaders/simple-edge.compute
+++ b/resources/shaders/simple-edge.compute
@@ -61,10 +61,10 @@ void main() {
         //p.w = 125;
     }
     //write_buffer.buf[0] = write_buffer.buf[0];
-    write_buffer.buf[idx] = (write_buffer.buf[idx] & (~0x000000FF) ) | (p.x);
-    write_buffer.buf[idx] = (write_buffer.buf[idx] & (~0x0000FF00) ) | (p.y << 8);
-    write_buffer.buf[idx] = (write_buffer.buf[idx] & (~0x00FF0000) ) | (p.z << 16);
-    write_buffer.buf[idx] = (write_buffer.buf[idx] & (~0xFF000000) ) | (p.w << 24);
+//    write_buffer.buf[idx] = (write_buffer.buf[idx] & (~0x000000FF) ) | (p.x);
+//    write_buffer.buf[idx] = (write_buffer.buf[idx] & (~0x0000FF00) ) | (p.y << 8);
+//    write_buffer.buf[idx] = (write_buffer.buf[idx] & (~0x00FF0000) ) | (p.z << 16);
+//    write_buffer.buf[idx] = (write_buffer.buf[idx] & (~0xFF000000) ) | (p.w << 24);
 
 }
 
diff --git a/resources/shaders/simple_text.frag b/resources/shaders/simple_text.frag
index 68878d82..c6a39e9f 100644
--- a/resources/shaders/simple_text.frag
+++ b/resources/shaders/simple_text.frag
@@ -2,20 +2,11 @@
 // SIMPLE TEXTURE : FRAGMENT SHADER
 
 // These come in from the previous shader (vertex)
-layout(location = 0) in vec2 texture_position;
+layout(location = 0) in vec4 out_color;
 
 // This goes out to the bound image in window_size_dependent setup
 layout(location = 0) out vec4 f_color;
 
-// This is bound by the descriptor set
-// Currently handled by the individual buffer and are 1:1
-layout(set = 0, binding = 0) uniform sampler2D tex;
-
 void main() {
-
-    ivec2 pixel_pos = ivec2(gl_FragCoord.x, gl_FragCoord.y);
-
-    f_color = texture(tex, texture_position);
-    float gamma = 0.5;
-    f_color.rgb = pow(f_color.rgb, vec3(1.0/gamma));
-}
\ No newline at end of file
+    f_color = out_color;
+}
diff --git a/resources/shaders/simple_text.vert b/resources/shaders/simple_text.vert
index 0e60d68a..54595d92 100644
--- a/resources/shaders/simple_text.vert
+++ b/resources/shaders/simple_text.vert
@@ -5,20 +5,14 @@
 // TODO : Need to add texture coordinate attribute so I can single VBO all these sumbitches
 layout(location = 0) in vec3 v_position;
 layout(location = 1) in vec4 color;
-layout(location = 2) in vec2 ti_position;
 
-layout(location = 3) in vec2 screen_position;
-layout(location = 4) in vec2 atlas_position;
-layout(location = 5) in vec2 atlas_size;
-layout(location = 6) in float scale;
-
-// These are made up in the shader themselves
-layout(location = 0) out vec2 tex_coords;
+layout(location = 0) out vec4 out_color;
 
 void main() {
 
+    out_color = color;
     gl_Position = vec4(v_position, 1.0);
-    tex_coords = ti_position;
+
 }
 
 
diff --git a/src/canvas/canvas_state.rs b/src/canvas/canvas_state.rs
index cc2f79ff..a2fe1592 100644
--- a/src/canvas/canvas_state.rs
+++ b/src/canvas/canvas_state.rs
@@ -18,7 +18,7 @@ use vulkano::swapchain::Capabilities;
 use winit::Window;
 use vulkano::pipeline::viewport::Viewport;
 use vulkano::descriptor::descriptor::DescriptorDescTy::TexelBuffer;
-use crate::canvas::canvas_frame::{CanvasFrame};
+use crate::canvas::canvas_frame::CanvasFrame;
 use std::hash::Hash;
 use vulkano::pipeline::depth_stencil::{StencilFaceFlags, DynamicStencilValue};
 use vulkano::memory::pool::PotentialDedicatedAllocation::Generic;
@@ -236,7 +236,6 @@ impl CanvasState {
 
     /// Load a texture using it's filename from a file. Returns the handle of the loaded texture
     pub fn load_texture(&mut self, filename: String) -> Option> {
-
         let handle = Arc::new(CanvasTextureHandle {
             handle: self.texture_buffers.len() as u32
         });
@@ -256,11 +255,10 @@ impl CanvasState {
     /// Load and Compile a shader with the filename at resources/shaders
     /// Takes physical and capabilities as we don't store that in Canvas
     pub fn load_shader(&mut self,
-                                   filename: String,
-                                   physical: PhysicalDevice,
-                                   capabilities: Capabilities) -> Option>
+                                      filename: String,
+                                      physical: PhysicalDevice,
+                                      capabilities: Capabilities) -> Option>
         where T: CompiledShader, V: Vertex {
-
         let handle = Arc::new(CompiledShaderHandle {
             handle: self.shader_buffers.len() as u32
         });
@@ -277,13 +275,14 @@ impl CanvasState {
         Some(handle)
     }
 
-    /// Using the dimensions and suggested usage, load a CanvasImage and return it's handle
+    ///
     pub fn load_font(&mut self, name: String) -> Arc {
         let handle = Arc::new(CanvasFontHandle { handle: self.font_buffers.len() as u32 });
 
         self.font_buffers.push(Arc::new({
             let font = Font::from_bytes({
-                let mut f = File::open("resources/fonts/sansation.ttf").expect("Font file not found");
+                let mut f = File::open("resources/fonts/sansation.ttf")
+                    .expect("Font file not found");
                 let mut font_data = Vec::new();
                 f.read_to_end(&mut font_data).expect("Dont know");
                 font_data
@@ -388,12 +387,13 @@ impl CanvasState {
 
     /// Consume and allocate the canvas frame data to the GPU
     pub fn allocate(&mut self, canvas_frame: CanvasFrame) -> CanvasFrameAllocation {
-
         let mut colored_vertex_buffer: Vec = Vec::default();
         let mut textured_vertex_buffer: HashMap, Vec> = HashMap::new();
         let mut image_vertex_buffer: HashMap, Vec> = HashMap::new();
         let mut text_instances: HashMap, Vec> = HashMap::new();
 
+        let mut text_vertex_buffer: Vec = Vec::new();
+
         for value in canvas_frame.map {
             match value {
                 VertexTypes::TextureType(vertices, handle) => {
@@ -405,7 +405,12 @@ impl CanvasState {
                 VertexTypes::ColorType(vertices) => {
                     colored_vertex_buffer.extend(vertices);
                 }
-                VertexTypes::ThreeDType(vertices) => {}
+                VertexTypes::ThreeDType(vertices) => {
+
+                }
+                VertexTypes::TextType(vertices) => {
+                    text_vertex_buffer.extend(vertices);
+                }
             };
         };
 
@@ -418,25 +423,35 @@ impl CanvasState {
             ).unwrap().0);
         }
 
+        let mut allocated_text_buffer: Vec> = Vec::new();
+        if !text_vertex_buffer.is_empty() {
+            allocated_text_buffer.push(ImmutableBuffer::from_iter(
+                text_vertex_buffer.iter().cloned(),
+                BufferUsage::vertex_buffer(),
+                self.queue.clone(),
+            ).unwrap().0);
+        }
+
         CanvasFrameAllocation {
             colored_vertex_buffer: allocated_colored_buffer,
             textured_vertex_buffer: textured_vertex_buffer.into_iter().map(|(k, v)| {
                 (k,
-                ImmutableBuffer::from_iter(
-                    v.iter().cloned(),
-                    BufferUsage::vertex_buffer(),
-                    self.queue.clone(),
-                ).unwrap().0 as Arc<(dyn BufferAccess + Send + Sync)>)
+                 ImmutableBuffer::from_iter(
+                     v.iter().cloned(),
+                     BufferUsage::vertex_buffer(),
+                     self.queue.clone(),
+                 ).unwrap().0 as Arc<(dyn BufferAccess + Send + Sync)>)
             }).collect(),
             image_vertex_buffer: image_vertex_buffer.into_iter().map(|(k, v)| {
                 (k,
-                ImmutableBuffer::from_iter(
-                    v.iter().cloned(),
-                    BufferUsage::vertex_buffer(),
-                    self.queue.clone(),
-                ).unwrap().0 as Arc<(dyn BufferAccess + Send + Sync)>)
+                 ImmutableBuffer::from_iter(
+                     v.iter().cloned(),
+                     BufferUsage::vertex_buffer(),
+                     self.queue.clone(),
+                 ).unwrap().0 as Arc<(dyn BufferAccess + Send + Sync)>)
             }).collect(),
             text_instances: Default::default(),
+            text_vertex_buffer: allocated_text_buffer,
         }
     }
 
@@ -527,28 +542,38 @@ impl CanvasState {
             }
         }
 
+        self.dynamic_state = DynamicState {
+            line_width: None,
+            viewports: self.dynamic_state.viewports.clone(),
+            scissors: None,
+            compare_mask: Some(DynamicStencilValue {
+                face: StencilFaceFlags::StencilFrontAndBack,
+                value: 0xFF,
+            }),
+            write_mask: Some(DynamicStencilValue {
+                face: StencilFaceFlags::StencilFrontAndBack,
+                value: 0xFF,
+            }),
+            reference: Some(DynamicStencilValue {
+                face: StencilFaceFlags::StencilFrontAndBack,
+                value: 0xFF,
+            }),
+        };
+
         // Text
-//        let mut shader = self.shader_buffers.get(
-//            self.get_shader_handle(String::from("simple_text"))
-//                .unwrap().clone().get_handle() as usize
-//        ).unwrap();
-
-//
-//        if !self.text_instances.is_empty() {
-//            for (font_handle, instance_buffer) in self.text_instances.clone() {
-//                let handle = font_handle.clone().handle as usize;
-//                let font = self.font_buffers.get(handle).clone().unwrap().clone();
-//                let descriptor_set = CanvasFont::get_descriptor_set(shader.get_pipeline());
-//
-//                command_buffer = command_buffer.draw(
-//                    shader.get_pipeline().clone(),
-//                    // Multiple vertex buffers must have their definition in the pipeline!
-//                    &self.dynamic_state.clone(),
-//                    vec![font.get_vertex_buffer().clone(), instance_buffer.clone()],
-//                    (), (),
-//                ).unwrap();
-//            }
-//        }
+        let mut shader = self.shader_buffers.get(
+            self.get_shader_handle(String::from("simple_text"))
+                .unwrap().clone().get_handle() as usize
+        ).unwrap();
+
+        if !allocated_buffers.text_vertex_buffer.is_empty() {
+            command_buffer = command_buffer.draw(
+                shader.get_pipeline().clone(),
+                &self.dynamic_state.clone(),
+                allocated_buffers.text_vertex_buffer.clone(),
+                (), (),
+            ).unwrap();
+        }
 
         command_buffer
             .end_render_pass()
diff --git a/src/drawables/mod.rs b/src/drawables/mod.rs
index ac44042a..4cc497e1 100644
--- a/src/drawables/mod.rs
+++ b/src/drawables/mod.rs
@@ -1,4 +1,5 @@
 pub mod polygon;
 pub mod sprite;
 pub mod rect;
-pub mod compu_sprite;
\ No newline at end of file
+pub mod compu_sprite;
+pub mod text;
\ No newline at end of file
diff --git a/src/drawables/text.rs b/src/drawables/text.rs
new file mode 100644
index 00000000..d32be563
--- /dev/null
+++ b/src/drawables/text.rs
@@ -0,0 +1,133 @@
+use crate::canvas::canvas_frame::Drawable;
+use crate::util::vertex::{VertexTypes, ColorVertex3D};
+
+///
+#[derive(Debug, Clone)]
+pub struct Text {
+    pub verts: VertexTypes,
+
+    position: (f32, f32),
+    size: (f32, f32),
+}
+
+/// Container class which implements drawable.
+impl Text {
+    ///
+    pub fn new(position: (f32, f32),
+               size: (f32, f32),
+               depth: u32) -> Text {
+        let normalized_depth = (depth as f32 / 255.0);
+
+        let verts = {
+            vec![
+                ColorVertex3D {
+                    v_position: [-0.5, -0.5, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [-1.0, 1.0, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [-0.25, 0.0, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [-0.25, 0.0, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [-1.0, 1.0, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [0.0, 0.5, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [0.25, 0.0, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [-1.0, 1.0, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [0.0, 0.5, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [0.5, -0.5, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [-1.0, 1.0, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [0.25, 0.0, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [0.25, -0.5, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [-1.0, 1.0, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [0.5, -0.5, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [0.25, -0.5, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [-1.0, 1.0, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [0.0, -0.1, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [-0.25, -0.5, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [-1.0, 1.0, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [0.0, -0.1, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [-0.5, -0.5, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [-1.0, 1.0, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                },
+                ColorVertex3D {
+                    v_position: [-0.25, -0.5, normalized_depth],
+                    color: [1.0, 1.0, 1.0, 1.0],
+                }]
+        };
+
+        Text {
+            verts: VertexTypes::ColorType(verts),
+            position: position,
+            size: size,
+        }
+    }
+}
+
+impl Drawable for Text {
+    fn get(&self) -> VertexTypes {
+        self.verts.clone()
+    }
+}
diff --git a/src/main.rs b/src/main.rs
index 2e16ace9..00f197d5 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -31,6 +31,7 @@ use crate::compute::managed::handles::{CompuBufferHandle, CompuKernelHandle};
 use crate::drawables::sprite::Sprite;
 use crate::drawables::rect::Rect;
 use crate::drawables::compu_sprite::CompuSprite;
+use crate::drawables::text::Text;
 
 pub mod util;
 pub mod vkprocessor;
@@ -111,7 +112,7 @@ pub fn main() {
 
 
     //let sfml_sprite  = Sprite::new((0.0, -0.5), (0.5, 0.5), 1, sfml_handle.clone());
-    //let text_sprite = Text::new((-0.1,-0.1), (10.0, 10.0), font_handle.clone());
+    let text_sprite = Text::new((-0.1,-0.1), (10.0, 10.0), 1);
     //let test_polygon = Poly::new_with_color((-0.5, -0.5), (0.5, 0.5), 1, (1.0,0.0,0.0,0.0));
 
     drop(q2);
@@ -173,7 +174,7 @@ pub fn main() {
 
         let mut canvas_frame = CanvasFrame::default();
         canvas_frame.draw(&funky_sprite);
-        canvas_frame.draw(&compu_sprite1);
+        canvas_frame.draw(&text_sprite);
 //        canvas_frame.draw(&rect);
 
         let mut compu_frame = CompuFrame::new();
diff --git a/src/util/vertex.rs b/src/util/vertex.rs
index 323fe241..567c7f93 100644
--- a/src/util/vertex.rs
+++ b/src/util/vertex.rs
@@ -56,6 +56,7 @@ pub enum VertexTypes {
     ImageType(Vec, Arc),
     ColorType(Vec),
     ThreeDType(Vec),
+    TextType(Vec),
 
 }
 
@@ -65,6 +66,8 @@ pub struct CanvasFrameAllocation {
     pub textured_vertex_buffer: HashMap, Arc<(dyn BufferAccess + Send + Sync)>>,
     pub image_vertex_buffer: HashMap, Arc<(dyn BufferAccess + Send + Sync)>>,
     pub text_instances: HashMap, Arc<(dyn BufferAccess + Send + Sync)>>,
+
+    pub text_vertex_buffer: Vec>,
 }
 
 
diff --git a/src/vkprocessor.rs b/src/vkprocessor.rs
index f4f127a9..5a68d0bf 100644
--- a/src/vkprocessor.rs
+++ b/src/vkprocessor.rs
@@ -171,7 +171,7 @@ impl<'a> VkProcessor<'a> {
         self.canvas_state.load_shader::(String::from("color-passthrough"), self.physical.clone(), self.capabilities.clone());
         self.canvas_state.load_shader::(String::from("simple_texture"), self.physical.clone(), self.capabilities.clone());
         self.canvas_state.load_shader::(String::from("simple_image"), self.physical.clone(), self.capabilities.clone());
-    //    self.canvas_state.load_shader::(String::from("simple_text"), self.physical.clone(), self.capabilities.clone());
+        self.canvas_state.load_shader::(String::from("simple_text"), self.physical.clone(), self.capabilities.clone());
     }
 
     /// A hardcoded list of shaders which can be proloaded from this function