var searchIndex = {}; searchIndex["luminance"] = {"doc":"","items":[[0,"blending","luminance","That module exports blending-related types and functions.",null,null],[4,"Equation","luminance::blending","Blending equation.",null,null],[13,"Additive","","`Additive` represents the following blending equation:",0,null],[13,"Subtract","","`Subtract` represents the following blending equation:",0,null],[13,"ReverseSubtract","","Because subtracting is not commutative, `ReverseSubtract` represents the following additional\nblending equation:",0,null],[13,"Min","","`Min` represents the following blending equation:",0,null],[13,"Max","","`Max` represents the following blending equation:",0,null],[4,"Factor","","",null,null],[13,"One","","1 * color = factor",1,null],[13,"Zero","","0 * color = 0",1,null],[13,"SrcColor","","src * color",1,null],[13,"NegativeSrcColor","","(1 - src) * color",1,null],[13,"DestColor","","dst * color",1,null],[13,"NegativeDestColor","","(1 - dst) * color",1,null],[13,"SrcAlpha","","srcA * color",1,null],[13,"NegativeSrcAlpha","","(1 - src) * color",1,null],[13,"DstAlpha","","dstA * color",1,null],[13,"NegativeDstAlpha","","(1 - dstA) * color",1,null],[13,"SrcAlphaSaturate","","",1,null],[11,"fmt","","",0,null],[11,"clone","","",0,null],[11,"fmt","","",1,null],[11,"clone","","",1,null],[0,"buffer","luminance","Static GPU typed arrays.",null,null],[3,"Buffer","luminance::buffer","A `Buffer` is a GPU region you can picture as an array. It has a static size and cannot be\nresized. The size is expressed in number of elements lying in the buffer, not in bytes.",null,null],[12,"repr","","",2,null],[12,"size","","",2,null],[4,"BufferError","","Buffer errors.",null,null],[13,"Overflow","","",3,null],[13,"TooFewValues","","",3,null],[13,"TooManyValues","","",3,null],[8,"HasBuffer","","Implement this trait to provide buffers.",null,null],[16,"ABuffer","","A type representing minimal information to operate on a buffer. For instance, a size, a\npointer, a method to retrieve data, a handle, whatever.",4,null],[10,"new","","Create a new buffer with a given size.",4,{"inputs":[{"name":"usize"}],"output":{"name":"abuffer"}}],[10,"free","","Destroy a buffer.",4,{"inputs":[{"name":"abuffer"}],"output":null}],[10,"write_whole","","Write values into the buffer.",4,null],[10,"write","","Write a single value in the buffer at a given offset.",4,{"inputs":[{"name":"abuffer"},{"name":"usize"},{"name":"t"}],"output":{"name":"result"}}],[10,"read_whole","","Read all values from the buffer.",4,{"inputs":[{"name":"abuffer"},{"name":"usize"}],"output":{"name":"vec"}}],[10,"read","","Read a single value from the buffer at a given offset.",4,{"inputs":[{"name":"abuffer"},{"name":"usize"}],"output":{"name":"option"}}],[11,"fmt","","",3,null],[11,"fmt","","",2,null],[11,"new","","Create a new `Buffer` with a given number of elements.",2,{"inputs":[{"name":"a"},{"name":"usize"}],"output":{"name":"buffer"}}],[11,"get","","Retrieve an element from the `Buffer`.",2,null],[11,"whole","","Retrieve the whole content of the `Buffer`.",2,null],[11,"set","","Set a value at a given index in the `Buffer`.",2,null],[11,"clear","","Fill the `Buffer` with a single value.",2,null],[11,"fill","","Fill the whole buffer with an array.",2,null],[11,"drop","","",2,null],[0,"chain","luminance","Generalized free tuples.",null,null],[3,"Chain","luminance::chain","The generalized free tuple.",null,null],[12,"0","","",5,null],[12,"1","","",5,null],[0,"framebuffer","luminance","Framebuffers and utility types and functions.",null,null],[3,"Framebuffer","luminance::framebuffer","Framebuffer with static layering, dimension, access and slots formats.",null,null],[12,"repr","","",6,null],[12,"color_slot","","",6,null],[12,"depth_slot","","",6,null],[3,"Slot","","Slot type; used to create color and depth slots for framebuffers.",null,null],[12,"texture","","",7,null],[4,"FramebufferError","","Framebuffer error.",null,null],[13,"Incomplete","","",8,null],[8,"HasFramebuffer","","Trait to implement to provide framebuffer features.",null,null],[16,"Framebuffer","","Framebuffer representation.",9,null],[10,"new_framebuffer","","Create a new framebuffer.",9,{"inputs":[{"name":"size"},{"name":"u32"}],"output":{"name":"result"}}],[10,"free_framebuffer","","Free a framebuffer.",9,{"inputs":[{"name":"framebuffer"}],"output":null}],[10,"default_framebuffer","","Default framebuffer.",9,{"inputs":[],"output":{"name":"framebuffer"}}],[8,"ColorSlot","","A framebuffer has a color slot. A color slot can either be empty (the *unit* type is used,`()`)\nor several color formats.",null,null],[10,"color_formats","","Turn a color slot into a list of pixel formats.",10,{"inputs":[],"output":{"name":"vec"}}],[10,"reify_textures","","Reify a list of raw textures into a color slot.",10,{"inputs":[{"name":"size"},{"name":"u32"},{"name":"vec"}],"output":{"name":"self"}}],[8,"DepthSlot","","A framebuffer has a depth slot. A depth slot can either be empty (the *unit* type is used, `()`)\nor a single depth format.",null,null],[10,"depth_format","","Turn a depth slot into a pixel format.",11,{"inputs":[],"output":{"name":"option"}}],[10,"reify_texture","","Reify a raw textures into a depth slot.",11,{"inputs":[{"name":"size"},{"name":"u32"},{"name":"option"}],"output":{"name":"self"}}],[11,"fmt","","",8,null],[11,"fmt","","",6,null],[11,"default","","",6,{"inputs":[],"output":{"name":"self"}}],[11,"drop","","",6,null],[11,"new","","",6,{"inputs":[{"name":"size"},{"name":"u32"}],"output":{"name":"result"}}],[11,"color_formats","","",7,{"inputs":[],"output":{"name":"vec"}}],[11,"reify_textures","","",7,{"inputs":[{"name":"size"},{"name":"u32"},{"name":"vec"}],"output":{"name":"self"}}],[11,"color_formats","luminance::chain","",5,{"inputs":[],"output":{"name":"vec"}}],[11,"reify_textures","","",5,{"inputs":[{"name":"size"},{"name":"u32"},{"name":"vec"}],"output":{"name":"self"}}],[11,"depth_format","luminance::framebuffer","",7,{"inputs":[],"output":{"name":"option"}}],[11,"reify_texture","","",7,{"inputs":[{"name":"size"},{"name":"u32"},{"name":"option"}],"output":{"name":"self"}}],[0,"linear","luminance","Aliases types used to make it easier using long linear algebra types.",null,null],[6,"M22","luminance::linear","2x2 floating matrix.",null,null],[6,"M33","","3x3 floating matrix.",null,null],[6,"M44","","4x4 floating matrix.",null,null],[0,"pixel","luminance","Pixel formats types and function manipulation.",null,null],[3,"PixelFormat","luminance::pixel","A `PixelFormat` gathers a `Type` along with a `Format`.",null,null],[12,"encoding","","",12,null],[12,"format","","",12,null],[3,"RGB8UI","","A red, green and blue 8-bit unsigned pixel format.",null,null],[3,"RGBA8UI","","A red, green, blue and alpha 8-bit unsigned pixel format.",null,null],[3,"RGB32F","","A red, green and blue 32-bit floating pixel format.",null,null],[3,"RGBA32F","","A red, green, blue and alpha 32-bit floating pixel format.",null,null],[3,"Depth32F","","A depth 32-bit floating pixel format.",null,null],[4,"Type","","Pixel type.",null,null],[13,"Integral","","",13,null],[13,"Unsigned","","",13,null],[13,"Floating","","",13,null],[4,"Format","","Format of a pixel.",null,null],[13,"R","","Holds a red-only channel.",14,null],[13,"RG","","Holds red and green channels.",14,null],[13,"RGB","","Holds red, green and blue channels.",14,null],[13,"RGBA","","Holds red, green, blue and alpha channels.",14,null],[13,"Depth","","Holds a depth channel.",14,null],[5,"is_color_pixel","","Does a `PixelFormat` represent a color?",null,{"inputs":[{"name":"pixelformat"}],"output":{"name":"bool"}}],[5,"is_depth_pixel","","Does a `PixelFormat` represent depth information?",null,{"inputs":[{"name":"pixelformat"}],"output":{"name":"bool"}}],[8,"Pixel","","Reify a static pixel format to runtime.",null,null],[16,"Encoding","","Encoding of a single pixel. It should match the `PixelFormat` mapping.",15,null],[10,"pixel_format","","",15,{"inputs":[],"output":{"name":"pixelformat"}}],[8,"ColorPixel","","Constraint on `Pixel` for color ones.",null,null],[8,"DepthPixel","","Constraint on `Pixel` for depth ones.",null,null],[11,"fmt","","",12,null],[11,"clone","","",12,null],[11,"fmt","","",13,null],[11,"clone","","",13,null],[11,"fmt","","",14,null],[11,"clone","","",14,null],[11,"fmt","","",16,null],[11,"clone","","",16,null],[11,"pixel_format","","",16,{"inputs":[],"output":{"name":"pixelformat"}}],[11,"fmt","","",17,null],[11,"clone","","",17,null],[11,"pixel_format","","",17,{"inputs":[],"output":{"name":"pixelformat"}}],[11,"fmt","","",18,null],[11,"clone","","",18,null],[11,"pixel_format","","",18,{"inputs":[],"output":{"name":"pixelformat"}}],[11,"fmt","","",19,null],[11,"clone","","",19,null],[11,"pixel_format","","",19,{"inputs":[],"output":{"name":"pixelformat"}}],[11,"fmt","","",20,null],[11,"clone","","",20,null],[11,"pixel_format","","",20,{"inputs":[],"output":{"name":"pixelformat"}}],[0,"render","luminance","",null,null],[3,"FrameCommand","luminance::render","",null,null],[12,"framebuffer","","",21,null],[12,"clear_color","","",21,null],[12,"shading_commands","","",21,null],[3,"ShadingCommand","","",null,null],[12,"program","","",22,null],[12,"update","","",22,null],[12,"render_commands","","",22,null],[3,"RenderCommand","","",null,null],[12,"blending","","",23,null],[12,"depth_test","","",23,null],[12,"update","","",23,null],[12,"tessellation","","",23,null],[12,"instances","","",23,null],[12,"rasterization_size","","",23,null],[5,"run_frame_command","","",null,{"inputs":[{"name":"framecommand"}],"output":null}],[8,"HasFrameCommand","","",null,null],[10,"run_frame_command","","",24,{"inputs":[{"name":"framecommand"}],"output":null}],[11,"new","","",21,null],[11,"new","","",22,{"inputs":[{"name":"program"},{"name":"f"},{"name":"vec"}],"output":{"name":"self"}}],[11,"new","","",23,{"inputs":[{"name":"option"},{"name":"bool"},{"name":"f"},{"name":"tessellation"},{"name":"u32"},{"name":"option"}],"output":{"name":"self"}}],[0,"rw","luminance","I/O access rights.",null,null],[3,"R","luminance::rw","Read-only access.",null,null],[3,"W","","Write-only access.",null,null],[3,"RW","","Both read and write access.",null,null],[8,"Readable","","A trait that represents readable access; that is, `R` and `RW`.",null,null],[8,"Writable","","A trait that represents writable access; that is, `W` and `RW`.",null,null],[0,"shader","luminance","Shader-related modules.",null,null],[0,"program","luminance::shader","",null,null],[3,"Program","luminance::shader::program","",null,null],[12,"repr","","",25,null],[4,"ProgramError","","",null,null],[13,"LinkFailed","","",26,null],[13,"InactiveUniform","","",26,null],[13,"UniformTypeMismatch","","",26,null],[8,"HasProgram","","",null,null],[16,"Program","","",27,null],[10,"new_program","","",27,{"inputs":[{"name":"option"},{"name":"astage"},{"name":"option"},{"name":"astage"}],"output":{"name":"result"}}],[10,"free_program","","",27,{"inputs":[{"name":"program"}],"output":null}],[10,"map_uniform","","",27,{"inputs":[{"name":"program"},{"name":"uniformname"}],"output":{"name":"result"}}],[10,"update_uniforms","","",27,{"inputs":[{"name":"program"},{"name":"f"}],"output":null}],[11,"fmt","","",25,null],[11,"drop","","",25,null],[11,"new","","",25,{"inputs":[{"name":"option"},{"name":"stage"},{"name":"option"},{"name":"stage"}],"output":{"name":"result"}}],[11,"uniform","","",25,null],[11,"update","","",25,null],[11,"fmt","","",26,null],[0,"stage","luminance::shader","",null,null],[3,"TessellationControlShader","luminance::shader::stage","",null,null],[3,"TessellationEvaluationShader","","",null,null],[3,"VertexShader","","",null,null],[3,"GeometryShader","","",null,null],[3,"FragmentShader","","",null,null],[3,"Stage","","A shader stage. The `T` type variable gives the type of the shader.",null,null],[12,"repr","","",28,null],[4,"Type","","A shader stage type.",null,null],[13,"TessellationControlShader","","",29,null],[13,"TessellationEvaluationShader","","",29,null],[13,"VertexShader","","",29,null],[13,"GeometryShader","","",29,null],[13,"FragmentShader","","",29,null],[4,"StageError","","",null,null],[13,"CompilationFailed","","Occurs when a shader fails to compile.",30,null],[13,"UnsupportedType","","Occurs when you try to create a shader which type is not supported on the current hardware.",30,null],[8,"HasStage","","",null,null],[16,"AStage","","",31,null],[10,"new_shader","","",31,{"inputs":[{"name":"type"},{"name":"str"}],"output":{"name":"result"}}],[10,"free_shader","","",31,{"inputs":[{"name":"astage"}],"output":null}],[8,"ShaderTypeable","","",null,null],[10,"shader_type","","",32,{"inputs":[],"output":{"name":"type"}}],[11,"fmt","","",29,null],[11,"clone","","",29,null],[11,"fmt","","",33,null],[11,"shader_type","","",33,{"inputs":[],"output":{"name":"type"}}],[11,"fmt","","",34,null],[11,"shader_type","","",34,{"inputs":[],"output":{"name":"type"}}],[11,"fmt","","",35,null],[11,"shader_type","","",35,{"inputs":[],"output":{"name":"type"}}],[11,"fmt","","",36,null],[11,"shader_type","","",36,{"inputs":[],"output":{"name":"type"}}],[11,"fmt","","",37,null],[11,"shader_type","","",37,{"inputs":[],"output":{"name":"type"}}],[11,"fmt","","",28,null],[11,"drop","","",28,null],[11,"new","","",28,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",30,null],[11,"clone","","",30,null],[0,"uniform","luminance::shader","Shader uniforms and associated operations.",null,null],[3,"Uniform","luminance::shader::uniform","A shader uniform. `Uniform<C, T>` doesn’t hold any value. It’s more like a mapping between the\nhost code and the shader the uniform was retrieved from.",null,null],[12,"repr","","",38,null],[4,"UniformName","","Name of a `Uniform`.",null,null],[13,"StringName","","",39,null],[13,"SemanticName","","",39,null],[8,"HasUniform","","",null,null],[16,"U","","Uniform representation.",40,null],[10,"update1_i32","","",40,{"inputs":[{"name":"u"},{"name":"i32"}],"output":null}],[10,"update2_i32","","",40,null],[10,"update3_i32","","",40,null],[10,"update4_i32","","",40,null],[10,"update1_slice_i32","","",40,null],[10,"update2_slice_i32","","",40,null],[10,"update3_slice_i32","","",40,null],[10,"update4_slice_i32","","",40,null],[10,"update1_u32","","",40,{"inputs":[{"name":"u"},{"name":"u32"}],"output":null}],[10,"update2_u32","","",40,null],[10,"update3_u32","","",40,null],[10,"update4_u32","","",40,null],[10,"update1_slice_u32","","",40,null],[10,"update2_slice_u32","","",40,null],[10,"update3_slice_u32","","",40,null],[10,"update4_slice_u32","","",40,null],[10,"update1_f32","","",40,{"inputs":[{"name":"u"},{"name":"f32"}],"output":null}],[10,"update2_f32","","",40,null],[10,"update3_f32","","",40,null],[10,"update4_f32","","",40,null],[10,"update1_slice_f32","","",40,null],[10,"update2_slice_f32","","",40,null],[10,"update3_slice_f32","","",40,null],[10,"update4_slice_f32","","",40,null],[10,"update22_f32","","",40,{"inputs":[{"name":"u"},{"name":"m22"}],"output":null}],[10,"update33_f32","","",40,{"inputs":[{"name":"u"},{"name":"m33"}],"output":null}],[10,"update44_f32","","",40,{"inputs":[{"name":"u"},{"name":"m44"}],"output":null}],[10,"update22_slice_f32","","",40,null],[10,"update33_slice_f32","","",40,null],[10,"update44_slice_f32","","",40,null],[10,"update1_bool","","",40,{"inputs":[{"name":"u"},{"name":"bool"}],"output":null}],[10,"update2_bool","","",40,null],[10,"update3_bool","","",40,null],[10,"update4_bool","","",40,null],[10,"update1_slice_bool","","",40,null],[10,"update2_slice_bool","","",40,null],[10,"update3_slice_bool","","",40,null],[10,"update4_slice_bool","","",40,null],[8,"Uniformable","","Types that can behave as `Uniform`.",null,null],[10,"update","","",41,{"inputs":[{"name":"uniform"},{"name":"self"}],"output":null}],[11,"fmt","","",38,null],[11,"new","","",38,{"inputs":[{"name":"u"}],"output":{"name":"uniform"}}],[11,"update","","",38,null],[11,"fmt","","",39,null],[11,"update","","",42,{"inputs":[{"name":"uniform"},{"name":"self"}],"output":null}],[11,"update","","",43,{"inputs":[{"name":"uniform"},{"name":"self"}],"output":null}],[11,"update","","",44,{"inputs":[{"name":"uniform"},{"name":"self"}],"output":null}],[0,"tessellation","luminance","Tessellation features.",null,null],[3,"Tessellation","luminance::tessellation","",null,null],[12,"repr","","",45,null],[4,"Mode","","Vertices can be connected via several modes.",null,null],[13,"Point","","",46,null],[13,"Line","","",46,null],[13,"LineStrip","","",46,null],[13,"Triangle","","",46,null],[13,"TriangleFan","","",46,null],[13,"TriangleStrip","","",46,null],[8,"HasTessellation","","Trait to implement to provide tessellation features.",null,null],[16,"Tessellation","","A type representing tessellation on GPU.",47,null],[10,"new","","Create a `Tessellation` from its vertices and a `Mode`.",47,null],[10,"destroy","","Destroy a `Tessellation`.",47,{"inputs":[{"name":"tessellation"}],"output":null}],[11,"fmt","","",46,null],[11,"clone","","",46,null],[11,"fmt","","",45,null],[11,"drop","","",45,null],[11,"new","","",45,null],[0,"texture","luminance","This module provides texture features.",null,null],[3,"Dim1","luminance::texture","",null,null],[3,"Dim2","","",null,null],[3,"Dim3","","",null,null],[3,"Cubemap","","",null,null],[3,"Flat","","",null,null],[3,"Layered","","",null,null],[3,"Texture","","Texture.",null,null],[12,"repr","","",48,null],[12,"size","","",48,null],[12,"mipmaps","","",48,null],[3,"Sampler","","A `Sampler` object gives hint on how a `Texture` should be sampled.",null,null],[12,"wrap_r","","How should we wrap around the *r* sampling coordinate?",49,null],[12,"wrap_s","","How should we wrap around the *s* sampling coordinate?",49,null],[12,"wrap_t","","How should we wrap around the *t* sampling coordinate?",49,null],[12,"minification","","Minification filter.",49,null],[12,"magnification","","Magnification filter.",49,null],[12,"depth_comparison","","For depth textures, should we perform depth comparison and if so, how?",49,null],[4,"Wrap","","How to wrap texture coordinates while sampling textures?",null,null],[13,"ClampToEdge","","If textures coordinates lay outside of *[0;1]*, they will be clamped to either *0* or *1* for\nevery components.",50,null],[13,"Repeat","","Textures coordinates are repeated if they lay outside of *[0;1]*. Picture this as:",50,null],[13,"MirroredRepeat","","Same as `Repeat` but it will alternatively repeat between *[0;1]* and *[1;0]*.",50,null],[4,"Filter","","Minification and magnification filter.",null,null],[13,"Nearest","","Clamp to nearest pixel.",51,null],[13,"Linear","","Linear interpolation with surrounding pixels.",51,null],[4,"DepthComparison","","Depth comparison to perform while depth test. `a` is the incoming fragment’s depth and b is the\nfragment’s depth that is already stored.",null,null],[13,"Never","","Depth test never succeeds.",52,null],[13,"Always","","Depth test always succeeds.",52,null],[13,"Equal","","Depth test succeeds if `a == b`.",52,null],[13,"NotEqual","","Depth test succeeds if `a != b`.",52,null],[13,"Less","","Depth test succeeds if `a < b`.",52,null],[13,"LessOrEqual","","Depth test succeeds if `a <= b`.",52,null],[13,"Greater","","Depth test succeeds if `a > b`.",52,null],[13,"GreaterOrEqual","","Depth test succeeds if `a >= b`.",52,null],[4,"Dim","","Dimension of a texture.",null,null],[13,"Dim1","","",53,null],[13,"Dim2","","",53,null],[13,"Dim3","","",53,null],[13,"Cubemap","","",53,null],[4,"CubeFace","","Faces of a cubemap.",null,null],[13,"PositiveX","","",54,null],[13,"NegativeX","","",54,null],[13,"PositiveY","","",54,null],[13,"NegativeY","","",54,null],[13,"PositiveZ","","",54,null],[13,"NegativeZ","","",54,null],[4,"Layering","","Texture layering. If a texture is layered, it has an extra coordinates to access the layer.",null,null],[13,"Flat","","Non-layered.",55,null],[13,"Layered","","Layered.",55,null],[5,"dim_capacity","","",null,{"inputs":[{"name":"size"}],"output":{"name":"u32"}}],[8,"Dimensionable","","Reify a type into a `Dim`.",null,null],[16,"Size","","",56,null],[16,"Offset","","",56,null],[10,"dim","","Dimension.",56,{"inputs":[],"output":{"name":"dim"}}],[10,"width","","Width of the associated `Size`.",56,{"inputs":[{"name":"size"}],"output":{"name":"u32"}}],[11,"height","","Height of the associated `Size`. If it doesn’t have one, set it to 1.",56,{"inputs":[{"name":"size"}],"output":{"name":"u32"}}],[11,"depth","","Depth of the associated `Size`. If it doesn’t have one, set it to 1.",56,{"inputs":[{"name":"size"}],"output":{"name":"u32"}}],[10,"x_offset","","X offset.",56,{"inputs":[{"name":"offset"}],"output":{"name":"u32"}}],[11,"y_offset","","Y offset. If it doesn’t have one, set it to 0.",56,{"inputs":[{"name":"offset"}],"output":{"name":"u32"}}],[11,"z_offset","","Z offset. If it doesn’t have one, set it to 0.",56,{"inputs":[{"name":"offset"}],"output":{"name":"u32"}}],[10,"zero_offset","","Zero offset.",56,{"inputs":[],"output":{"name":"offset"}}],[8,"Layerable","","Reify a type into a `Layering`.",null,null],[10,"layering","","",57,{"inputs":[],"output":{"name":"layering"}}],[8,"HasTexture","","Trait to implement to provide texture features.",null,null],[16,"ATexture","","",58,null],[10,"new_texture","","Create a new texture.",58,{"inputs":[{"name":"size"},{"name":"u32"},{"name":"sampler"}],"output":{"name":"atexture"}}],[10,"free","","Destroy a texture.",58,{"inputs":[{"name":"atexture"}],"output":null}],[10,"clear_part","","Clear the texture’s texels by setting them all to the same value.",58,{"inputs":[{"name":"atexture"},{"name":"bool"},{"name":"offset"},{"name":"size"},{"name":"encoding"}],"output":null}],[10,"upload_part","","Upload texels to the texture’s memory.",58,{"inputs":[{"name":"atexture"},{"name":"bool"},{"name":"offset"},{"name":"size"},{"name":"vec"}],"output":null}],[11,"fmt","","",50,null],[11,"clone","","",50,null],[11,"fmt","","",51,null],[11,"clone","","",51,null],[11,"fmt","","",52,null],[11,"clone","","",52,null],[11,"fmt","","",53,null],[11,"clone","","",53,null],[11,"fmt","","",59,null],[11,"clone","","",59,null],[11,"dim","","",59,{"inputs":[],"output":{"name":"dim"}}],[11,"width","","",59,{"inputs":[{"name":"size"}],"output":{"name":"u32"}}],[11,"x_offset","","",59,{"inputs":[{"name":"offset"}],"output":{"name":"u32"}}],[11,"zero_offset","","",59,{"inputs":[],"output":{"name":"offset"}}],[11,"fmt","","",60,null],[11,"clone","","",60,null],[11,"dim","","",60,{"inputs":[],"output":{"name":"dim"}}],[11,"width","","",60,{"inputs":[{"name":"size"}],"output":{"name":"u32"}}],[11,"height","","",60,{"inputs":[{"name":"size"}],"output":{"name":"u32"}}],[11,"x_offset","","",60,{"inputs":[{"name":"offset"}],"output":{"name":"u32"}}],[11,"y_offset","","",60,{"inputs":[{"name":"offset"}],"output":{"name":"u32"}}],[11,"zero_offset","","",60,{"inputs":[],"output":{"name":"offset"}}],[11,"fmt","","",61,null],[11,"clone","","",61,null],[11,"dim","","",61,{"inputs":[],"output":{"name":"dim"}}],[11,"width","","",61,{"inputs":[{"name":"size"}],"output":{"name":"u32"}}],[11,"height","","",61,{"inputs":[{"name":"size"}],"output":{"name":"u32"}}],[11,"depth","","",61,{"inputs":[{"name":"size"}],"output":{"name":"u32"}}],[11,"x_offset","","",61,{"inputs":[{"name":"offset"}],"output":{"name":"u32"}}],[11,"y_offset","","",61,{"inputs":[{"name":"offset"}],"output":{"name":"u32"}}],[11,"z_offset","","",61,{"inputs":[{"name":"offset"}],"output":{"name":"u32"}}],[11,"zero_offset","","",61,{"inputs":[],"output":{"name":"offset"}}],[11,"fmt","","",62,null],[11,"clone","","",62,null],[11,"dim","","",62,{"inputs":[],"output":{"name":"dim"}}],[11,"width","","",62,{"inputs":[{"name":"size"}],"output":{"name":"u32"}}],[11,"height","","",62,{"inputs":[{"name":"size"}],"output":{"name":"u32"}}],[11,"depth","","",62,{"inputs":[{"name":"size"}],"output":{"name":"u32"}}],[11,"x_offset","","",62,{"inputs":[{"name":"offset"}],"output":{"name":"u32"}}],[11,"y_offset","","",62,{"inputs":[{"name":"offset"}],"output":{"name":"u32"}}],[11,"z_offset","","",62,{"inputs":[{"name":"offset"}],"output":{"name":"u32"}}],[11,"zero_offset","","",62,{"inputs":[],"output":{"name":"offset"}}],[11,"fmt","","",54,null],[11,"clone","","",54,null],[11,"fmt","","",55,null],[11,"clone","","",55,null],[11,"fmt","","",63,null],[11,"clone","","",63,null],[11,"layering","","",63,{"inputs":[],"output":{"name":"layering"}}],[11,"fmt","","",64,null],[11,"clone","","",64,null],[11,"layering","","",64,{"inputs":[],"output":{"name":"layering"}}],[11,"fmt","","",48,null],[11,"drop","","",48,null],[11,"new","","",48,{"inputs":[{"name":"size"},{"name":"u32"},{"name":"sampler"}],"output":{"name":"self"}}],[11,"from_raw","","",48,{"inputs":[{"name":"atexture"},{"name":"size"},{"name":"u32"}],"output":{"name":"self"}}],[11,"clear_part","","",48,null],[11,"clear","","",48,null],[11,"upload_part","","",48,null],[11,"upload","","",48,null],[11,"fmt","","",49,null],[11,"clone","","",49,null],[11,"default","","",49,{"inputs":[],"output":{"name":"self"}}],[0,"vertex","luminance","Vertex formats and associated types and functions.",null,null],[3,"VertexComponentFormat","luminance::vertex","A `VertexComponentFormat` gives hints about:",null,null],[12,"component_type","","",65,null],[12,"dim","","",65,null],[4,"Type","","Possible type of vertex components.",null,null],[13,"Integral","","",66,null],[13,"Unsigned","","",66,null],[13,"Floating","","",66,null],[13,"Boolean","","",66,null],[4,"Dim","","Possible dimension of vertex components.",null,null],[13,"Dim1","","",67,null],[13,"Dim2","","",67,null],[13,"Dim3","","",67,null],[13,"Dim4","","",67,null],[5,"vertex_format_size","","Retrieve the number of components in a `VertexFormat`.",null,{"inputs":[{"name":"vertexformat"}],"output":{"name":"usize"}}],[6,"VertexFormat","","A `VertexFormat` is a list of `VertexComponentFormat`s.",null,null],[8,"Vertex","","A type that can be used as a `Vertex` has to implement that trait – it must provide a mapping\nto `VertexFormat`.",null,null],[10,"vertex_format","","",68,{"inputs":[],"output":{"name":"vertexformat"}}],[11,"vertex_format","luminance::chain","",5,{"inputs":[],"output":{"name":"vertexformat"}}],[14,"chain!","luminance","If your compiler supports the `type_macros`*feature*, you can use this macro to create chains\nwithout the syntactic nesting boilerplate.",null,null]],"paths":[[4,"Equation"],[4,"Factor"],[3,"Buffer"],[4,"BufferError"],[8,"HasBuffer"],[3,"Chain"],[3,"Framebuffer"],[3,"Slot"],[4,"FramebufferError"],[8,"HasFramebuffer"],[8,"ColorSlot"],[8,"DepthSlot"],[3,"PixelFormat"],[4,"Type"],[4,"Format"],[8,"Pixel"],[3,"RGB8UI"],[3,"RGBA8UI"],[3,"RGB32F"],[3,"RGBA32F"],[3,"Depth32F"],[3,"FrameCommand"],[3,"ShadingCommand"],[3,"RenderCommand"],[8,"HasFrameCommand"],[3,"Program"],[4,"ProgramError"],[8,"HasProgram"],[3,"Stage"],[4,"Type"],[4,"StageError"],[8,"HasStage"],[8,"ShaderTypeable"],[3,"TessellationControlShader"],[3,"TessellationEvaluationShader"],[3,"VertexShader"],[3,"GeometryShader"],[3,"FragmentShader"],[3,"Uniform"],[4,"UniformName"],[8,"HasUniform"],[8,"Uniformable"],[6,"M22"],[6,"M33"],[6,"M44"],[3,"Tessellation"],[4,"Mode"],[8,"HasTessellation"],[3,"Texture"],[3,"Sampler"],[4,"Wrap"],[4,"Filter"],[4,"DepthComparison"],[4,"Dim"],[4,"CubeFace"],[4,"Layering"],[8,"Dimensionable"],[8,"Layerable"],[8,"HasTexture"],[3,"Dim1"],[3,"Dim2"],[3,"Dim3"],[3,"Cubemap"],[3,"Flat"],[3,"Layered"],[3,"VertexComponentFormat"],[4,"Type"],[4,"Dim"],[8,"Vertex"]]}; initSearch(searchIndex);